1.1.1.Tìm hiểu chung về hệ thống.Nội dung đề tài: “ Ứng dụng họ vi điều khiển 8051 ghép nối 4 LED 7 thanh để hiển thị số đo nhiệt độ dùng vi mạch LM35, ADC0808, khoảng đo 55 ÷ 125 °C ”.•Với yêu cầu của đề tài thì hệ thống gồm có.Vi điều khiển AT89C51: Thiết bị chính dùng để điều khiển ADC0808 đọc chuyển đổi dữ liệu, sau đó xử lý tính toán và xuất dữ liệu ra LED 7 thanh.ADC0808: Dùng để chuyển đổi tín hiệu điện áp thành tín hiệu số đưa vào vi điều khiển.Vi mạch LM35: Đo giá trị nhiệt độ và chuyển thành các mức điện áp khác nhau tương ứng với sự tăng của nhiệt độ.Mạch truyền thông chuẩn RS_232: Dùng IC Max232 để chuyển đổi mức logic giữa vi điều khiển và máy tính. 4 LED bảy thanh: Hiển thị giá trị nhiệt độ đo được từ cảm biến LM352 loa cảnh báo: Cảnh báo khi có sự thay đổi của nhiệt độ khác với giá trị đặt.2 nút ấn START, STOP: Bắt đầu và dừng quá trình đo nhiệt độ.•Phân tích giới hạn của đề tài.Với nội dung chính của đề tài là để đo nhiệt độ nằm trong khoảng từ 55°C ÷ 125 °C, không phải là ứng dụng lớn nên ta dùng vi điều khiển AT89C51 không cần ghép nối thêm bộ nhớ ngoàiCảm biến nhiệt độ LM35 với dải nhiệt độ đo được từ 55 ÷ 150 °C, độ chính xác cao, sai số chỉ nằm trong khoảng 0.5°CADC0808 với độ phân giải 8bit cho độ chính xác cao khi thực hiện quá trình chuyển đổi dữ liệu.
Trang 1M c L c ục Lục ục Lục
Lời nói đầu 2
CHƯƠNG 1: PHÂN TÍCH YÊU CẦU CÔNG NGHỆ 3
1.1.Phân tích và giới hạn về đặc điểm của các thiết bị 3
1.1.1.Tìm hiểu chung về hệ thống 3
1.1.2 Các đặc điểm chính của các thiết bị 3
1.2.Vi mạch LM35 và ADC0808 9
1.2.1.Vi mạch LM35 9
1.2.2 Giới thiệu về ADC0808 10
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 14
2.1 Tính toán lựa chọn thiết bị 14
2.1.1 Vi điều khiển 89C51 14
2.1.2 Vi mạnh LM 35 15
2.1.3 Led bảy thanh 15
2.1.4 IC Max232 19
2.2 Giao tiếp giữa VĐK 8051 với LM35 và ADC0808: 19
2.2.1 ADC0808 và LM35 19
2.2.2 VĐK 8051 và ADC0808 22
2.3Xây mạch nguyên lý và thuyết minh 24
2.3.1.Mạch nguyên lý 24
2.3.2.Thuyết minh hoạt động: 26
2.4.Xây dựng thuật toán 27
2.4.1.Chương trình con phục vụ ngắt 27
2.4.2 Chương trình con khởi tạo và đọc số liệu 28
2.4.3 Chương trình con tính toán nhiệt độ 29
2.4.4 Chương trình con hiển thị nhiệt độ dương 30
2.4.5 Chương trình con hiển thị nhiệt độ âm 31
2.5.Chương trình điều khiển 32
CHƯƠNG 3: KẾT LUẬN 41
Tài liệu tham khảo: 41
Trang 2Lời Nói Đầu
Với sự tiến bộ của con người, với sự phát triển của khoa học kỹ thuật thì cácnghành công nghiệp phát triển mạnh mẽ, các hệ thống ứng dụng ra đời, điều đó cũngđặt ra yêu cầu cao về chất lượng, độ chính xác Một trong những hệ thống được ứngdụng nhiều nhất là: hệ thống đo điều khiển và hiển thị ra led 7 thanh.Các hệ thốngđang ngày dần được tự động hóa với những kỹ thuật như vi xử lý, vi điều khiển…đang ngày một làm cho các bộ tự động dần trở nên tốt hơn đảm bảo yêu cầu hơn.Trong quá trình sản xuất ở các nhà máy,xí nghiệp; quá trình điều khiển nhiệt độtrong các phòng, hội nghị, các khu chung cư, việc đo và khống chế nhiệt độ tự động làyêu cầu hết sức cần thiết và quan trọng Vì nếu nắm bắt được nhiệt độ làm việc củacác hệ thống, dây chuyền sản xuất… thì giúp chúng ta biết được tình trạng làm việctheo yêu cầu và có những xử lý kịp thời để tránh hư hỏng và giải quyết các sự cố sảyra.Yêu cầu của các hệ thống là phải đảm bảo chính xác, kịp thời và nhanh, hệ thốnglàm việc ổn định ngay cả khi có nhiễu và do tác động khác
Trang 3CHƯƠNG I: PHÂN TÍCH YÊU CẦU CÔNG
NGHỆ
1.1 Phân tích và giới hạn về đặc điểm của các thiết bị.
1.1.1. Tìm hiểu chung về hệ thống.
Nội dung đề tài: “ Ứng dụng họ vi điều khiển 8051 ghép nối 4 LED 7 thanh để hiển
thị số đo nhiệt độ dùng vi mạch LM35, ADC0808, khoảng đo [-55 ÷ 125 ]°C ”
Với yêu cầu của đề tài thì hệ thống gồm có.
- Vi điều khiển AT89C51: Thiết bị chính dùng để điều khiển ADC0808đọc chuyển đổi dữ liệu, sau đó xử lý tính toán và xuất dữ liệu ra LED 7thanh
- ADC0808: Dùng để chuyển đổi tín hiệu điện áp thành tín hiệu số đưavào vi điều khiển
- Vi mạch LM35: Đo giá trị nhiệt độ và chuyển thành các mức điện ápkhác nhau tương ứng với sự tăng của nhiệt độ
- Mạch truyền thông chuẩn RS_232: Dùng IC Max232 để chuyển đổi mứclogic giữa vi điều khiển và máy tính
- 4 LED bảy thanh: Hiển thị giá trị nhiệt độ đo được từ cảm biến LM35
- 2 loa cảnh báo: Cảnh báo khi có sự thay đổi của nhiệt độ khác với giá trịđặt
- 2 nút ấn START, STOP: Bắt đầu và dừng quá trình đo nhiệt độ
Phân tích giới hạn của đề tài.
- Với nội dung chính của đề tài là để đo nhiệt độ nằm trong khoảng từ[-55°C ÷ 125 °C], không phải là ứng dụng lớn nên ta dùng vi điều khiểnAT89C51 không cần ghép nối thêm bộ nhớ ngoài
- Cảm biến nhiệt độ LM35 với dải nhiệt độ đo được từ -55 ÷ 150 °C, độchính xác cao, sai số chỉ nằm trong khoảng 0.5°C
- ADC0808 với độ phân giải 8bit cho độ chính xác cao khi thực hiện quátrình chuyển đổi dữ liệu
1.1.2 Các đặc điểm chính của các thiết bị.
a.Đặc điểm chính của vi điều khiển AT89C51.
- Sơ đồ khối:
Trang 4Hình1.1: Sơ đồ khối của AT89C51
Trang 5Hình 1.2: Sơ đồ chân của AT89C51
Chức năng các chân của AT89C51.
- 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 1 chân có 2 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 các bus dữ liệu và bus địa chỉ a.Các Port: Port 0 :
- Port 0 là port có 2 chức năng ở các chân 32 – 39 của 8951 Trong các thiết kế
cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường IO Đối với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ và bus dữ liệu
- Port 1:là port IO trên các chân 1-8 Các chân được ký hiệu P1.0, P1.1, P1.2,
… có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần Port 1 không có chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị bên ngoài
- Port 2 : - Port 2 là 1 port có tác dụng kép trên các chân 21 - 28 được dùng như các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng
-Port 3: - Port 3 là port có tác dụng kép trên các chân 10 - 17 Các chân của port này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của 8951 như ở bảng sau:
Bảng 1.1: Chức năng của Port3
Trang 6 Các ngõ tín hiệu điều khiển :
Ngõ tín hiệu PSEN (Program store enable):
- PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương trình mở rộng thường được nói đến chân 0E\ (output enable) của Eprom cho phép đọc các byte mã lệnh
- PSEN ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh Các mã lệnhcủa chương trình được đọc từ Eprom qua bus dữ liệu và được chốt vào thanh ghi lệnh bên trong 8951 để giải mã lệnh Khi 8951 thi hành chương trình trong ROM nội PSEN sẽ ở mức logic 1
Ngõ tín hiệu điều khiển ALE (Address Latch Enable ) :
- Khi 8951 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và
dữ liệu khi kết nối chúng với IC chốt
- Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động Các xung tín hiệu ALE
có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống Chân ALE được dùng làm ngõ vào xung lập trình cho Eprom trong 8951
Ngõ tín hiệu EA\(External Access):
- Tín hiệu vào EA\ ở chân 31 thường được mắc lên mức 1 hoặc mức 0 Nếu ở mức 1, 8951 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp 8 Kbyte Nếu ở mức 0, 8951 sẽ thi hành chương trình từ bộ nhớ mở rộng Chân EA\ được lấy làm chân cấp nguồn 21V khi lập trình cho Eprom trong 8951
Ngõ tín hiệu RST (Reset) :
Ngõ vào RST ở chân 9 là ngõ vào Reset của 8951 Khi ngõ vào tín hiệu này đưa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong được nạp những giá trị thích hợp để khởi động hệ thống Khi cấp điện mạch tự động Reset
Các ngõ vào bộ dao động X1, X2:
- Bộ dao động được tích hợp bên trong 8951, khi sử dụng 8951 người thiết kế chỉ cần kết nối thêm thạch anh và các tụ như hình vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho 8951 là 12Mhz
Trang 7- Chân 40 (Vcc) được nối lên nguồn 5V
b.Led 7 thanh.
LED 7 được cấu tạo từ các LED đơn sắp xếp theo các thanh nét để có thểbiểu diễn các chữ số hoặc các kí tự đơn giản như từ số 0 đến 9 và A đến F.LED 7 thanh dùng để hiện số thì rất đẹp và dễ nhìn Tùy vào kích thước của số
và kí tự mà mỗi thanh được cấu tạo bởi một hay nhiều LED đơn Các LED đơn
đó được ghép và được đặt tên bằng các chữ cái a g và có một dấu chấm dot( dấu chấm này có thể sáng và tắt tùy theo yêu cầu) được cấu tạo bởi 1 LEDđơn Qua đó người ta chỉ cần 8 bit tương ứng với 8 LED đơn để điều khiểnđược và hiện thị số từ 0 đến 9 và các kí tự từ A đến F
cá nhân có vài cổng RS232( cổng com) có thể sử dụng nối các thiết bị ngoại vi hoặcvới các máy tính khác
Ưu điểm của giao diện nối tiếp RS232
+ Khả năng chống nhiễu của các cổng nối tiếp cao
+ Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện
+ Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối tiếp
Những đặc điểm cần lưu ý trong chuẩn RS232
+ Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là +-15V Hiện nay đang được cố định trở kháng tải trong phạm vi từ-7000Ω- 3000Ω
+ Mức logic 1 có điện áp nằm trong khoảng -3V đến -15V, mức logic 0
từ -3V đến 15V
+ Tốc độ truyền nhận dữ liệu cực đại là 100kbps ( ngày nay có thể lớn hơn)
Trang 8+ Các lối vào phải có điện dung nhỏ hơn 2500pF
+ Trở kháng tải phải lớn hơn 3000 ôm nhưng phải nhỏ hơn 7000 ôm
+ Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp RS232 không vượt qua 15m nếu chúng ta không sử model
+ Các giá trị tốc độ truyền dữ liệu chuẩn :
50,75,110,750,300,600,1200,2400,4800,9600,19200,28800,38400 56600,1
15200 bps
- Quátrình truyền dữ liệu.
Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện không đồng bộ Do vậynên tại một thời điểm chỉ có một bit được truyền (1 kí tự) Bộ truyền gửi một bit bắtđầu (bit start) để thông báo cho bộ nhận biết một kí tự sẽ được gửi đến trong lầntruyền bit tiếp the Bit này luôn bắt đầu bằng mức 0 Tiếp theo đó là các bit dữ liệu(bits data) được gửi dưới dạng mã ASCII( có thể là 5,6,7 hay 8 bit dữ liệu) Sau đó làmột Parity bit ( Kiểm tra bit chẵn, lẻ hay không) và cuối cùng là bit dừng - bit stop cóthể là 1, 1,5 hay 2 bit dừng
- Tốc độ Baud.
Đây là một tham số đặc trưng của RS232 Tham số này chính là đặc trưng choquá trình truyền dữ liệu qua cổng nối tiếp RS232 là tốc độ truyền nhận dữ liệu haycòn gọi là tốc độ bit Tốc độ bit được định nghĩa là số bit truyền được trong thời gian
1 giây hay số bit truyền được trong thời gian 1 giây Tốc độ bit này phải được thiếtlập ở bên phát và bên nhận đều phải có tốc độ như nhau
( Tốc độ giữa vi điều khiển và máy tính phải chung nhau 1 tốc độ truyền bit)
Ngoài tốc độ bit còn một tham số để mô tả tốc độ truyền là tốc độ Baud Tốc độBaud liên quan đến tốc độ mà phần tử mã hóa dữ liệu được sử dụng để diễn tả bitđược truyền còn tôc độ bit thì phản ánh tốc độ thực tế mà các bit được truyền.Vì mộtphần tử báo hiệu sự mã hóa một bit nên khi đó hai tốc độ bit và tốc độ baud là phảiđồng nhất
Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400,
4800, 9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị họ thường dùng tốc độ là 19200, Khi sử dụng chuẩn nối tiếp RS232 thì yêu cầu khi sử dụng chuẩn là thời gian chuyển mức logic không vượt quá 4% thời gian truyền 1 bit Do vậy, nếu tốc độ bit càng cao thì thời gian truyền 1 bit càng nhỏ thì thời gian chuyển mức logic càng phải nhỏ Điều này làm giới hạn tốc Baud và khoảng cách truyền
- Bit chẵn lẻ hay Parity bit.
Đây là bit kiểm tra lỗi trên đường truyền Thực chất của quá trình kiểm tra lỗi khi truyền dữ liệu là bổ xungthêm dữ liệu được truyền để tìm ra hoặc sửa một số lỗi trong quá trình truyền Do đó trong chuẩn RS232 sử dụng một kỹ thuật kiểm tra
Trang 9Một bit chẵn lẻ được bổ sung vào dữ liệu được truyền để ch thấy số lượng các bit
"1" được gửi trongmột khung truyền là chẵn hay lẻ
Một Parity bit chỉ có thể tìm ra một số lẻ các lỗi chả hạn như 1,3,,5,7,9 Nếunhư một bit chẵn được mắc lỗi thì Parity bit sẽ trùng giá trị với trường hợp khôngmắc lỗi vì thế không phát hiện ra lỗi Do đó trong kỹ thuật mã hóa lỗi này khôngđược sử dụng trong trường hợp có khả năng một vài bit bị mắc lỗi
- Điện áp đầu vào từ 4-30V
- Độ phân giải điện áp đầu ra là 10mV/1°C
- Độ chính xác cao ở 25°C là 0.5°C
- Trở kháng đầu ra thấp 0.1 cho 1mA tải
Dải nhiệt độ đo được của LM35 là từ -55°C 150°C với các mức điện áp rakhác nhau Xét một số mức điện áp sau:
Trang 101.2.2 Giới thiệu về ADC0808.
Bộ ADC0808 là IC tích hợp 8 bộ chuyển đổi tương tự số 8 bit Bộ chọn kênh được giải mã qua 3 chân điều khiển tương tích
CLOCK
IN2IN3IN4IN5IN6IN7
ADDAADDBADDCALE
VREP(+)VREP(-)
EOC
OUT1OUT2OUT3OUT4OUT5OUT6OUT7OUT8OE
Hình 1.5: Các chân của ADC0808
Chức năng các chân.
- IN0 tới IN7 : 8 ngõ đầu vào tương tự
- ADDA,ADDB,ADDC : là 3 chân giải mã chọn 1 trong 8 ngõ vào
- OUT1 OUT8 là gõ ra song song 8 bit, nhưng thứ tự các chân bị ngược, OUT8 là bit có trọng số thấp nhất,và OUT1 là bit có trọng số cao nhất
- ALE : Cho phép chốt địa chỉ
- START : Tạo xung bắt đầu chuyển đổi
- CLOCK : Chân tạo xung dao dộng cho quá trình biến đổi A-D
- EOC : Báo quá trình cuyển đổi kết thúc
- OE : Cho phép dữ liệu đầu ra
- VREP+/- : Chân tham chiếu điện áp
Trang 11 Cấu trúc bên trong ADC0808.
Hình 1.6: cấu trúc bên trong của ADC 0808
SELECTEDANALOGCHANNEL
Trang 12 Giản đồ xung hoạt động của ADC0808
Trong ứng dụng ta có thể dùng 1 đường điều khiển cả 2 tín hiệu ALE và START Sau khi ra lệnh ADC thực hiện quá trình chuyển đổi thì vi điều khiển sẽ kiểm tra tín hiệu EOC, nếu chúng xuống mức thấp là báo hiệu quá trình chuyển đổi đang xảy ra,
và chờ cho đến khi tín hiệu này lên mức cao trở lại thì quá trình chuyển đổi kết thúc mới tiến hành nhận dữ liệu
Ta có thể không thực hiện theo cách kiểm tra vừa trình bày bằng cách chờ ADC chuyển đổi xong sau 1 khoảng thời gian Tconv ít nhất là 116us theo sổ tay tra cứu (datasheet) thì bắt đầu nhận dữ liệu Khi đó ta không cần phải dùng 1 đường tín hiệu kiểm tra chân EOC và chân này bỏ trống
Trang 13 Lưu đồ điều khiển ADC0808 chuyển đổi 1 kênh theo 2 cách.
OE = 0
Xuất addr kênh ra [A2:A0]
Tạo xung cho ALE và START
EOC = 0
EOC = 1
Cho OE = 1Nhận dữ liệuCho OE = 0
Ret
Đ
Begin
START = 0ALE = 0
Ret
Đ
S
Trang 14CHƯƠNG II: THIẾT KẾ HỆ THỐNG
2.1 Tính toán lựa chọn thiết bị
2.1.1 Vi điều khiển 89C51
Chọn vi điều khiển AT 89C51 do hãng Intel sản xuất Các sản phẩm AT89C51thích hợp cho những ứng dụng điều khiển Việc xử lý trên byte và các toán số học ởcấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất dữ liệu nhanh trênRAM nội Tập lệnh cung cấp một bảng tiện dụng của những tập lệnh số học 8 bit gồm
cả lệnh nhân và chia Nó cung cấp những hỗ trợ mở rộng trên chip dùng cho nhữngbiến 1 bit như là kiểu dữ liệu riêng biệt cho phép quản lý và kiểm tra từng bit trực tiếptrong hệ thống điều khiển
AT89C51 cung cấp những đặc tính chuẩn như : 4 Kbyte bộ nhớ chỉ đọc có thế xóa vàlập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 2 TIME/COUNTER 16 Bit,
5 vecto ngắt có cấu trúc 2 mức ngắt, một Port nối tiếp bán song công, 1 mạch daođộng tạo xung Clock và bộ dao động ON-CHIP
Các đặc điểm của chip AT89C51 được tóm tắt như sau :
4Kbyte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu kỳ ghi/xóa
Tần số hoạt động từ: 0Hz đến 24MHz
3 mức khóa bộ nhớ lập trình
2 bộ Timer/counter 16 bit
128 Byte RAM nội
4 Port xuất /nhập I/O 8 bit
Giao tiếp nối tiếp
64KB vùng nhớ mã ngoài
64KB vùng nhớ dữ liệu ngoại
4µs cho hoạt động nhân hoặc chia
Hình 2.1: IC 89C51
Trang 15 Dải nhiệt độ đo được từ -55 tới 150 độ tùy theo kiểu đóng vỏ
Dòng tiêu thụ rất nhỏ cỡ 60uA, nên nhiệt tự tỏa rất nhỏ hầu như không ảnh hưởng đến kết quả đo
Trang 16Cấu tạo của LED chúng ta nhìn trên rất đơn giản chúng chỉ gồm các LED đơnđược xếp lại với nhau thành hình như trên hình vẽ Các LED đơn này chỉ chungnhau Anot hoặc Katot và riêng nhau các chân con lại Anot hặc Katot Nhiệm vụ củachúng ta là cho sáng các LED đơn đó để cho nó thành số hay kí tự đơn giản.
Hiện nay LED 7 được sản xuất theo 2 kiểu là Anot chung và Katot chung vàđược điều khiển làm việc tương tự như bơm dòng hay tiêu thụ dòng của các LEDđơn có trong LED7 (Thường hay thiết kế theo kiểu bơm dòng cho LED) Thôngthường trong các mạch thiết kế thực tế người thiết kế thường hay sử dụng loại Anotchung Phương pháp ghép nối là cấp dòng, đảo trạng thái thông qua đệm và quétLED
Ghép nối led 7 thanh
Để ghép nối với LED7 có thể có nhiều cách, nhưng phải đảm bảo sao có thểđiều khiển tắt mở riêng từng LED đơn trong đó để tạo ra các số và các ký tự mongmuốn.Các IC điều khiển đều khó khả năng sinh dòng kém tức là dòng đầu ra của cácchân ICs nhỏ hơn khả năng nuôi dòng Do vậy, nếu ghép nối trực tiếp các net vớicác chân cổng IC thì loại Anode chung là thích hợp hơn cả Cần phải chú ý dòng dồn
về ICs quá mức chịu được thì cũng không được vì làm nóng và dei ICs điều khiển
2 cách ghép nối thường dùng:
- Cách 1: Dùng trực tiếp các chân điều khiển (vi xử lý)
Đối với cách này thì nhìn thì rất tốn chân của vi xử lý Và dòng của LED sẽ dồntất cả về vi xử lý Nếu một hệ thống lớn thì cách này không ổn vì ảnh hưởng đến vi
xử lý và nhiều dòng dồn về vi xử lý sẽ làm vi xử lý nóng và dẫn tới chết ( chúng tatưởng tượng xem nếu mà hệ thống nhiều phần điều khiển từ các chân vi xử lý mà tất
cả các tải điều khiển dồn trực tiếp dòng về vi xử lý thì lúc đó dòng trong 1 thời điểmkhá lớn vượt quá ngưỡng cho phép của vi xử lý
Dòng mà vi xử lý chịu đựng được cũng khá nhỏ đâu dưới 100mA ) Các này chỉ dùng được hệ thống điều khiển ít, mạch dùng vi xử lý khá đơn giản như hiện thị LED, đếm số từ 0 đến 9
Trang 17Hinh 2.4: Ghép nối AT 89C51 với led 7 thanh
- Cách 2 : Dùng IC giải mã BCD sang LED 7 thanh
Hình 2.5: Dùng IC giải mã BCD sang LED 7 thanh
Sử dụng IC giải mã 7447 để giả mã từ mã BCD sang mã LED7 Đối với cách này thì trông rất ổn Vừa tiếp kiệm được chân vi xử lý và tránh được dòng dồn về vi
xử lý (dòng ở đây được dồn về 7447) Đây là cách mà người thiết kế thường dùng trong các hệ thống cần đến hiện thị
Thông thường các thiết kế, LED 7 thanh được dùng để hiện thị các giá trị các giá trị số từ 0 đến 9 và đôi khi cần phải hiện thị các kí tự đơn giản như A đến F trong
Trang 18hệ thống để báo trạng thái của hệ thống Các giá trị hiện thị bao gồm nhiều chữ số tức
là chúng ta phải dùng đến nhiều LED7 ghép lại thì mới hiện thị được nhiều số Ví dụ như muốn hiện thị số 123 chả hạn thì chúng ta phải dùng đến 3 LED 7 thanh ghép lại
Như vậy để ghép nhiều LED 7 thanh thay vì chúng ta phải dùng 8 chân riêng rẽ cho mỗi LED Ví dụ để hiện thị được 3 chữ số lên LED 7 (123 chẳng hạn) khi đó ta sẽmất 3x8 = 24 chân dữ liệu điều khiển để hiện thị được 3 chữ số Như vậy sẽ rất tốn chân vi xử lý, do vậy người ta dùng chung các đường dữ liệu cho các LED 7 thanh và thiết kế thêm các tín hiệu điều khiển cấp nguồn riêng rẽ cho từng LED 7 một hay là cấp nguồn cho các chân Anot chung hay Katot chung Nhìn trên sơ đồ trên ta thấy được kiểu ghép nối giữa các LED Các đường dữ liệu vào của 3 LED được chung với nhau và các chân điều khiển nguồn cho các LED được riêng rẽ và được điều khiển bằng transitor ( khuếch đại dòng) Như vậy đối với mạch trên chúng ta tiếp kiệm đượcnhiều chân vi xử lý Đối với mạch trên và cách ghép nối như trên thì mất tối đa chỉ có
11 chân vi xử lý.
Hinh 2.6: Ghép nối với nhiều led 7 thanh
8 chân dữ liệu của LED 7 được chung nhau và chung được ghép nối qua 2 cách: Thứ nhất dùng vào trực tiếp các chân vi xử lý và thứ 2 là qua các IC đệm hay IC giảimã Nhưng trong thiết kế không mấy khi người ta cho trực tiếp các chân dữ liệu đóvào trực tiếp vi xử lý mà người ta phải cho qua các IC đệm hay giải mã đối với hệthống lớn Chỉ những mạch đơn giản người ta mới cho vào trực tiếp vi xử lý.Thôngthường người ta dùng thêm các IC đệm hay giải mã như ULN2803, 74LS47
Trang 19Đối với phương pháp ghép LED như thế này thì làm sao điều khiển được hiệnthị số 123 Nếu chúng ta mới nhìn thì sẽ thấy các LED 7 sẽ hiện thị giống nhau vìchúng chung nhau đường dữ liệu Nhưng không phải là vậy Nếu chung ta cho từngthời điểm từng LED sáng 1 thì chúng ta sẽ thấy khác đó Số 123 sẽ được hiện thị lên 3LED đó Đó là thuật toán quét LED dựa vào hiện tượng lưu ảnh trong mắt khi chúng
ta quét với tần số lớn
Như vậy đối với phương pháp này chúng ta tiếp kiệm được một số lượng lớnchân vi xử lý và đồng thời tiếp kiệm được năng lượng tiêu thụ do phương pháp quétLED trong thời gian ngắn Khi đó tối đa trong 1 thời điểm có 1 LED sáng toàn bộthôi Cần phải tính toán giá trị dòng vào cho LED sao cho LED sáng đẹp bằng cáchthêm bớt điện trở
2.1.4 IC Max232.
Max232 là IC chuyên dùng cho giao tiếp giữa RS232 và thiết bị ngoại vi Max232
là IC của hãng Maxim Đây là IC chay ổn định và được sử dụng phổ biến trong cácmạch giao tiếp chuẩn RS232 Giá thành của Max232 phù hợp (12K hay 10K) và tíchhợp trong đó hai kênh truyền cho chuẩn RS232 Dòng tín hiệu được thiết kế chochuẩn RS232 Mỗi đầu truyền ra và cổng nhận tín hiệu đều được bảo vệ chống lại sựphóng tĩnh điện ( hình như là 15KV) Ngoài ra Max232 còn được thiết kế với nguồn+5V cung cấp nguồn công suất nhỏ
2.2 Giao tiếp giữa VĐK 8051 với LM35 và ADC0808:
2.2.1 ADC0808 và LM35.
- Như đã biết ADC0808 là IC chuyên dụng dùng để chuyển đổi tín hiệudạng điện áp hoặc dòng điện(còn gọi là tín hiệu analog) thành tín hiệudạng số, có giá trị tùy thuộc vào độ phân giải của ADC và điện áp thamchiếu cấp vào 2 chân VREP(+) và VREP(-) Ở trong bài chúng em dùngADC0808 có độ phân giải 8 bit, giá trị số tương ứng là 255 Giá trị nhiệt
độ sau khi đo được từ cảm biến LM35 sẽ được chuyển đổi thành giá trịđiện áp, sau đó được đưa vào đầu vào của ADC Lúc này giá trị điện áp
ở đầu vào sẽ tương ứng với một giá trị số ở đầu ra
- Có nhiều cách mắc vi mạch LM35 để đo được các dải nhiệt độ khácnhau, do đề bài yêu cầu đo dải nhiệt độ (-55°C ÷ 125°C) nên chúng emdùng cách mắc như sau: chân số 1 nối lên nguồn 5V, chân số 3 đượcmắc xuống mass, và chân số 2 đầu ra điện áp sẽ được mắc thêm vàonguồn điện áp âm là -5V qua 1 điện trở hạn dòng có giá trị là 50k + Chọn R = -Vs/100µA
+ Vout = 1250mV at 125°C
+ Vout = -550mV at -55°C
Trang 20VoutR=50k
LM35