城南学院 室内煤气和天然气泄漏报警器的设计
4.1 温度采集部分程序设计
温度测量通过DS18B20数字温度传感器测量室内温度,将室内温度转化为数字量接入AT89C51单片机中,温度采集的流程图如下所示:
DS18B20初始化 跳过ROM 温度转换指令 延时等待 DS18B20初始化 匹配ROM 读出温度指令 读出温度值
图4.1 温度采集流程图
第 22 页 共 34 页
城南学院 室内煤气和天然气泄漏报警器的设计
4.2 显示部分程序设计:
数码管显示一般分静态显示和动态显示两种方式,本文采用动态显示,数码管显示是单片机外部指令输出的重要途径。
开始
循环变量附初值=1000 关个位,十位,开小数位,送小数位数值 调用延时子程序 关个位,十位,开小数位,送小数位数值 调用延时子程序 关小数位,十位,开个位,送个位数值 调用延时子程序
子程序返回 循环变量-1=0
图4.2 显示流程图
第 23 页 共 34 页
城南学院 室内煤气和天然气泄漏报警器的设计
4.3 主函数程序设计:
程序开始,定时器初始化,检测空气中一氧化碳的浓度是否达到报警值,如果达到报警值,调用报警子程序,报警。如果没有达到报警值,则LED置1,处于熄灭状态,读取房间内温度值,并显示在数码管上,并返回检测,重新循环。
开始 定时器初始化 Y 是否达到报警 值 N 关中断 LED 置1 读取温度值 获得显示码 调用显示函数
图4.3 C语言主函数
调用报警程序 第 24 页 共 34 页
城南学院 室内煤气和天然气泄漏报警器的设计
4.4 中断函数设计
中断服务程序为,首先初始化定时器,此时TCNT+1。这时判断TCNT是否为8,如果不为8则返回主程序,如果为8,则将TCNT归零,并将LED取反,然后再返回主程序。
开始
定时器初始化
TCNT+1
N TCNT是否为 8
Y TCNT=0
LED取反
返回
图4.4 C程序中断函数
第 25 页 共 34 页
城南学院 室内煤气和天然气泄漏报警器的设计
5 总结
经过一个学期的努力,能够成功的完成毕业设计所要求的任务。期间,我收集了大量的关于检测报警系统的资料,经过比较分析得出此设计方案。特别是对气体传感器、数码显示做了深入的研究。并温习了数字电路、模拟电路和单片机的相关知识,通过这些工作使我了解了本系统的工作原理及应用,而且熟悉使用多种单片机电路在实际当中的应用,以及掌握了单片机与检测电路的连接和C51编程。
在此次设计中,还有不完善的地方,在无人情况下,无法处理室内煤气泄漏的问题,在老师的指导下,了解到可以通过控制抽风机将室内泄漏的煤气抽出室内。
毕业设计是对大学四年专业所学知识的巩固和深化,理论和实践知识相结合,学以致用,使们学会了提出问题,分析,解决问题的能力。这对我们以后的工作和人生将产生深远的影响。
第 26 页 共 34 页