基于单片机的火灾报警器源程序原理图

更新时间:2023-04-23 07:07:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于51单片机烟雾温度智能报警系统

#include <AT89C51.h>

#define unchar unsigned char #define uint unsigned int uchar Tem1,Tem2,Smok1,Smok2;

uchar Tem=3.6,Smok=4.6; //设定温度烟雾报警阈值 uchar a,a1,a2,b,b1,b2; void caiji_wenyan();

void delay_10ms(uint i); //程序声明 void panduan ); void baojing(); void main() {

P10=0;P20=0;WR=1;RD=1;

P0=0XFa;P23=1;P24=1;P25=1;P26=0; //初始化 while(1) //主程序 {

caiji _wenyan (); //第一次采集温度烟雾信号 Tem2=Tem1;Smok2=Smok1;

delay_10ms(5); //延时50ms,让ADC0809准备好第二次数据转换

caiji _wenyan(); //第二次采集温度烟雾信号

panduan(); //将转换的数据与设定的报警阈值比较 baojing(); //报警程序

delay_10ms(1500); //系统隔15s对现场判断 }; }

void caiji_wenyan()

基于51单片机烟雾温度智能报警系统

{

P0=0XF8; //选通IN-0,转换温度信号 WR=0;

if(EOC=1) {RD=0;Tem1=P0}; //当ADC0809转换结束,AT89C51打开AD的

三态门,AD输出数据

else RD=1; //否则,AD继续转换 delay_10ms(1);

P0=0XF9; //选通IN-1,转换烟雾信号 WR=0;

if(EOC=1) {RD=0;Smok1=P0}; else RD=1; }

void delay_10ms(uint i) //10ms延时程序 {

while(i--) {

uchar i,j,k; for(i=5;i>0;i--) for(j=4;j>0;j--) for(k=248;k>0;k--); } }

void panduan() {

if(Tem1<Tem) a1=1; //当采集的温度高于阈值置1,否则,置0 else a1=0; if(Tem2<Tem) a2=1;

基于51单片机烟雾温度智能报警系统

else a2=0;

if(Smok1<Smok) b1=1; //当采集的烟雾浓度高于阈值置1,否则,置0 else b1=0;

if(Smok2<Smok) b2=1; else b2=0; }

baojing() {

if(a1=a2&&b1=b2) //两次采集数据的标志位相同 { a=a1; b=b1;

if(a=1&&b=1) {P23=0;P10=1;P26=1}; //温度烟雾标志位都是1,发生火灾

if(a=1&&b=0) {P24=0;P10=1;P26=1};

if(a=0&&b=1) {P24=0;P10=1;P26=1}; //温度烟雾标志位只有一个1,异常

if(a=0&&b=0) P26=0; //温度烟雾标志位都为0,正常 };

else {P25=0;P10=1;P26=1}

基于51单片机烟雾温度智能报警系统

U1 LE OE R1 0 11 1 5V

U8

R6

4

50 K 5V U2 A U7 2

10 0K

BUZZER R1 1 10 K Q3

11

C1 C2 R8 9 R9 CLK 8 3 5

R4 LM32 4 1

10

U2 C T2 T1 T0

Q

R

NPN

2

U2 A 1K 1K

S

0. 1uF 0. 1uF C3 0. 1uF U3 26 IN-0 IN-1 IN-2 U5 IN-3 IN-4 EOC IN-5 ADC0 809 ADD-A ADD-B ADD-C ALE 16 ref(-) ref(+) 5V 12 ENABLE START CLOCK 22 IN-6 IN-7 25 T0 24 T1 23 T2 7 NPN U6 U4 16 PIN 27 28 R7 1 5V 2 3 5 R1 3 6 5 LM32 4 C9 0. 1uF 9 6 10 1K 1K R1 4 7 4 U2 B 10 0K C4 0. 1uF 74 LS3 73 Q D

10 K

1

19 16 15 12 9 6 5 2 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 D0 D1 D2 D3 D4 D5 D6 D7 D7 D6 D5 D4 D3 D2 D1 D0

18 17 14 13 8 7 4 3

D7 D6 D5 D4 D3 D2 D1 D0

3

2 1 3

LM32 4

C5

G ND G S0 O UT

Q1 LM94 022

R5

8. 3K

V DD

G S1

4

6

5V

5V

30 pF Y2 12 M C6 30 pF C0 C1 C2 C3

4

5

ms b2-1 2-2 2-3 2-4 2-5 2-6 2-7 lsb 2-8

21 20 19 18 8 15 14 17

D0 D1 D2 D3 D4 D5 D6 D7

E2

SW -P B

5V

21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 P0 0 P0 1 P0 2 P0 3 P0 4 P0 5 P0 6 P0 7 ALE/P P2 7 P2 1 INT1 P2 3 P2 4 P2 5 AT89C51 P2 6 PESN WR P2 0 RD

P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 INT0 P2 2 T0 T1 EA/VPP XTAL1 XTAL2 RESET RXD TXD VCC GND

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

S2 22 uF

Ch 1

0. 1uF

R1 2 10 K

Q2

5V

1

C7

3

2

VCC OUT GND

0. 1uF C8 0. 1uF

NPN

C0

红C1

D5

5V

NIS-09 C

红C2

D6

5V

黄C3

D7

绿

D8

本文来源:https://www.bwwdw.com/article/s6vq.html

Top