第4章 系统软件的设计
对于单片机的开发应用中,逐渐引入了高级语言,C语言就是其中的一种。汇编语言的可控性较高级语言来说更具优越性。程序编写语言比较常见的有C语言、汇编语言。汇编语言的机器代码生成效率高,控制性好,但就是移植性不高。
C语言编写的程序比用汇编编写的程序更符合人们的思考习惯。还有很多处理器都支持C编译器,这样意味着处理器也能很快上手。且具有良好的模块化、容易阅读、维护等优点,且编写的模块程序易于移植。基于C语言和汇编语言的优缺点,本系统采用C语言编写方法[17]。
软件编写的主体思路是将系统按功能模块化划分,然后根据模块要实现的功能写各个子程序。整个软件程序的编写采用查询式方式编写的。
程序编写包括主程序,液晶显示程序,存储程序,AD转换程序和时钟程序。详情见附录
4.1主程序
主程序实现的功能:与硬件相结合实现便携式酒精浓度检测仪的各个功能。主要是检测与显示,数据存储。功能子函数的调用。见图4.1
首先开启启动按钮,启动单片机和显示器,同时对单片机内部进行初始化,紧接着初始化显示屏,初始化完毕后显示开机画面显示主菜单,然后对键盘的读入。
图4.1 主程序流程图 图 4.2数转换流程图
第 - 21 - 页 共 35页
4.2 A/D转换模块程序流程图
⑴模数转换模块的主要功能就是将经放大器放大的模拟电压信号转化为MCU能够处理的数字信号,并传送给MCU。A/D芯片的数据CS口,连接51单片机的P3.1口,CLK接P3.2,D1和D0接P3.3口。
工作时序如下所示: ADC0832有8只引脚,CH0和CH1为模拟输入端,CS为片选引脚,只有CS置低才能对ADC0832进行配置和启动转换。CLK为ADC0832的时钟输入端。CS在整个转换过程中都必须为低,当CS为低时,在数据输入端DI(数据输入端)加一个高电平,接着在CLK上加一个时钟,DI上的逻辑1就会使ADC0832的DI脱离高阻态,然后通道配置数据伴随着时钟通过DI端移入多路器,当最后一位数据移入多路器时,,DI变为高阻态,在这以前DO(数据输出端)都为高阻态。在经过一个时钟,DO脱离高阻态,从而启动转换。接着从处理器接收时钟信号,每经过一个时钟,转换后的数据就会从高位到低位依次从DO移出,经过8个时钟后,数据又以从低位到高位的形式从DO移出(也是每个时钟移一位)。当最后一位数据移出时转换完成。当CS从低变为高时,ADC0832内部所有寄存器清零。如想要进行下一次转换,CS必须做一个从高到低的跳变,后跟着地此配置数据重复上面的过程。
⑵ADC0832转换的流程图见下图4.2
4.3液晶显示程序流程图
LCD模块在本系统中主要起着开界面汉字显示,以及各控制效果的显示。采用直接访问方式。
在 LCD1602 液晶上显示相应的读写数据。在液晶上显示的格式如下: C W 0 R 2 : 0 A 1 D 0 D R E R S E S A : D 0 : X 0 0 1 1 0 4.4本章小结
本章主要介绍了软件设计的主程序流程图、A/D转换模块程序流程图、按键程序流程图。液晶显示程序流程图,我们只有充分理解了各个流程图以后,才能运用汇编语言完成本设计的软件系统编程。最终,完成此次设计。
第 - 22 - 页 共 35页
第5章 本设计总结与展望
由于检测仪向更迅速更快捷发展,方便携带等要求发展。传统的机械检测仪或酒精计一般灵敏度和准确度也比较低或者检测方法难。
工厂企业到居民家庭,酒精泄露的检测,食品加工,酿酒等需要监控空气中酒精浓度的场合监控以及对酒后驾车的检测,对居民的人身和财产安全都十分重要且必不可少的,现如今,由于人们安全意识增强,对环境安全性和生活适性 要求提高。人们对检测的精度高,准确度高,携带方便等等要求。再加上气体传感器向低功耗、多功能、集成化方向的发展,单片机具有受集成限制,片内储存量较小,可靠性好,扩展简单,控制功能强等特点,因此,基于单片机的酒精浓度检测仪的研究和开发生产具有十分广泛的现实市场和潜在的市场需求。针对目前的现状,该系统设计遵守体积小,质量轻,性价比高的原则[19]。
便携式酒精浓度检测仪的设计主要分为硬件设计和软件设计。根据设计前对该系统所要实现功能的要求,综合考虑我们采用STC89C51单片机为控制核心。
首先要了解系统所要实现的功能;其次根据功能去选择相应的硬件资源;再次将一个大的系统进行模块化划分,然后逐一去攻破。最后把所有模块进行优化整合,便得到了一个完整的系统。基于这样的思路,完成了便携式酒精浓度检测仪的基本设计[20]。
软件是用C语言相编写的,具有很好的编写语言的优点,具有很好的可控性、模块化和移植性。编写的思路就是模块化的思想,将系统的各个功能进行划分,然后对各个模块进行设计。本系统的主要模块为传感检测、A/D转换、液晶显示和时钟设置。
此本设计采用传感器检测酒精浓度时输出的模拟信号,经AD0832转换输入单片机,从而从液晶显示上显示出来。通过对本次毕业设计[23],我学习了很多在大学遗漏的知识,让我在以后的工作中,更加的得心应手。
第 - 23 - 页 共 35页
参考文献
[1] 何立民.单片机高级教程应用与设计[M] . 北京:北京航空航天大学出版 [2] 郑义,陈俊.用AT89C52 和TLC1543 实现数据采集系统[J].电子世界,2004 [3] 郑学坚.微型计算机原理及应用.2006. [4] 李维提.郭强.《液晶显示应用技术》 北京:电子工业出版社,2000. [5] 王幸之.AT89系列单片机原理与接口技术,2004.
[6] 何希才.传感器及其应用。北京:国防工业出版社,2001.
[7] 北京精电蓬远显示技术有限公司.内藏KS0108B/HD61202控制器图形液晶显示模块使用手册.
[8] 王幸之.AT89 系列单片机原理与接口技术[M].北京:北京航空航天大学出版社,2004. [9] 华成英. 童诗白. 《模拟电子技术基础第三版》 北京: 高等教育出版社, 2004.
[10] 孙传友.温控系统原理与设计。北京:北京航空航天大学出版社,2002 [11] 林德杰.电气测试技术。北京:机械工业出版社,1993.
[12] 纪宗南.单片机外围器件使用手册—输入通道器件分册[M].北京:北京航空航天大学出版社,2005.
[13] 贾伯年.传感器技术,南京:东南大学出版社,2000.
[14] 郑学坚.周斌.微型计算机原理及应用[M].北京:清华大学出版社,2006. [15] 徐爱钧.彭爱华.《单片机高级语言C51应用程序设计》〔M〕.北京工业出版社,1999.
[16] 马忠梅等.《单片机的C语言应用程序设计》 北京:北京航空航天大学出版社,1997. [17] 赵阳.电磁兼容工程入门教程[M] .北京:机械工业出版社,2009. [18] 卢丽君.基于TLC1543 的单片机多路采样监测系统的设计[J].仪器仪表与分析监测,2007.
[19] Italian Conference on Sensors and Microsystems Di Natale, C. Proceedings of the 7th Italian Conference :sensors and microsystems : Bologna, Italy, 4-6 February 2002 [M]. Singapore ;River Edge, N.J. :World Scientific,c2002.
[20] Power Integrations TOPSwitch-HX Product Application Guide[J].2007,05,02.
[21]. LanJiChang C51 completely study manual microcontroller [M].beijing: chemical industry press, 2009.
[22] some fai, single-chip microcomputer principle and application, chemical industry press, 2010,8
[23] Italian Conference on Sensors and Microsystems Di Natale, C. Proceedings of the 7th Italian Conference :sensors and microsystems : Bologna, Italy, 4-6 February 2002 [M]. Singapore ;River Edge, N.J. :World Scientific,c2002.
第 - 24 - 页 共 35页
致 谢
第 - 25 - 页 共 35页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库酒精浓度检测仪的设计(5)在线全文阅读。
相关推荐: