




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图4.1整体软件设计流程图所示。图4.1软件设计流程图4.2红外温度检测软件设计该红外测温模块有三路,三路设计基本一致,因此这里只介绍其中一路,MLX90614红外温度传感器与单片机通信方式是IIC通信,由于使用了三路传感器,单片机使用I/O口模拟IIC的时序。温度传感器的数据输出信号和时钟信号分别接单片机PB8,PB9口。采用I/O口模拟IIC时序,根据IIC时序图,初始化过程包括起始信号、应答信号、读操作、应答信号和停止信号。在利用IIC总线进行数据传输时,首先由主机发出启动信号,启动IIC总线。启动信号为在SCL为高电平期间,SDA出现上升沿。此时,具有IIC总线接口的从器件会检测到该启动信号,IIC总线在进行数据传送时,时钟信号CLK为高电平期间,数据线SDA上的数据必须保持稳定,能且仅能在时钟信号为低电平时,数据线上的高电平或者低电平才允许变化。由于红外温度检测测量到的值是16进制,因此先将低八位数据取出、再将高八位数据取出然后转化为摄氏度。红外温度测量软件关键代码如下。floatGet_Tem_DATA(u8ReaAd)//获取传感器所的温度值,℃,传入读取的RAM地址,输出摄氏度{ //从设备的地址从0x00开始//使用读的过程:写读命令,每次从高位到低位u8Pecreg=0;u8DataL=0,DataH=0;u16tem=0; floatTemp=0; IIC_Start(); IIC_Send_Byte(0x00);//主机先发送写命令写入地址 IIC_Wait_Ack(); IIC_Send_Byte(ReaAd);//RAM地址0x07可以获得温度的信息 IIC_Wait_Ack(); // IIC_Start(); IIC_Send_Byte(0x01);//主机发送读命令 ,从上面传送的地址中读取数据 IIC_Wait_Ack(); DataL=IIC_Read_Byte(1); DataH=IIC_Read_Byte(1); Pecreg=IIC_Read_Byte(1); IIC_Stop(); tem=(DataH<<8)|DataL;;//接收到传感器的16进制温度值 Temp=(((float)tem*2)-27315)/100;//将16进制温度值转化为℃ returnTemp;}4.3显示软件设计TFT液晶显示屏,能够显示的内容包括数字、汉字、图片等内容。可以满足大部分项目开发的需求。驱动芯片为ILI9325,TFT和单片机之间采用SPI通信,DDRAM用于存储液晶需要显示内容的数据,包括所有能显示内容的数据,在控制的时候调用对应显示内容的数据到液晶屏,完成显示。代码中首先将与TFTLCD模块相连的I/O进行初始化,以方便进行LCD的驱动,接着将LDC初始化,最后通过设置坐标、写GRAM指令、写GRAM来实现通过函数将字符和数字显示到TFTLCD上,如图4.3所示。图4.3TFTLCD使用流程4.4按键软件设计按键的判断需要准确,如果按键判断错误,那整个系统的控制就会有问题。按键动作的检测主要在软件代码设计上,首先要分析按键动作机制,了解清楚按键动作才可以更好的设计软件代码。理论上按键就是开关动作,但是由于实际情况是机械动作转换为电信号,机械动作难免存在摩擦等情况,因为人手按下按键的机械动作存在抖动以及摩擦,所以在按按键的时候,真实情况是抖动的,所以导致按键开关是抖动开关,输出的电信号也是抖动状态,即为高低电平抖动,等人手按下按键稳定后,才输出稳定的低电平,这个抖动过程一般是3到5毫秒,因此在单片机扫描按键电信号的时候,需要在按键按下状态稳定后检测电信号,在软件代码扫描中第一次扫描到按键有效信号,此时并非真正的稳定信号,而是抖动开始或者干扰信号,所以待3到5毫秒后继续扫描,如果仍然是稳定信号,则表示按键按下。按键程序设计如图4.4所示。图4.4按键软件设计流程图4.5上位机设计本设计中的下位机将采集到的体温数据通过串口传输到上位机中,因此采用了一款利用LabVIEW软件设计的上位机,制作出了一套体温数据管理系统。LabVIEW是实验室虚拟仪器集成环境的简称,是目前我国应用较为广、功能、强、发展也是最快的图形化软件开发环境。其受到了业界的认可和好评。它可以把复杂的文本语言编程简化成用菜单或图标提示的方法选择功能,为没有编程经验的人员提供了简单便捷、完整的环境,适合适用于从事科研的科学家和工程技术人员。LabVIEW是一种虚拟仪器开发平台软件,能够用它直观简便的编程方式、各式各样的分析和表达功能,为用户提供了便捷。LabVIEW的核心是VI。VI有一个它对应的人机界面,也就是前面板的程序结构和源代码功能,前面板接收到来自程序的指令。在VI的前面板中,输入控件模拟了仪器的输入装置并把数据提供给VI的程序图:而显示控件则模拟了仪器的输出装置。当把一个输入控件或显示放置到前面板上时,LabVIEW在程序图中相应地放置了一个端口,这个从属于输入控件或显示控件的端口不能随意删除,只有删除它对应的输入控件或显示控件时它才随之一起被删除。用LabVIEW编写程序时,不必受常规程序语法的限制。首先,从菜单中选择需要的节点,将其置于面板上合适的位置;然后用线连接节点在程序图中的端口,用来在节点之间传输数据。这些节点包括了的算术功能,高级数据采集和分析以及用来存储和检索数据的文件输入输出功能和网络功能。用LabVIEW编制出的图形化VI是分层次和模块化的。LabVIEW依附并发展了模块化程序设计的概念。它是一个功能性强大且灵活的软件,利用它可以方便的建立自己的虚拟环境。本设计的上位机LabVIEW部分通过Access平台完成,它可以准确而又快速的对数据进行处理和查询,可以管理大量的人员信息。上位机部分完成对下位机的驱动,数据的显示及储存和查询。上位机的数据存储在SqlServer2012数据库中。该数据库具有较强的集成性,安全性也比较高,可以避免非用户直接访问、串改数据。用户可以直接通过上位机平台输入、查重、编辑。选择该数据库符合整个系统的设计需求的。设计的界面示意图如4.5所示。图4.5上位机界面示意图4.6本章小结本章节完成了对系统整体软件设计、红外温度检测软件设计、显示软件设计、按键软件设计以及上位机设计,下位机采集温度信息通过串口发送到上位机,然后对体温进行保存查询,详细的介绍了LabVIEW软件。第五章系统测试5.1软件调试设计好C语言代码之后,用Keil编译出单片机可以执行的文件,完成软件设计。C语言比较符合语言逻辑,所以学习起来非常简单,只需要掌握32个关键词就可以应用C语言进行软件编程设计。Keil的使用只需要建立工程、建立代码文件、编译工程即可。Keil编译后的可执行文件可以直接烧录到单片机。建立好工程后,Keil默认添加器件相关库文件,无需手动添加,大大提高了开发效率。对系统的进行方案选择以及硬件电路设计后,对系统的软件进行设计,在进行代码编写时也是有一定的方法,系统选择模块化编程思路进行软件代码编写,模块的划分可以依据硬件单元模块或者功能单元模块,在整个编写过程中,按照顺序进行编写,调试完成一个部分,再单独进行下一部分的调试,各个部分完成后组合在一起,这样在后期出现问题后,可以单独对这一部分进行调试,而不影响其他部分。同时也对各个部分代码进行备份,以免出现异常情况丢失工程项目资源。这种编程方式使得代码更加清晰,代码的阅读更加简单。Keil启动调试界面如图5.1所示。图5.1Keil启动调试界面经过对系统进行软件代码设计之后,需要对软件代码的设计正确性进行验证。可以借助Keil开发环境对软件代码进行验证,Keil可以对软件代码进行编辑、编译、执行等操作。如果设计软件代码有语法错误,Keil会进行提示,加快项目开发周期。保证软件代码没有语法错误之后,对功能进行调试,实现系统所有的功能。Keil还带有BUG模式,能够更深入的对软件代码进行调试,在前期发现一些开发问题,尽早解决软件设计问题。Keil会对错误信息作出详细的提示,直接定位到错误所在位置,更加直接的调试代码,完成系统软件代码设计。系统的软件代码设计完成,可以借助Keil对代码进行验证,Keil可以完成系统的代码设计,同时也可以对代码进行验证,Keil支持大量品牌的单片机,可以开发对应的代码,完成代码的编写、测试等。Keil可以对代码进行编译,如果出现错误,可以对代码进行修改,知道编译出现0错误,就表示代码没有语法错误。Keil会准确的判断出代码错误的位置,具体在哪一行,然后分析代码后,对代码做出正确的修改。通过Keil可以在进行实物调试前对代码进行一定程度的测试,保证在实物测试前代码的正确性,减少不必要的错误带来额外的工作量,加快开发进度。图5.2调试界面5.2实物组装在进行实物焊接制作前,需要先按照电路图置办所有的器件以及相关工具。相关工具包括烙铁、万用表、焊锡丝、飞线等工具。按照电路图的设计,先进行电源接口电路的焊接,因为电源是其他电路部分必须的部分,只有有了电源才可以进行测试。之后进行单片机系统电路的焊接,其他部分需要通过单片机进行控制,所以有了单片机这部分才可以测试其他功能,在制作好单片机部分后,要进行测量,保证这部分电路没有问题,才可以进行接下来电路的制作,在测量时首先要测量电源,用万用表导通档位测量电源是否短路,如果正常,通电后用万用表测量电源电压是否正确。进行其他电路功能部分焊接的时候,进行一个功能电路之后,就要结合单片机系统进行测试,测试是否有短路,测试电压是否正确,测试功能是否正确。最终完成实物的焊接制作,即可进行系统各项功能的测试。实物组装要有一定的顺序,先组装电源,然后主控制器电路,之后电源正常的情况下才可以验证其他的功能电源。实物在组装好之后,在打开电源开关之前需要测量系统是否有短接。保证系统电路连接正常。在电源指示正常的情况下,才可以对系统的功能进行测试。对每个模式下的各个功能进行单独测试。有条件的还可以做长期测试,看看系统是否稳定。如果功能出现问题,需要判断是硬件还是软件问题,在去对问题进行修复。实物如图5.3所示。图5.3实物组装图5.3液晶上电测试系统供电开关打开之前,一定要确保没有短接,并且电路板底部和周围不能有导电物体,否则很可能会影响电路板线路的连接,严重的话可能导致烧坏器件。整个电路板电源不能有短路的情况,如果电源出现短路,很有可能会烧坏器件,电源发热等现象。如果信号线出现短路,那相应的功能会不能实现,无法进行操作。所以在焊接制作时就要保证每个功能部分以及各部分的连接关系是否有短接,通过万用表测量短接现象。在打开电源开关一瞬间,观察电路板状态,只要有异常,必须马上切断电源,保证电路板损坏程度最小化。这也是前期组装出现的问题,所以在前期焊接时,要做一步测量一步,保证在进行下一步操作之前,上一步的操作不会遗留下焊接错误,否则在最终完成焊接制作后,会很难查找到问题所在,也难易解决焊接短接问题。上电测试时必须保证系统电源没有短路的情况,如果出现短路,系统的很多器件都可能被烧坏,甚至整个系统都要从新制作。使用万用表测试系统是否短路,在上电之前保证系统不短路,上电后首先观察电源指示灯是否正常,如果没有正常点亮,马上关闭电源,进行测量。如果电源指示灯正常,观察液晶显示状态,一步步观察各个功能状态,如果所有可观的功能状态正常,就可以对系统各项功能进行操作演示,验证系统各个功能是否达到最终的要求。系统上电,液晶第二行显示体温数值为31.5摄氏度,液晶第三行显示当前体温上限阈值,液晶第四行显示当前体温下限阈值。液晶显示上电测试图如图5.4所示。图5.4液晶显示上电测试图5.4系统上电测试组装机器,安装系统,并进行系统功能检测,这个具体过程要把握四个方面:第一,各个部分电路组装焊接完成后要先进行单独检测,比如供电端是否短路等,检测通过之前不能与其他部分连通,检测通过后才能和其他模块连接在一起。第二,开始组装电源电路,组装和检测过程中同样不能连接其他模块,主要是防止电源电路有故障,出现影响或损坏其他部分电路的问题。待电源电路上电测试通过后,再连接作为核心部分的主控制器电路。主控制器电路特别重要,其他电路都是通过其控制的。第三,上述电源电路和主控制器电路组装步骤完成后,接着就是将二进制可执行文件烧写到主控制器板子里面,并进行运行验证,检测这两部分电路设置是否正确。第四,制作其他模块电路。系统在采集体温的过程中,一旦数据处理发现体温值过高,超过了系统设置的体温阈值,就会迅速做出声光报警反应。用户可以按键调整体温阈值的大小。系统上电测试如图5.4所示。图5.4系统上电测试5.5串口通信测试串行接口简称为串口,串口作为MCU的重要外部接口,同时也是软件开发重要的调试手段,其重要性不言而喻。现在基本上所有的MCU都会带有串口,STM32自然也不例外。STM32的串口资源相当丰富的,功能也相当强劲,ALIENTEK战舰STM32开发板所使用的STM32F103ZET6最多可提供5路串口,有分数波特率发生器、支持同步单线通信和半双工线通讯、支持LIN、支持调制解调器操作、智能卡协议和IrDASIRENDEC规范、具有DMA等。通信有并行和串行两种方式。在单片机系统以及现代单片机测控系统中,信息的交换多采用串行通信方式。串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送,此时只需要一条数据线,外加一条公共信号地线和若干控制信号线。因为一次只能传送一-位,所以对于一个字节的数据,至少要分8位才能传送完毕。通过USB转串口来实现STM32与电脑的通信,这里用串口调试助手来测试通信是否成功,当温度传感器检测到人体温度范围时,将数据通过串口发送到串口调试助手上,测试图片见下图:图5.5TFT显示图5.6电脑端接收到的数据5.6上位机功能调试该系统测的体温数据通过串口方式与电脑的上位机进行数据通信,能将采集的温湿度值传输到电脑的上位机进行显示。完成传输数据的第一步是要配置好串口,需要通过端口设置将计算机串口的各种参数与下位机设备的串口保持一致。调用VISA端口配置函数来完成串口的参数设置,该函数包括了VISA资源名称、波特率以及数据位等等。在本设计中用到的串口号是COM9,波特率选用9600。串口相应的端口设置如图5.7所示图5.7端口设置串口初始化以后,将温度数据发送到上位机上,由于读取串口用到的是VISA读取函数,读取到的是字符串的形式,因此需要进行格式转换将字符串转换为数值进行显示。VISA实质上是一个I/O接口软件库的总称,其存在于仪器与仪器之间驱动程序,完成仪器寄存器储存数据的操作,且为仪器与仪器驱动程序传递信息。上位机流程图如5.8所示图5.8上位机流程图上位机采集的数据如图5.9图5.9采集测的体温数据这是最简易的流程图,也是很重要的一步,我们需要注意的是系统从串口读来的数据被自动转化为ASCII字符。在这次设计中还用到了一个子VI,前面板和程序框图如图5.10图5.10前面板和程序框图前面板由输入控件和显示控件组成。这些控件是VI的输入输出端口。输入控件是指旋钮、按钮、转盘等输入装置。显示控件是指图表、指示灯等显示装置。输入控件模拟仪器的输入装置,为VI的程序框图提供数据。显示控件模拟仪器的输出装置,用以显示程序框图获取或生成的数据。下图为收集到的体温和其他数据存储数据库。图5.11体温及其他数据存储数据库如果需要查询某个人的信息,只需要输入任意字段的数据,然后点击确认搜索,下列显示搜索的结果。例如搜索“张车车”,如图所示。图5.12检索数据库某个人的体温信息5.7本章小结本章节完成了对系统功能的测试,完成了软件测试、实物组装、系统上电测试、上位机测试,实现了系统功能。第六章总结与展望整个系统的设计过程包括最初的方案选择、系统硬件、系统软件,最终还制作了实物去测试。完成了无接触体温测量系统的制作。这个实物制作的过程也验证了大学期间学习的知识。通过从理论到实践,感受到了一个真正的产品出行的过程,对将来走到工作岗位有很大的帮助。通过这次的设计制作明白了开发的真正含义,其实就是对一个有一个问题的解决,这个开发就是解决问题,所有的问题都解决了,这个产品也就完成了。也明白了一句话,实践出真知,只有在实战中才能学习到真正的知识,有些东西必须要经过实际的操作才能够真正的体会到。系统完成了单片机电路、体温采集、显示采集、按键功能、报警功能、指示灯的电路设计,完成了单片机系统的软件设计,实现了系统对体温进行采集,获取到体温后,如果体温超过设置的体温阈值,则进行声光报警提示,液晶显示实时显示采集的三路体温数据,用户可以按键调整体温阈值的大小。上位机可以实时显示测量的体温数据,同时手动输入姓名等这些数据,将数据写入到数据库中,同时可以输入任意字段查询某个人的体温数值。进行硬件电路设计时,要考虑实际应用情况,比如电源要加入开关,还需要有指示灯,考虑实际应用情况,所以在生活中要多多观察一些产品的功能,多站在用户的角度设计系统功能,让用户使用起来更加方便。在进行软件设计时需要考虑到后期的调试,毕竟软件是不可见的,需要加热与便于调试的功能,比如串口调试打印信息,这样在系统软件出现问题的情况下,可以借助打印信息了解系统的BUG信息,可以更快的进行调试,解决软件问题。虽然系统最终也只做出了实物,并且经过测试功能都已经完成,但是还是存在这很多的不足。比如整个实物都是手工焊接只做,而真正的产品制作,并不是由手工焊接调试而成的。所以后期可以进一步的优化设计,首先对系统进行PCB集成。经过对图纸的从新设计,完成所有器件的细化选型,设计出PCB图纸,将所有的功能集成在一块板上进行测试。另一方面,可以融入一些物联网的功能,让系统的功能更加智能。结束语经过整个系统的制作,了解了项目开发的大致流程,在制作系统前,通过查阅大量的资料,了解系统相关信息,掌握技术相关信息,以便于更好的设计系统方案。只有真正了解到目前相关产品的技术现状,才能更好的进行系统设计。整个系统开发过程中,资料网络的查阅也是非常重要的,怎么搜索资料,怎么解读资料都是需要经验的。再有方案设计阶段也很重要,如果前期方案设计合理,后期就不会有方案不对的问题,不会回过头来更改方案,所以方案设计阶段花费的时间可能会超过系统制作的时间,因此方案的设计要不断的斟酌,考虑更多的因素,保证方案的正确性。在本次毕设过程中,我清楚的认识到自己的缺点和不足,使我深知学无止境,未来的我们要更加努力,才能接受社会对我们的考验。参考文献[1]柳文静.基于单片机的温度报警器[J].电子测试,2020(03):5-7.[2]吕志华.基于单片机的温度控制系统设计[J].电子技术与软件工程,2019(21):231-232.[3]冯逸扬.基于单片机的数字温度报警器制作详解[J].湖北农机化,2019(20):146.[4]高杨.基于单片机的气压温度感知系统研究[J].西藏科技,2019(10):64-67.[5]朱彤珺.单片机在温度控制系统中的应用探究[J].信息记录材料,2019,20(10):79-80.[6]甘琪琛,薛安琪,钟明静.基于单片机的测温系统设计与实现[J].电脑知识与技术,2019,15(21):237-239.[7]时永宝.基于单片机的多路温度采集器设计[J].智能计算机与应用,2019,9(04):301-303.[8]叶子馨,任广鹏,李东青.基于单片机的教室温度控制系统的设计[J].科技经济导刊,2019,27(16):74.[9]类延强,张丽萍,类延法.基于单片机的可编程红外温度传感器设计[J].工业控制计算机,2019,32(04):125-126+128.[10]贾冬义.基于STC89C52单片机的非接触式温度测量设计[J].河套学院学报,2017,14(01):78-82+93.[11]薛彪,张可儿,岳明星.基于单片机的非接触式温度测量仪设计[J].陇东学院学报,2016,27(03):14-18.[12]方潮海,叶良伟,朱丽军.基于单片机的非接触式红外
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装配式建筑楼梯预制安装与节能减排工程服务合同
- 康复病人护理全流程管理
- 遗产官司赡养协议书
- 车位分期贷款协议书
- 集体土地合同协议书
- 风貌塑造安全协议书
- 卫生间服务合同协议书
- 解除环卫合同协议书
- 车辆备案代办协议书
- cnc工厂学徒协议书
- 慢性淋巴增殖性疾病的诊断课件
- 2024年高校教师资格证资格考试题库含答案(满分必刷)
- 2024-2029全球及中国电气电子中的CFD行业市场发展分析及前景趋势与投资发展研究报告
- 中国法律史-第三次平时作业-国开-参考资料
- 五十六个民族之土族介绍
- JT∕T 794-2019 道路运输车辆卫星定位系统车载终端技术要求
- 悬挑脚手架及卸料平台监理旁站记录表
- 资产处置报废方案
- 神志病中西医结合临床诊疗指南-精神分裂症
- QBT 2198-1996手电筒行业标准
- 人教部编版六年级语文下册第五单元(教案)
评论
0/150
提交评论