Tải bản đầy đủ (.doc) (3 trang)

Mạch cảm biến nhiệt dùng lm35 hiển thị ra led 7 đoạn ppsx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (99.77 KB, 3 trang )

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

×