Đang chuẩn bị liên kết để tải về tài liệu:
Mạch cảm biến nhiệt dùng lm35 hiển thị ra led 7 đoạn
Không đóng trình duyệt đến khi xuất hiện nút TẢI XUỐNG
Tải xuống
Mạch dó thể chia thành 3 khối : - Thứ nhất : khối cảm biến gồm lm35 và adc0804 . Vì lm35 không thể mô phỏng xuất tín hiệu nên tôi dung một con biến trở 10k thay thế . + Về adc0804 là ic chuyển đổi a/d 1 kênh khá thông dụng hiện nay . Cần lưu ý tới các chân : | Mạch cảm biến nhiệt dùng lm35 hiển thị ra led 7 đoạn Về cơ bản project này của tôi chỉ là bản mô phỏng mạch còn hạn chế và thiếu nhiều . Bạn nào làm mạch thật nên lưu ý đến điều này . Trước hết xin nói qua về sơ đồ mạch : Mạch dó thể chia thành 3 khối : - Thứ nhất : khối cảm biến gồm lm35 và adc0804 . Vì lm35 không thể mô phỏng xuất tín hiệu nên tôi dung một con biến trở 10k thay thế . + Về adc0804 là ic chuyển đổi a/d 1 kênh khá thông dụng hiện nay . Cần lưu ý tới các chân : 1.CS: chân đầu vào có mức tích cực thấp , chú ý chân này luôn để nối mát . 2. RD:khi chân này xuống thấp thì adc chuyển dữ liệu ra cổng xuất . 3.WR: chân tiến hành chuyển đổi , khi chân này được đưa xuống thấp thì adc chuyển đổi dữ liệu đầu vào . 4.Chân CLK IN và CLK R đại khái thì hai chân này để tạo xung clock đầu vào cho ADC . Với cách mắc như trên thì ADC sử dụng đồng hồ trong của nó với thời gian chuyển đổi là 110us. 5.INTR: khi kếp thúc chuyển đổi chân này đổi từ mức cao xuống thấp. 9.Vin(+) và Vin(-) : nhận tín hiệu tương tự đầu vào . 10.D0 -> D7: xuất dữ liệu ra. Các chân nối các bạn có thể thấy trên hình , tôi không nói lại nữa . - Thứ 2 về khối xử lí gồm 1 con 8051 không có gì đặc biệt cả . Tuy nhiên tôi xin lưu ý : các bạn cũng thấy tôi chọn port0 làm đầu vào , điều này do cấu trúc cực máng hở của 8051 . Khi làm đầu ra thì port cần nối thêm trở 10k khi làm đầu vào thì không cần , có thể nói đặc điểm này để cho port0 chuyên làm cổng nhập liệu . - Thứ 3 về khối hiển thị : hai transistor , hai led7 anot chung . Tuy nhiên cũng xin lưu ý là hai tran trên chưa được phân cực ( hàng mô phong thôi mà lị) . Khi dùng anot chung thì led sẽ sáng bằng nguồn từ ngoài vào vi điều khiển , nếu dùng catot chung thì ngược lai nguồn từ vi điểu khiển làm sáng led . Phương pháp nào hiệu quả hơn các bạn có thể thấy ngay do đặc điểm xuất dòng nhỏ chịu dòng lớn của 8051. Đương nhiên ta sủ dụng phương pháp quyets led để hiển thị . Sau đây xin trình bày code của chương trình : ;-----------------------------------------------; ;----------CODE DO NHIET DO DUNG LM35-----------; ;-----CREATED BY haicansa-dientuvietnam.net-----; ;-----------------------------------------------; ORG 00H MOV P0,#0FFH MAIN: CLR P2.4 ACALL DELAY110US SETB P2.4 HERE: JB P2.3,HERE CLR P2.5 ACALL DISPLAY SETB P2.5 SJMP MAIN RET DISPLAY: MOV A,P0 MOV B,#10 DIV AB MOV DPTR,#CODE7SEG MOVC A,@A+DPTR MOV P1,A SETB P2.7 ACALL DELAY CLR P2.7 MOV A,B MOVC A,@A+DPTR MOV P1,A SETB P2.6 ACALL DELAY CLR P2.6 RET DELAY110US: MOV TMOD,#01 MOV TL0,#9BH MOV TH0,#0FFH SETB TR0 AGAIN: JNB TF0,AGAIN CLR TR0 CLR TF0 RET DELAY: MOV R1,#200 LAP2: MOV R2,#100 LAP1: DJNZ R2,LAP1 DJNZ R1,LAP2 RET CODE7SEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END Xin chú ý ACALL DELAY110US sở dĩ phải delay 110us vì thời gian chuyển đổi của adc là 110us như đã nói ở trên . Cũng xin chia sẻ một kinh nhiệm của tôi cho các bạn : trước tôi để MOV A,P0 không trong nhãn DISPLAY vì thế mà dữ liệu không được chuyển qua port1. Trên đây là dự án đo nhiệt hiển thị ra led7 mà tôi muốn được chia sẻ cùng các bạn . Tuy nhiên tôi chưa có điều kiện là mạch thật , bạn nào có ý định làm mạch này thật xin hãy liên hệ lại với tôi để chúng ta cùng hoàn thành project thú vị này . Được đăng bởi haicansa vào lúc 05:06