




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机烟雾检测系统的软件设计案例综述目录TOC\o"1-3"\h\u67741.1主程序流程设计 1254401.2温度检测子函数设计 2283121.3按键检测子函数设计 3321261.4报警子函数设计 5224801.5显示模块子流程设计 61.1主程序流程设计主函数在程序设计过程中起着重要的作用,而主函数的独立存在为我们建立了一个独立的进程,使得我们的程序员具有了一个对应的主函数入口,可以对其它的进程函数进行相应的声明而且也无需再重新进行定义。主函数方法编写时我们应该严格遵循简洁、适当的编写原则,便于后期检查。具体器件定义的功能应该编写入相应的子函数里面去,后期直接调用[13]。由下图4-1主程序流程图可知,首先单片机进行I/O初始化,具体就是初始化时钟和串口,然后传感器预热,简单来说,就是烟雾传感器中AD转换芯片需要进行初始化,内部电路自检或者数据缓冲这样,程序的全部初始化工作完成后,系统则会自动进入一个实时运行的状态,对周围环境中的烟雾浓度及温度进行实时检测。在整个系统实时工作过程中,对采集到的信号进行数模转化送到单片机,尔后单片机通过控制LCD进行显示,同时进行检测数据与预设报警上限值进行比较,根据比较结果,由主控单元决定后续的执行操作。图4-SEQ图4-\*ARABIC1主程序处理流程图1.2温度检测子函数设计DS18B20芯片实时读取检测到的信息,自读取温度的过程中,首先对DS18B20芯片进行初始化,然后先读取温度的低字节,再次读取高字节,在芯片内部进行高位低位转化,并最终将周围的温度读取出来,并在显示液晶屏上显示。若读取的温度大于设定的初始值时,报警系统将启动报警,否则不进行报警。uintread_temp(){ uintvalue; ucharlow; delay_uint(50); //500us init_18b20(); //初始化18b20 write_18b20(0xcc); //跳过64位ROM write_18b20(0xbe); //发出读取暂存器命令 EA=0; low=read_18b20(); //读温度低字节 value=read_18b20();//读温度高字节 EA=1; value<<=8; value|=low; value*=0.0625; returnvalue;其温度程序流程图如图4-2所示。图4-SEQ图4-\*ARABIC2温度检测子流程图1.3按键检测子函数设计由第3章的硬件电路模块介绍可知,本文设计烟雾报警系统用的按键主要有手动报警及阈值设置按键,具体的功能描述如下:手动报警就是,你按下系统就会一直报警,即蜂鸣器一直响。设置增加阈值功能,就是在设计系统中,将温度报警或者烟雾报警的上限阈值设置高一点。设置减少阈值功能,功能和上面一致,作用相反即可。进入设置功能,就是按下此按键,系统进入功能设置。按键部分的子函数代码分析如下所示:voidkey_with(){ if(key_can==4) //紧急报警键手动报警 { menu_1=0; } if(menu_1==0) init_1602();//初始化显示 } if(menu_1==0) { if((key_can==2)||(key_can==3)) shoudong=0;//取消手动报警 } if(menu_1==1) //设置烟物报警 { if(key_can==2) { s_dengji++; //烟物报警值加1 if(s_dengji>=700) s_dengji=700; } if(key_can==3) { s_dengji--; //烟物报警值减1 if(s_dengji<=1) s_dengji=1; }}1.4报警子函数设计符合程序判断机制时,蜂鸣器会发出一种报警鸣声,对应于此时LED灯闪亮起,并伴随着点击风扇的开启,风扇进行烟雾的驱散和温度的降低。当烟雾值降低至设定初始值之下时,蜂鸣器停止发出报警声,报警取消,此时电机风扇也停止运行。设置完成后,程序运行,报警检测进行环境的监控。voidclock_h_l(){ staticu8value; if((yuzhi>=s_yuzhi)||(temperature>=s_temp)||(shoudong==1)) //报警 { value++; if(value>=2) { value=10; beep=~beep; //蜂鸣器报警 dianji=0;//打开电机 } }else { if((yuzhi<s_yuzhi)&&(temperature<(s_temp))&&(shoudong==0)) //取消报警 { value=0; beep=1; yuzhi=1;//关闭电机}}1.5显示模块子流程设计LCD1602是接收单片机发送的数据,再此之前要对LCD1602进行初始化设置,这部分程序编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保密技术交流与合作合同
- 跨境电商车辆进口担保合同范本
- 车辆抵押贷款合同变更及补充协议书
- 培训中心兼职舞蹈老师聘用合同书(3篇)
- 初三毕业典礼演讲稿(13篇)
- 2024年青海省三江源国家公园管理局下属事业单位真题
- 企业正规聘用合同(7篇)
- 芦山县教育局招聘公费师范毕业生考试真题2024
- 低压运维练习试题附答案
- 锅炉练习试题附答案
- 2025年小学一年级奥林匹克数学竞赛训练考试题(附答案解析)
- 2025年宁夏银川市中考物理一模试卷(含解析)
- 2025年初中学业水平考试地理模拟试卷(核心素养与能源地理)
- 玻璃瓶合同协议
- 云南邮政面试题及答案
- 国开2024《人文英语4》边学边练参考答案
- 新版水利工程监理日志
- 音乐课堂基础知识教学
- 生产月度工作总结汇报
- 他达拉非临床应用
- 中职高教版(2023)语文职业模块-第一单元1.4闪亮的坐标,劳模王进喜【课件】
评论
0/150
提交评论