正常使用万用表时表内部的单片机处于正常工作模式,当不用时,又忘记了关掉万用表的电源,大多数表在等待数分钟后,若没有人为操作,它便会自动将液晶显示关闭,以降低系统功耗,通常类似这种功能的实现就是使用了单片机的空闲模式或是掉电模式。以STC89系列单片机为例,当单片机正常工作时的功耗通常为4mA~7mA,进入空闲模式时其功耗降至2mA,当进入掉电模式时功耗可降至0.1μA以下。所以采用休眠对于低功耗是非常重要的。
7 软件设计 7.1主程序流程图
开始系统初始化AD采样Y浓度小于20NY浓度大于80N红灯亮黄灯亮绿灯亮蜂鸣报警 数码管显示浓度结束
图7-1主程序流程图
21
为了能让主函数分清是执行执行待机程序还是检测程7.2检测与待机功
能切换设计及程序流程图
序报警程序,引进标志数flag。当flag为1时执行待机程序;当flag为0时执行检测报警程序. 在初始化函数中先将flag置1,上电后则进入待机状态。按下k1后使flag置0,执行检测报警程序。按键k2后使flag置1,又执行待机程序,k1、k2均为开关【7】。
下图为系统执行检测功能和待机功能的选择流程图:
开始检测按键k1与k2是否按下k1与k2未按下k2按下k1按下(标志 数flag为初(标志 数flag为初(标志 数flag为初始值1)始值1)始值0)执行待机程序,液晶显示简易计时,不检测执行酒精浓度的和不显示酒精浓度实时检测,显示和报警
图7-2待机与检测程序流程图
22
7.3定时器与定时器中断
本设计在待机时,执行一个简易的十分钟以内的计时程序。这时用定时器零产生中断,让其计时。定时器是独立与cpu的单独部件,与软件延时比起来,它不占用程序时间,定时很精确。当时间到一定时,它就产生定时中断,让主程序让执行定时器中断函数。
设置TMOD=0x01;使定时器零工作在方式一,工作方式一是十六位不能自动重装初值的方式,所以在进入定时器中断函数后要重新装初值【8】。
23
参考文献
[1] 岳睿.警用呼气式酒精传感器的研究进展[J].化学传感器,2006,26(3):6-11.
[2] 祝诗平.传感器与检测技术[M].北京:北京大学出版社,2006. [3] 袁剑蓉,金建祥,张渝晖. 一种高精度、低成本、多量程的A/D转换技术[J].自动化仪表, 2006,8(08):22-25.
[4] 李建忠.单片机原理及应用[M].西安电子科技大学出版社,2008. [5] 王幸之.AT89系列单片机原理与接口技术[M].北京:北京航空航天大学出版社,2004.
[6] 李振梅.模拟电子技术基础[M].北京:高等教育出版社,2010. [7] 邱力.C语言程序设计[M].北京:清华大学出版社,2004. [8] 郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社,2009.
24
附录一 硬件设计原理图
25
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库智能酒精浓度探测仪(5)在线全文阅读。
相关推荐: