- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 检测系统的软件设计
根据课题要求,便携式多参数生化分析仪的软件设计主要需实现以下功能:
开关机:长按键开关机。
满屏显示:开机后,仪器的液晶显示器将显示所有的显示符号以确定液晶没有损坏。
更换电池提示:如果仪器电量不足,则满屏显示后将显示。
记忆值显示:在电池可用的正常情况下,满屏显示后,仪器将自动显示上次的测试结果。
翻看记忆值:利用两个按键上下翻看存储在仪器中的所有测试值。
设定仪器时间:可通过两个按键调节设定仪器的时间。
显示结果:仪器根据信号的来源自动判断此次测试所测的指标是种其中的一种,然后将显示测得的4项或其中一项指标的。每一种数值以两种单位交替显示——。
超出量程显示:当测量结果超出仪器量程时,仪器将不显示测量结果。对数值过高还是过低将给出分别的提示。
自动断电:仪器关机时自动切断对检测部分电路的供电,以减少能耗。
针对以上功能设计的仪器软件系统主要由主程序,外部中断0()、外部中断1()、定时器中断0中断程序,A/D转换中断子程序,串口通信程序以及数据转换子程序等组成。整个系统程序均采用结构化方式进行设计。
仪器程序的开发使用C语言和KEIL uVISION2编译器。C语言可读性和可移植性远远超过汇编语言,对于开发周期来说,大中型的软件编写用C语言开发,其周期通常比用汇编语言开发小很多。KEIL uVISION2是众多单片机应用开发软件中的优秀软件之一,它不但支持众多不同公司以MCS51架构的芯片,集编辑,编译,仿真等于一体,同时还支持PLM,汇编和C语言的程序设计,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序软件仿真等方面也有很强大的功能。
现将主程序和几个主要的子程序的功能与设计介绍如下[24-27]。
3.1 主程序设计
图3.1主程序流程图如图3.1所示是仪器的主程序流程图,也是仪器的工作流程。由流程图可以看出,仪器的各个功能都得以实现。其中翻看记忆值、插入试纸、设定时间以及联机等功能之间的切换是由按键触发外部中断0而实现的。其余过程如图,不再述。3.2 定时器1中断子程序
图3.2定时器中断子程序编程中使用定时器1实现仪器的计时。ADμC812有3个定时器/计数器,即定时器/计数器0、1、2,和一个看门狗定时器。这里只用到定时器/计数器1。在专用寄存器TMOD(定时器方式)中,设定定时器/计数器1的工作方式为定时器方式。此时计数输入信号是内部时钟脉冲,每个机器周期等于12个振荡器周期,故计数频率为振荡器频率的1/12。令定时器工作在16位的模式。设定初值使得每次中断的时间为10。如图3.2所示,为精确计时,分别用、与三个寄存器表示10、和。这样每次使用定时器计时时,只需将这三个寄存器清零即可。3.3 外部中断0子程序
图3.3外部中断0子程序如前所述,外部中断0中断程序主要负责翻看记忆值、插入试纸、设定时间以及联机等功能之间的切换。外部中断0中断程序流程如图3.3所示。为了提高仪器的抗干扰能力,中断程序中加入判断,如果按键时间不超过100,则仪器认为没有按键。如果按键时间超过1,则仪器认为操作者准备关机。因为正常按键时间都在0.11秒之间。当响应有效的切换按键后,寄存器STATE自动加1。当中断程序返回时,主程序根据寄存器STATE的数值判断应该进入哪个功能模块。3.4 外部中断1子程序
外部中断1服务程序主要负责判断当前测试的是四个酶电极中的哪个,以便进入相应的测试程序。同时开通相应的A/D转换模拟端口,控制待测试电极中样本的反时间,然后退出中断服务程序。
图3.4 外部中断1流程图
3.5 A/D转换中断程序
A/D转换子程序主要负责读取模/数转换结果、数据处理、超量程判断、测试结果的计算及显示。流程图所示。
图3.5 A/D转换中断程序流程图
3.6 通信中断程序
通信中断程序主要是完成本机与其它仪器通信服务。当有其它仪器要求与本机通信时,仪器即可进入通信中断子程序,进入中断服务程序后,首先保护现场,然后判断是发送数据中断还是接收数据中断若是发送中断,则发送校正码,如果对方收到的校正码正确,则发送数据,直到数据发送完毕,然后返回主程序;若是接收中断,则把数据存入已知存储区,直到接收完毕,返回主程序。程序流程图图3.6所示。
仪器软件设计中,液晶模块的显示程序、EEPROM的存取程序以及日历/时钟芯片的数据读取等程序都是按照相应资料给出的编程读写时序编写的,这里不作过多说明。图3.7给出了仪器详细的软件流程图。
图3.6通信中断程序
图3.7仪器总体流程图
第章
( 29 (
文档评论(0)