- Bộ điều khiển thời gian và logic - Sau khi được reset, CPU bắt đầu làm việc tại địa chỉ 0000h, là địa chỉ đầu được ghi trong thanh ghi chứa chương trình PC và sau đó, thanh ghi này sẽ
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA VẬT LÝ -
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Phạm Thị Diễm
Đà Nẵng, tháng 5/2013
Trang 2LỜI CẢM ƠN
Lời đầu tiên em xin gởi lời cảm ơn chân thành đến quý Thầy Cô khoa Vật lý, trường Đại học Sư phạm, Đại học Đà Nẵng đã nhiệt tình giảng dạy và truyền đạt những kiến thức, kinh nghiệm quý báu cho em trong suốt bốn năm học đại học làm nền tảng và tạo điều kiện cho em thực hiện được đề tài này
Em cũng xin được bày tỏ lòng biết ơn đến TS Lê Hồng Sơn và cô Nguyễn Thị Bảo Trâm đã tận tình hướng dẫn và cung cấp tài liệu trong suốt quá trình thực hiện đề tài khóa luận
Mặc dù đã cố gắng và nỗ lực hết mình, song khóa luận này có thể còn nhiều thiếu sót Em rất mong nhận được sự thông cảm và chỉ bảo tận tình của quý Thầy Cô
và các bạn
Phạm Thị Diễm
Trang 3DANH MỤC BẢNG VÀ HÌNH ẢNH
- Hình 1.1.1: Sơ đồ của vi điều khiển AT89C51
- Hình 1.1.2: Sơ đồ chân của AT89C51
- Hình 1.2.1: Sơ đồ chân của IC 74LS47
- Hình 1.2.2: Sơ đồ nguyên lý mạch hiển thị số trên LED 7 đoạn
- Hình 1.2.3: Giá trị hiển thị trên LED 7 đoạn
- Hình 2.3.3: Sơ đồ nguyên lý khối giải mã hiển thị
- Hình 2.3.4: Sơ đồ nguyên lý khối chuyển đổi ADC0804
- Hình 2.3.5: Sơ đồ khối nguồn
- Hình 2.4.1: Sơ đồ nguyên lý
- Hình 2.5.1: Mạch layout
- Hình 3.1.1: Lưu đồ thuật toán của chương trình chính
- Hình 3.1.2: Lưu đồ thuật toán của chương trình con Delay
- Hình 3.1.3: Lưu đồ thuật toán của chương trình con chuyển đổi
- Hình 3.1.4: Lưu đồ thuật toán của chương trình con hiển thị
- Bảng 1.1.1: Chức năng một số chân đặc biệt của Port 3
- Bảng 1.2.1: Bảng giá trị LOGIC giải mã của 7447 với đầu vào từ 0-15 đầu ra tương ứng hiển thị số 0-9 và kí tự đặc biệt – dùng cho mạch số không dùng vi xử lý
- Bảng 1.5.1: Bảng mã hiển thị LED 7 đoạn dành cho LED 7 đoạn có anode chung (các LED đơn sáng ở mức 0):
Trang 4- Bảng 1.5.2: Bảng mã hiển thị LED 7 đoạn dành cho LED 7 đoạn co cathode chung (các LED đơn sáng ở mức 1):
Trang 5PHẦN I: LỜI MỞ ĐẦU
1 Lý do chọn đề tài:
Ngày nay kỹ thuật vi điều khiển được sử dụng rộng rãi trong các dây chuyền sản xuất lớn cũng như các thiết bị gia dụng quen thuộc Với khả năng lập trình điều khiển linh hoạt, các chip vi điều khiển đã tạo nên những bước phát triển nhảy vọt trong lĩnh vực điều khiển tự động
Trong nghiên cứu khoa học, trong sản xuất cũng như trong đời sống sinh hoạt hằng ngày, luôn luôn cần xác định nhiệt độ của môi trường hay của một vật nào đó Vì vậy, việc đo nhiệt độ đã trở thành một việc làm rất cần thiết Nhận thức được tầm quan trọng của vấn đề này, em đã tiến hành nghiên cứu và thực hiện đề tài “Thiết kế mạch
đo nhiệt độ sử dụng vi điều khiển” cho khóa luận của mình
Đề tài này tuy không mới nhưng giúp em có thể hiểu rõ hơn về cấu trúc bên trong, nguyên lý hoạt động và cách lập trình cho vi xử lý Đây cũng là một cơ hội để
em nắm vững kiến thức hơn, đồng thời ứng dụng được những nội dung lý thuyết đã học để tạo ra sản phẩm có ích cho cuộc sống xã hội
Đề tài khóa luận này bước đầu nghiên cứu một ứng dụng đơn giản vi điều khiển trong thực tế để rồi từ đó thiết kế, phát triển những ứng dụng lớn hơn và hữu ích trong cuộc sống hằng ngày
Trang 6PHẦN II: CẤU TRÚC LUẬN VĂN
Ngoài những phần mở đầu, kết luận và tài liệu tham thảo luận văn gồm có:
CHƯƠNG I: Tìm hiểu về AT89C51 và các linh kiện
CHƯƠNG II: Thiết kế mạch đo nhiệt độ ứng dụng vi điều khiển
CHƯƠNG III: Chương trình
PHẦN III: ĐỐI TƯỢNG, NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU
1 Các đối tượng và phạm vi nghiên cứu:
1.1 Đối tượng:
- Các tài liệu về linh kiện và các IC liên quan
- Các tài liệu liên quan đến thiết kế mạch và lắp ráp mạch
1.2 Phạm vi:
Phạm vi nghiên cứu của đề tài này là lý thuyết về các linh kiện được sử dụng trong mạch, nguyên lý hoạt động của “Mạch đo nhiệt độ” và xây dựng mô hình mạch thực tế
2 Nhiệm vụ nghiên cứu:
Để đạt được các mục đích đề ra thì đề tài cần thực hiện các nhiệm vụ sau:
- Nghiên cứu cơ sở lý thuyết về vi điều khiển và các linh kiện liên quan để phục vụ cho quá trình thiết kế mạch
- Xây dựng một mô hình “Mạch đo nhiệt độ” có tính thực tế cao đúng với mục đích đề ra
- Thiết kế mạch đo nhiệt độ trong dải từ 0oC đến 99oC hiển thị số
- Viết chương trình (phần mềm) và thiết lập phần cứng cho mạch đo nhiệt độ
3 Phương pháp nghiên cứu lý thuyết:
- Nghiên cứu về việc ứng dụng mạch đo nhiệt độ trong thực tế
- Nghiên cứu về các linh kiện, dụng cụ lắp ráp mạch, sơ đồ nguyên lý và
nguyên lý hoạt động của mạch
- Nghiên cứu về các phương pháp đo nhiệt độ
Trang 7NỘI DUNG CHƯƠNG I: TÌM HIỂU VỀ AT89C51 VÀ CÁC LINH KIỆN
1.1 Vi điều khiển AT89C51:
1.1.1 Ưu nhược điểm của việc chọn vi điều khiển làm bộ xử lý trung tâm:
Ưu điểm:
- Vi điều khiển có khả năng điều khiển linh hoạt theo mong muốn của người
sử dụng dựa vào phần mềm được viết
- Có thể thay đổi thêm chức năng bằng cách thay đổi phần mềm
- Hệ thống đơn giản, kích thước nhỏ
- Giá thành phù hợp với khả năng tài chính
Nhược điểm:
- Chất lượng của hệ thống phụ thuộc vào chất lượng chương trình được nạp cho vi điều khiển
1.1.2 Sơ đồ của vi điều khiển AT89C51:
Hình 1.1.1: Sơ đồ của vi điều khiển AT89C51
Trang 81.1.3 Chức năng của từng khối:
Khối xử lý trung tâm CPU:
Phần chính của bộ vi xử lý là khối xử lý trung tâm khối này có chứa các thành phần chính:
- Thanh chứa ACC (ký hiệu là A)
- Thanh ghi chứa phụ (ký hiệu là B) thường được dùng cho phép nhân và phép chia
- Khối logic số học (ALU-Arithmetic Logical Unit)
- Từ trạng thái chương trình (PSW-Program Status Word)
- Bốn băng thanh ghi (Blank)
- Con trỏ ngăn xếp SP cũng như con trỏ dữ liệu để định địa chỉ cho bộ nhớ dữ liệu ở bên ngoài
- Ngoài ra, khối xử lý trung tâm còn chứa:
- Thanh ghi đếm chương trình (PC- Program Counter)
- Bộ giải mã lệnh
- Bộ điều khiển thời gian và logic
- Sau khi được reset, CPU bắt đầu làm việc tại địa chỉ 0000h, là địa chỉ đầu được ghi trong thanh ghi chứa chương trình (PC) và sau đó, thanh ghi này sẽ tăng lên 1 đơn vị và chỉ đến các lệnh tiếp theo của chương trình
Bộ tạo dao động:
Khối xử lý trung tâm nhận trực tiếp xung nhịp từ bộ tạo dao động được lắp thêm vào, linh kiện phụ trợ có thể là một khung dao động làm bằng tụ gốm hoặc thạch anh Ngoài ra, còn có thể đưa 1 tín hiệu giữ nhịp từ bên ngoài vào
Khối điều khiển ngắt:
Chương trình đang chạy có thể cho dừng lại nhờ 1 khối logic ngắt ở bên trong Các nguồn ngắt có thể là các biến cố ở bên ngoài, sự tràn bộ đếm, bộ định thời hay có thể
là giao diện nối tiếp Tất cả các ngắt đều có thể thiết lập chế độ làm việc thông qua hai thanh ghi IE (Iterrupt Enable) và IP (Iterrupt Priority)
Khối điều khiển và quản lý Bus:
Trang 9Các khối trong vi điều khiển liên lạc với nhau thông qua hệ thống bus nội bộ được điều khiển bởi khối điều khiển quản lý bus
Các bộ đếm/ định thời:
Vi điều khiển 8051 có chứa hai bộ đếm tiền 16 bit có thể hoạt động như là bộ định thời hay bộ đếm sự kiện bên ngoài hoặc như bộ phát tốc độ Baud dùng cho giao diện nối tiếp Trạng thái tràn bộ đếm có thể được kiểm tra trực tiếp hoặc được xóa đi bằng 1 ngắt
Các cổng vào/ ra:
Vi điều khiển 8051 có 4 cổng vào/ ra (P0, P1, P2, P3), mỗi cổng chứa 8 bit, độc lập với nhau Các cổng này có thể được sử dụng cho những mục đích điều khiển rất đa dạng Ngoài chức năng chung, một số cổng còn đảm nhận thêm một số chức năng đặc biệt khác
Giao diện nối tiếp:
Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ làm việc độc lập với nhau Bằng cách đấu nối các bộ đệm thích hợp ta có thể hình thành 1 cổng nối tiếp RS-232 đơn giản Tốc độ truyền qua cổng nối tiếp có thể đặt được trong 1 vùng rộng phụ thuộc vào 1 bộ định thời và tần số dao động riêng của thạch anh
1.1.4 Sơ đồ và chức năng các chân của IC AT89C51:
1.1.4.1 Sơ đồ chân của AT89C51:
IC AT89C51 có tất cả 40 chân có chức năng như các đường xuất nhập Trong
đó, có 24 chân có tác dụng kép (có nghĩa một chân có hai chức năng), mỗi đường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của
Trang 10các bus dữ liệu và bus địa chỉ Mặt khác, khối này được lập trình để điều khiển các khối con của mạch
Hình 1.1.2: Sơ đồ chân của AT89C51
1.1.4.2 Chức năng của các chân:
- Port 0 (P0.0 – P0.7 hay chân 32 – 39): ngoài chức năng xuất nhập (I/O) ra thì Port 0 còn là bus đa hợp dữ liệu và địa chỉ (AD0 – AD7), chức năng này sẽ được sử dụng khi AT89C51 giao tiếp với thiết bị ngoài có kiến trúc bus
- Port 1 (P1.0 – P1.7 hay chân 1 – 8): chỉ có chức năng xuất nhập theo bit và byte, không dùng cho mục đích khác
- Port 2 (P2.0 – P2.7 hay chân 21 – 28): đây là port có 2 chức năng Đó là chức năng xuất nhập và chức năng địa chỉ Đối với chức năng địa chỉ: dùng làm 8 bit địa chỉ cao khi cần bộ nhớ ngoài có địa chỉ 16 bit Khi đó, port 2 không được dùng cho mục đích I/O
Trang 11- Port 3 (P3.0 – P3.7 hay chân 10 – 17): mỗi chân trên port 3 ngoài chức năng xuất nhập ra còn có một số chân đặc biệt sau:
Bảng 1.1.1: Chức năng một số chân đặc biệt của Port 3
- RST (Reset – chân 9): là ngõ vào Reset dùng để thiết lập thông số ban đầu cho vi điều khiển Hệ thống sẽ được thiết lập lại các giá trị ban đầu nếu ngõ này ở mức 1 tối thiểu 2 chu kỳ máy
- XTAL 1, XTAL 2: AT89C51 có một bộ dao động trên chip, nó thường nối với một bộ dao động thạch anh có tần số lớn nhất là 33MHz, thông thường là 12MHz
Chu kì máy : Tck ≈ 12.T
Với T: chu kỳ của nguồn xung dao động cấp cho vi điều khiển
Tck: chu kỳ máy
Nếu tần số mạch là 12MHz thì chu kỳ máy là 1µs
- EA (External Access): thường được mắc lên mức cao (5V) hoặc mức thấp (GND) Nếu ở mức cao bộ vi điều khiển thi hành chương trình từ ROM nội Nếu ở mức thấp thì chương trình được thi hành từ bộ nhớ mở rộng
- ALE (Address Latch Enable): là tín hiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong nửa chu kỳ đầu của chu kỳ bộ nhớ Sau đó, các đường Port 0 dùng để xuất nhập dữ liệu trong nửa chu kỳ sau của bộ nhớ
Trang 12- PSEN (Program Store Enable): PSEN là điều khiển để cho phép bộ nhớ chương trình mở rộng và thường được nối với chân OE (Output Enable) của một EPROM để cho phép đọc các byte mã lệnh PSEN ở mức thấp trong thời gian đọc lệnh Các mã nhị phân của chương trình được đọc từ EPROM qua bus và được chốt vào thanh ghi lệnh của bộ vi điều khiển để giải mã lệnh Khi thi hành chương trình trong ROM nội thì PSEN sẽ ở mức cao
- VCC, GND : AT89C51 dùng nguồn một chiều có dải điện áp từ 4V – 5,5V được cấp qua chân 40 (VCC) và chân 20 (GND)
1.1.5 Tập lệnh trong 89C51 :
Nhóm lệnh xử lý toán học: “(số byte, chu kỳ máy)”:
Vd: ADD A,data (2,1): Cộng trực tiếp vào thanh ghi A
ADD A,@Ri (1,1) : Cộng gián tiếp nội dung RAM chứa tại địa chỉ được
khai báo trong Ri vào thanh ghi A
ADD A,#data (2,1) : Cộng dữ liệu tức thời vào A
ADD A,Rn (1,1) : Cộng thanh ghi và cờ nhớ vào A
ADD A,data (2,1) : Cộng trực tiếp byte dữ lệu và cờ nhớ vào A
ADDC A,@Ri (1,1) : Cộng gián tiếp nội dung RAM và cờ nhớ vào A
ADDC A,#data (2,1) : Cộng dữ liệu tức thời và cờ nhớ vào A
SUBB A,Rn (1,1) : Trừ nội dung thanh ghi A cho nội dung thanh ghi Rn và
cờ nhớ
SUBB A,data (2,1) : Trừ trực tiếp A cho một số và cờ nhớ
SUBB A,@Ri (1,1) : Trừ gián tiếp A cho một số và cờ nhớ
SUBB A,data (2,1) : Trừ nội dung A cho một số tức thời và cờ nhớ
INC Rn (1,1) : Tăng nội dung thanh ghi Rn lên 1
INC data (2,1) : Tăng dữ liệu trực tiếp lên 1
INC @Ri (1,1) : Tăng gián tiếp vùng RAM lên 1
DEC A (1,1) : Giảm nội dung thanh ghi A xuống 1
Trang 13DEC Rn (1,1) : Giảm nội dung thanh ghi Rn xuống 1
DEC data (2,1) : Giảm dữ liệu trực tiếp xuống 1
DEC @Ri (1,1) : Giảm gián tiếp nội dung vùng RAM xuống 1
INC DPTR (1,2) : Tăng nội dung con trỏ dữ liệu lên 1
MUL AB (1,4) : Nhân nội dung thanh ghi A cho nội dung thanh ghi B DIV AB (1,4) : Chia nội dung thanh ghi A cho nội dung thanh ghi B
ANL A,#data (2,1) : AND nội dung thanh ghi với dữ liệu tức thời
ANL data,A (2,1) : AND một dữ liệu trực tiếp với A
ANL data,#data (3,2) : AND một dữ liệu trực tiếp với A một dữ liệu tức thời ANL C,bit (2,2) : AND cờ nhớ với một bit trực tiếp
ANL C,/bit (2,2) : AND cờ nhớ với bù 1 bit trực tiếp
ORL A,Rn (1,1) : OR thanh ghi A với thanh ghi Rn
ORL A,data (2,1) : OR thanh ghi A với một dữ liệu trực tiếp
ORL A,@Ri (1,1) : OR thanh ghi A với một dữ liệu gián tiếp
ORL A,#data (2,1) : OR thanh ghi A với một dữ liệu tức thời
ORL data,A (2,1) : OR một dữ liệu trực tiếp với thanh ghi A
ORL data,#data (2,1) : OR một dữ liệu trực tiếp với một dữ liệu tức thời
ORL C,bit (2,2) : OR cờ nhớ với một bit trực tiếp
ORL C,/bit (2,2) : OR cờ nhớ với bù của một bit trực tiếp
XRL A,Rn (1,1) : XOR thanh ghi A với thanh ghi Rn
XRL A,data (2,1) : XOR thanh ghi A với một dữ liệu trực tiếp
XRL A,@Ri (1,1) : XOR thanh ghi A với một dữ liệu gián tiếp
XRL A,#data (2,1) : XOR thanh ghi A với một dữ liệu tức thời
XRL data,A (2,1) : XOR một dữ liệu trực tiếp với thanh ghi A
XRL data,#data (3,1) : XOR một dữ liệu trực tiếp với một dữ liệu tức thời
Trang 14SETB C (1,1) : Đặt cờ nhớ
SETB bit (2,1) : Đặt một bit trực tiếp
CLR A (1,1) : Xóa thanh ghi A
CPL A (1,1) : Bù nội dung thanh ghi A
CPL bit (2,1) : Bù một bit trực tiếp
RRC A (1,1) : Quay trái nội dung thanh ghi A có cờ nhớ
SWAP (1,1) : Quay trái nội dung thanh ghi A 1 nibble(1/2 byte)
Nhóm lệnh chuyển dữ liệu:
MOV A,Rn (1,1) : Chuyển nội dung thanh ghi Rn vào thanh ghi A
MOV A,data (2,1) : Chuyển dữ liệu trực tiếp vào thanh ghi A
MOV A,@Ri (1,1) : Chuyển dữ liệu gián tiếp vào thanh ghi A
MOV A,#data (2,1) : Chuyển dữ liệu tức thời vào thanh ghi A
MOV Rn,data (2,2) : Chuyển dữ liệu trực tiếp vào thanh ghi Rn
MOV Rn,#data (2,2) : Chuyển dữ liệu tức thời vào thanh ghi Rn
MOV data,A (2,1) : Chuyển nội dung thanh ghi A vào một dữ liệu trực tiếp MOV data,Rn (2,2) : Chuyển nội dung thanh ghi Rn vào một dữ liệu trực
tiếp
MOV data,data (2,2) : Chuyển một dữ liệu trực tiếp vào một dữ liệu trực tiếp MOV data,@Ri (2,2) : Chuyển một dữ liệu gián tiếp vào một dữ liệu gián tiếp MOV data,#data(3,2) : Chuyển một dữ liệu tức thời vào một dữ liệu trực tiếp MOV @Ri,A (1,1) : Chuyển nội dung thanh ghi A vào một dữ liệu gián tiếp MOV @Ri,data (1,1) : Chuyển một dữ liệu trực tiếp vào một dữ liệu gián tiếp MOV @Ri,#data(1,1) : Chuyển một dữ liệu tức thời vào một dữ liệu gián tiếp MOV DPTR,#data(3,2): Chuyển một hằng 16 bit vào thanh ghi con trỏ dữ liệu MOV C,bit (2,1) : Chuyển một bit trực tiếp vào cờ nhớ
Trang 15MOV bit,C (2,2) : Chuyển cờ nhớ vào một bit trực tiếp
MOV A,@A+DPTR(1,2): Chuyển byte bộ nhớ chương trình có địa chỉ là
@A+DPTR vào thanh ghi A
MOVC A,@A+PC(1,2) : Chuyển byte bộ nhớ chương trình có địa chỉ là @A+PC
vào thanh ghi A
MOV A,@Ri (1,2) : Chuyển dữ liệu ngoài (8 bit địa chỉ) vào thanh ghi A MOVX A,@DPTR(1,2): Chuyển dữ liệu ngoài (16 bit địa chỉ) vào thanh ghi A MOVX @Ri,A (1,2) : Chuyển nội dung A ra dữ liệu ngoài (8 bit địa chỉ) MOVX @DPTR,A (1,2): Chuyển nội dung A ra dữ liệu bên ngoài (16 bit địa chỉ) PUSH data (2,2) : Chuyển dữ liệu trực tiếp vào ngăn xếp và tăng SP POP data (2,2) : Chuyển dữ liệu trực tiếp vào ngăn xếp và giảm SP XCH A,Rn (1,1) : Trao đổi dữ liệu giữa thanh ghi Rn Và thanh ghi A XCH A,data (2,1) : Trao đổi giữa thanh ghi A với dữ liệu trực tiếp
XCH A,@Ri (1,1) : Trao đổi giữa thanh ghi A với dữ liệu gián tiếp
XCHD,@R (1,1) : Trao đổi giữa nibble thấp (LSN) của thanh ghi A và
LSN của dữ liệu gián tiếp
Nhóm lệnh chuyền điều khiển:
ACALL addr11 (2,2) : Gọi chương trình con dùng địa chỉ tuyệt đối
LCALL addr16 (3,2) : Gọi chương trình con dùng địa chỉ dài
AJMP addr11 (2,2) : Nhảy tuyệt đối
LJMP addr16 (3,2) : Nhảy dài
SJMP rel (2,2) : Nhảy ngắn
JMP @A+DPTR (1,2) : Nhảy gián tiếp từ con trỏ dữ liệu
JNC rel (2,2) : Nhảy nếu cờ nhớ không được đặt
JB bit, rel (3,2) : Nhảy tương đối nếu bit trực tiếp được đặt
Trang 16JNB bit,rel (3,2) : Nhảy tương đối nếu bit trực tiếp không được đặt
JBC bit,rel (3,2) : Nhảy tương đối nếu bit trực tiếp được đặt rồi xóa bit CJNE A,data,rel (3,2) : So sánh dự liệu trực tiếp với A và nhảy nếu không bằng CJNE A,#data,rel(3,2) : So sánh dữ liệu tức thời với A và nhảy nếu không bằng CJNE Rn,#data,rel(3,2): So sánh dữ liệu tức thời với nội dung thanh ghi Rn và
nhảy nếu không bằng
CJNE @Ri,#data,rel(3,2): So sánh dữ liệu tức thời với dữ liệu gián tiếp và nhảy
nếu không bằng
DJNZ Rn,rel (3,2) : Giảm thanh ghi Rn và nhảy nếu không bằng
DJNZ data,rel (3,2) : Giảm dữ liệu trực tiếp và nhảy nếu không bằng
1.2 IC giải mã 74LS47:
Hình 1.2.1: Sơ đồ chân của IC 74LS47
IC 74LS47 là IC có chức năng giải mã được sử dụng phổ biến trong điện tử số
IC này được ứng dụng khi cần hiển thị số trên LED 7 đoạn trong mạch số mà không cần dùng vi xử lí hoặc muốn tiết kiệm chân
Bên trong IC là các cổng NAND, các bộ đệm ngõ vào, và 7 cổng chuyển đổi AND-OR 7 cổng NAND kết hợp với một bộ lái để tạo ra mã BCD cho việc giải mã 7 cổng chuyển đổi AND-OR Ngoài ra còn có thêm 3 cổng đệm ngõ vào dùng cho việc thử đèn , ngõ vào xóa/ngõ ra xóa dợn sóng và ngõ vào xóa dợn sóng IC này chỉ dành cho việc giải mã BCD, nếu không phải thì không giải mã và số sẽ hiển thị không đúng
Trang 17Dữ liệu lần lượt được đưa vào các chân A,B,C,D của IC và tín hiệu ra là các
đầu a,b,c,d,e,f,g
RBI là ngõ xóa gợn sóng
LT là ngõ thử đèn
BI/RBO là ngõ vào xóa
Hình 1.2.2: Sơ đồ nguyên lý mạch hiển thị số trên LED 7 đoạn
Khi các ngõ ra mạch giải mã tác động ở mức thấp (0) thì LED tương ứng sáng
Ngoài 10 số từ 0 đến 9 được giải mã, mạch cũng còn giải mã được 6 trạng thái
khác nhưng ở đây không dùng đến
Để hoạt động giải mã diễn ra bình thường thì chân LT và BI/RBO phải được
thiết lập ở mức cao
Muốn thử đèn led để các LED đều sáng hết thì kéo chân LT xuống thấp
Muốn xóa các số (tắt hết LED) thì kéo chân BI xuống thấp
Trang 18Bảng 1.2.1: Bảng giá trị LOGIC giải mã của 7447 với đầu vào từ 0-15 đầu ra tương ứng hiển thị số 0-9 và kí tự đặc biệt – dùng cho mạch số không dùng vi xử lý
Chức năng :
- Một trong những IC phổ biến trong điện tử số Có rất nhiều kí hiệu khác nhau tùy thuộc vào hãng và khả năng đáp ứng như: 74HC47, 74HCT47, 74LS47
- Mô tả cách thức hoạt động như sau:
+ Port A, B, C, D : đầu vào của 7447, nhận các giá trị theo nhị phân (BCD) từ 0 tới 15, tương ứng với mỗi giá trị nhận được sẽ giải mã ra đầu ra Q tương ứng
+ Port QA-QG : Nối trực tiếp led 7 đoạn với QA=a, QB=b, QC=c, QD=d, QE=e, QF=f, QG=g, giá trị hiển thị trên led 7 đoạn phụ thuộc vào giá trị đầu vào Port
A, B, C, D theo bảng sau :
Hình 1.2.3: Giá trị hiển thị trên LED 7 đoạn
Trang 191.3 Cảm biến nhiệt LM35:
Hình 1.3.1: Cảm biến nhiệt LM35
Các đặc điểm chung của cảm biến nhiệt độ LM35 như sau:
- Chân 1: Chân nguồn đầu vào Vcc
- Chân 2: Chân đầu ra Vout
- Chân 3: Chân nối GND
Cảm biến LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius Chúng cũng không yêu cầu cân chỉnh ngoài vì vốn chúng đã được cân chỉnh
- Đặc điểm chính của LM35:
+ Điện áp đầu vào từ 4V đến 30V
+ Độ phân giải điện áp đầu ra là 10mV /0 C
+ Độ chính xác cao: ở 25 0C, sai số không quá 0.50 C
+ Trở kháng đầu ra thấp
+ LM35 có độ biến thiên điện áp đầu ra là 10mV/10 C
Dải nhiệt độ đo được của LM35 là từ -55 ̊ C đến 1500 C với các mức điện áp ra khác nhau
- Xét một số mức điện áp sau:
+ Nhiệt độ -550C điện áp đầu ra là -550mV
+ Nhiệt độ 250C điện áp đầu ra là 250mV
+ Nhiệt độ 1500C điện áp đầu ra là 1500mV
Trang 20Tùy theo cách mắc của LM35 để ta đo các dải nhiệt độ phù hợp Đối với hệ thống này thì đo từ 00C đến 990C
- Thông số kỹ thuật:
+ Tiêu tán công suất thấp
+ Dòng làm việc 138μA đến 141μA
+ Khoảng điện áp làm việc là 4 – 30V
+ Sai số dòng tĩnh là 3μA
+ Sự thay đổi dòng theo nhiệt độ là 0.7μA/ 0C
1.4 Bộ chuyển đổi ADC 0804:
Chip ADC0804 là bộ chuyển đổi tương tự sang số thuộc họ ADC800 của hãng National Semiconductor Chip này cũng được nhiều hãng khác sản xuất Chip có điện
áp nuôi +5V và độ phân giải 8 bit
Để kết nối giữa nguồn tín hiệu tương tự với các hệ thống xử lý số người ta dùng các mạch chuyển đổi tương tự số (ADC) nhằm biến đổi tín hiệu tương tự sang tín hiệu
số Chip ADC được sử dụng rộng rãi trong thực tế là ADC0804
Hình 1.4.1: Hình dạng thực tế ADC0804 Ngoài độ phân giải thì thời gian chuyển đổi cũng là một tham số quan trọng khi đánh giá bộ ADC Thời gian chuyển đổi được định nghĩa là thời gian mà bộ ADC cần để chuyển một đầu vào tương tự thành một số nhị phân Đối với ADC0804 thì thời gian chuyển đổi phụ thuộc vào tần số đồng hồ được cấp tới chân CLK R và CLK IN
và không bé hơn 110µs