Mạch đo nồng độ cồn sử dụng vi điều khiển 8051
Chúng ta thường thấy Cảnh sát sử dụng máy đo nồng độ cồn trên tài xế để kiểm tra xem họ có dưới tác động của cồn không. Uống rượu và lái xe là một tội phạm ở tất cả các quốc gia. Nhưng bạn có biết rằng việc làm máy này rất dễ? Dưới đây là cách tự làm máy đo nồng độ cồn với đầu ra hiển thị ba chữ số.Mạch đo nồng độ cồn sử dụng vi điều khiển 8051 (AT89S51) Bài viết này nói về mạch đo nồng độ cồn sử dụng vi điều khiển 8051, đầu ra là nồng độ cồn trong máu (BAC) từ hơi thở. BAC được hiển thị dưới dạng phần trăm trên màn hình hiển thị bảy đoạn ba số. Vi điều khiển được sử dụng là AT89S51 thuộc họ 8051 và cảm biến cồn là cảm biến khí MQ135 từ Futurelec.
Mạch cảm biến khí MQ135
MQ135 là một cảm biến khí ổn định và nhạy cảm có thể phát hiện khí ammonia, khí CO2, cồn, khói, khí NO2 và nhiều loại khí khác. Cảm biến bao gồm một lớp nhạy đối với ôxít thiếc bên trong các ống nhôm oxit nhôm, điện cực đo và một thành phần sưởi ở bên trong ống nhôm tròn. Phần đầu của cảm biến được che phủ bằng một lưới thép không gỉ và phía sau chứa các terminal kết nối.
Tụ điện C3 nối giữa Vin+ và Vin- của ADC0804 để lọc nhiễu (nếu có) trong đầu ra cảm biến. Nếu không sử dụng C3, đầu ra kỹ thuật số của ADC sẽ không ổn định. Tụ lọc này chắc chắn sẽ gây ra một chút độ trễ trong phản ứng của ADC nhưng nó không quá quan trọng trong ứng dụng cơ bản này. Vi điều khiển thực hiện các thao tác cần thiết trên đầu ra kỹ thuật số của ADC để chuyển đổi nó thành phần trăm BAC và hiển thị trên màn hình bảy đoạn ba số ba chữ số. Port0 của vi điều khiển được nối với màn hình bảy đoạn ba số ba chữ số qua các đầu nối nhiều của vi điều khiển P3.0, P3.1, P3.2 tương ứng
ORG 00H
MOV P1,#11111111B
MOV P0,#00000000B
MOV P3,#00000000B
MOV DPTR,#LUT
MAIN: MOV R4,#250D
CLR P3.7
SETB P3.6
CLR P3.5
SETB P3.5
WAIT: JB P3.4,WAIT
CLR P3.7
CLR P3.6
MOV A,P1
MOV R5,A
SUBB A,#86
JC NEXT
SETB P3.3
CLR PSW.7
NEXT: MOV A,R5
SUBB A,#115D
JNC LABEL
MOV A,#00000000B
CLR PSW.7
LABEL: MOV B,#5D
MUL AB
MOV B,#8D
DIV AB
MOV B,#10D
DIV AB
MOV R6,A
MOV R7,B
DLOOP:SETB P3.0
MOV P0,#01000000B
ACALL DELAY
CLR P3.0
SETB P3.1
MOV A,R6
ACALL DISPLAY
MOV P0,A
ACALL DELAY
CLR P3.1
SETB P3.2
MOV A,R7
ACALL DISPLAY
MOV P0,A
ACALL DELAY
CLR P3.2
DJNZ R4,DLOOP
SJMP MAIN
DELAY: MOV R3,#255D
LABEL1: DJNZ R3,LABEL1
RET
DISPLAY: MOVC A,@A+DPTR
CPL A
RET
LUT: DB 3FH
DB 06H
DB 5BH
DB 4FH
DB 66H
DB 6DH
DB 7DH
DB 07H
DB 7FH
DB 6FH
END
Hotline: 0979 466 469