资源描述:
《温度监测报警》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、东秦盛方www.sfmcu.comwww.sfmcu.cn温度监测报警用89c51单片机控制,当温度低于30℃时,发出长嘀报警声和光报警,当温度高于60℃时,发出短嘀报警声和光报警。测量的温度范围在0-100℃。
用二个数码管显示
蜂鸣器报警用一个LED作光报警
18B20的数据脚接单片机的P0.0,蜂鸣器接P0.7,LED接P0.1,数码管数据接P2口,数码管选通为P1.0和P1.1程序流程图:程序初始化调用18B20转换程序调用数据处理程序调用显示程序小于30大于60N报警报警NYY6东秦盛方www.sf
2、mcu.comwww.sfmcu.cn源程序:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;P1.0为显示十位,P1.1为显示个位;;;;;;;;;P0.7为蜂鸣器控制位P0.2为LED控制位P0.0为18B20数据线;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOWEQU30HDIWEQU31H;显示数据存储单元TEMPEQU32HTEMP_NUMEQU33HBIAOZHIBIT00HDATBIT80H;;;
3、;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;主程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ORG0000HLJMPMAINORG0035HMAIN:MOV30H,#0FFHMOV31H,#0FFHLCALLDISPLAYMOVSP,#70H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4、;;;;;;LOOP:LCALLTURN;调用18B20转换程序LCALLCHANGE;调用变换程序,把从18B20读得数据变换为两位数的摄氏温度LCALLDISPLAY;调用显示程序CLRCMOVA,TEMPSUBBA,#30JCALARM;小于30则报警CLRCMOVA,TEMPSUBBA,#60;大于60则报警JCLOOP3CLRP0.7CLRP0.4MOVR4,#25;短报警声ALARM2:LCALLDISPLAYDJNZR4,ALARM2SETBP0.76东秦盛方www.sfmcu.comwww.s
5、fmcu.cnSETBP0.4LOOP3:LJMPLOOP;报警程序,蜂鸣器长响,LED亮ALARM:CLRP0.7CLRP0.4MOVR4,#200;长报警声ALARM1:LCALLDISPLAYDJNZR4,ALARM1SETBP0.7SETBP0.4LJMPLOOP;18B20转换程序,从18B20中读取转换后的温度,数据的低字节放在29H,高字节放在28HTURN:SETBDATTURN1:LCALLRES18B20;18B20初始化程序JNBBIAOZHI,TURN1;检测到器件则继续TURN2:L
6、CALLDELAY1MOVA,#0CCHLCALLWRITEMOVA,#44HLCALLWRITELCALLDISPLAYLCALLDISPLAYLCALLDISPLAYLCALLRES18B20MOVA,#0CCHLCALLWRITEMOVA,#0BEHLCALLWRITELCALLREADRET;18B20的写程序,将A中的数据写入18B20WRITE:MOVR2,#8CLRCWRITE1:CLRP0.0MOVR3,#6DJNZR3,$RRCAMOVP0.0,CMOVR3,#23DJNZR3,$SETBP
7、0.0NOPDJNZR2,WRITE16东秦盛方www.sfmcu.comwww.sfmcu.cnSETBP0.0RET;18B20的读取程序,读得的数据低字节放在29H,高字节放在28HREAD:MOVR4,#2MOVR1,#29HRE00:MOVR2,#8RE01:CLRCSETBP0.0NOPNOPCLRP0.0NOPNOPNOPSETBP0.0MOVR3,#9RE10:DJNZR3,RE10MOVC,P0.0MOVR3,#23RE20:DJNZR3,RE20RRCADJNZR2,RE01MOV@R1,
8、ADECR1DJNZR4,RE00RET;转换程序,将温度数据转换为摄氏温度数据,入口参数29H,28H,出口参数30H,31HCHANGE:MOVA,29HANLA,#0F0HSWAPAMOVTEMP_NUM,AMOVA,29HJNBACC.3,CHENGE1INCTEMP_NUMCHENGE1:MOVA,28HANLA,#07HSWAPAORLA,TEMP_NUM6东秦盛方www.sfmcu.c