基于STC89C52和MQ-2的CO监测与报警系统设计
2)单片机发送“AT+CMGF=0\n”,设置TC35i为PDU中文短信模式。设置成功返回“OK”。
3)单片机发送“AT+CMGS=31”,设置短信长度。设置成功返回“OK”。
4)写入短信内容“11000D916881082
25397F4000800104E006C27531678
B362A58866901A9053”。内容为经过Unicode编码后的形式.其中包括运营商短信中心号码、接收端手机号码、中文短信内容。此处即为向188XXXX5794手机号发送“一氧化碳报警”。手机号码可通过外部按键进行修改。
5)单片机发送结束符“0x1a”,TC35i收到结束符后发送短信。
6)发送完成TC35i返回“+CMGS=150”“OK”。150为系统发送短信计数,OK表示发送成功。
系统主程序流程图如图5所示。
![](../img/eep/emb/emb-45437dxcpsuvm2ck.jpg)
程序首先执行初始化程序,完成LCD,GSM模块的初始化,对GSM模块设定默认报警电话号码等工作。然后开始CO浓度采集,A/D转换,单片机接收到采集数据后进行运算,超过阈值进行声光报警以及启动GSM模块发送报警短信。
4 系统仿真
利用KEIL与Proteus联合仿真的方式,对系统进行仿真,仿真中我们以滑动变阻器变化产生不同的电压值来模拟MQ-2采集到的不同浓度CO值,利用模拟串口终端读取单片机串口输出给TC35i的信号。设定虚拟串口终端能响应输入字符,这样,模仿TC35i的返回信息。仿真结果达到预期,仿真图如图6所示。
![](../img/eep/emb/emb-45438e4ldbexbqdw.jpg)
液晶显示器的第一行显示的736、184、327(单位ppm)实时显示的为3个CO传感器监测CO浓度值,第二行为我们设定的报警阈值(600 ppm上限),可以看到只有第一个浓度736 ppm超过了上限600 ppm所以在显示器的右下角显示1,即表示1号报警。图中30为温度,即30℃。单片机串口发送了正确的AT指令。仿真后我们制作了实物,经多次测试,系统开机后能在30 s左右完成采集并实时显示,稳定性高,操作简便。
5 结论
本系统具有较高的数据采集速率,能够很好的完成CO监测并实现越限的本地与远程报警功能。将区域内所有的监测系统目标手机号设定为相同的号码,便可以实现区域性监测。系统实物经多次测试,表明该系统具有稳定可靠、易于安装,操作简单,成本低廉易于在农村大面积推广等特点,达到了设计要求。
- 基于STC89C52的智能印章机的设计方案(01-13)
- 从易到难学习单片机(单片机DIY制作、毕业设计、课程实例)(06-04)
- 初始的STC89C52RC单片机小实验(12-03)
- STC89C52单片机定时器2的使用(12-02)
- STC89C52-秒表(精确10ms)同时LED二进制计数(12-01)
- STC89C52单片机驱动CC1101无线模块的接收C语言程序(11-30)