版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
页共31页绪论1.1课题研究的背景新冠肺炎袭来,人们最关心的话题便是人体体温。在这样一个特殊的时期里,人们被测量体温的次数远远超过平常。体温是衡量人体健康的重要指标。体温高或低是身体不正常的信号。传统的体温测量方法是在水银体温计测量体温。虽然水银体温计的测量非常精确,但响应时间长,可能对环境造成严重污染。随着现代科学技术的发展,单片机已广泛应用于物理、化学实验、医疗卫生、食品制备等领域。随着生活水平的不断提高,人们对温度计的性能要求越来越高,如响应时间短、测量准确等。传统的测温元件通常是热电偶,它将采集到的电压转换成相应的温度,不仅需要大量复杂的软硬件支持,而且调试非常复杂,投入使用需要大笔的花销。在疫情爆发过程中,无接触测温变得尤为重要。本文主要设计了一种基于单片机设计和实现的电子体温计。本设计分为硬件设计和软件设计两个部分,其中硬件设计部分主要包括温度采集电路、显示电路、语音播报电路、报警电路,软件设计部分用KEIL作为编程软件,使用C语言进行编程。1.2发展概况/国内外研究现状早在16世纪,伽利略就已经成功发明了一种水银制的体温计,但是由于各种原因,直到300年后人们才设计出使用方便、性能可靠的体温计。当水银受热膨胀时,会沿着玻璃管上升,即使微小的温度变化也能够引起水银大幅度的上升,当水银温度与被测者皮肤温度相同时,水银会自动停止上升。此时,可以读取温度值。测量体温工作完成后,还需有力甩体温计,使水银迅速返回到玻璃球,方能继续进行下一次的体温测量。在此之后,人们也陆陆续续的发明了各式各样的体温计。1714年,加布里埃尔·华伦海特开发了水银体温计,将冰点和人体温度范围设定为刻度。最后,由于体积大,没有被医生接受。1868年,体温计体积仍然太大,测量体温大约需要20分钟。由于水银温度计精度高,携带方便,各方面的功能已经非常成熟,人们也就没有开发其他类型的温度计,但是随着工业发展步伐的加快,环境受到了严重的破坏,环境保护显得迫在眉睫,促使人们开发环保型电子温度计。现代计算机技术的发展十分迅速,短短几十年就已经广泛地普及到了我们生活、工作等各个领域,我们的日常生活也因此而得到了很多的便捷。近些年来,微型计算机(或者单片机)的进一步发展和应用更是引起了数码家电产品的新一轮技术革命。鉴于该系统的强大容量和功能,具备良好的可编程特点,体积小,价格低廉,人们研究开发了基于这种单片机自动控制的电子式体温测量仪。1.3主要论文内容本次设计主要分为六个部分,从设备的设计背景到系统的具体设计,然后对设备进行整体的功能测试,最后完成整个系统的设计总结。第一章介绍系统设备的背景以及相关的现状,然后进行论文整个章节的设计与架构,完成论文的整体框架设计。第二章进行系统设备的方案设计,包括了设备整体结构框图的确定,以及硬件与软件的具体设计要点,并且对一些关键的器件进行选择对比然后确定。第三章主要介绍整个系统的硬件电路设计,包括了单片机最小系统设计,外围辅助电路的设计,首先介绍整体电路,然后对重要的电路分别进行电路模块设计。第四章主要是介绍系统设备的软件编写,包括了整体的流程图及程序设计与相关子流程的设计。第五章主要是进行设备的功能测试,包括设备的制作具体步骤,主要功能的测试与功能展示,最后的部分对系统设备进行整体的设计总结。2系统的整体方案设计2.1硬件与软件的要点设计设计项目是需要一个完整的总体思路作为指导,总体思路的正确会使项目在设计的过程中顺利执行,避免走入误区,一般项目在设计时通常会考虑以下几个方面的内容:1、硬件设计:硬件设计是整个项目实现的基础,最终的功能展示也是通过硬件来完成,是基础型的原理性设计。在设计之初,首先就是对核心的单片机进行选择,根据单片机的型号、内存、引脚数量、运行速度等等参数,再结合项目的需求选取合适的单片机。其次,根据设计需要实现的功能选取传感器,需要对传感器的性能、功能进行全面的掌握,尤其在传感器引脚的使用方面更要全面了解,通过查找传感器的器件手册了解传感器的引脚分布和封装尺寸。在所有需要的模块确定完毕之后,进行原理图的绘制,绘制过程中不断的参考资料,完成原理图设计。最后对照原理图完成实物的焊接工作。2、软件设计:软件设计是依托于硬件原理之上进行设计的,硬件需要软件来运行功能,软件需要硬件实现功能,在本质上是一个相互依存的关系,软件设计必须严格对照硬件引脚进行代码的编写,否则将无法实现所需要的功能,对于大多数的时候,为了代码编写方便需要随时调整硬件引脚的位置。在软件代码设计的时候,第一步完成的就是主程序的框架设计,框架中可以没有具体的功能,但必须要层次清晰,为不同功能的子程序分配位置,避免相互干扰,出现混乱。主程序的框架结构搭建完成之后,就需要编写各个子程序的代码,实现模块化设计,这样设计的代码在后期调试整体功能的时候,优势是非常明显的,可以单独调试某一功能验证,并不会影响其他功能。3、系统的测试:系统测试是设计中非常重要的一个步骤,测试中会发现设计的缺陷,硬件和软件在设计的过程中难免会出现偏差,细微的偏差将会导致功能的不可实现,尤其在功能相互重叠的地方,子功能调试都没有问题,整体调试出现功能不可控,这就需要优化代码或者变更硬件来解决。在反复的测试中查找问题,优化代码,使整个项目功能达到满意。2.2总体框图设计设备系统的运行离不开单片机的控制与运算,单片机是整个设计的核心部分,通过单片机来进行整体的数据采集,然后将采集数据进行数据处理,通过外围辅助设备与模块实现整体的功能设计。本次设计通过整体框图形式展示整个系统设备的具体功能,通过单片机与外围硬件的配合来实现整体设备的功能架构,本次设计无接触测温,并且语音播报温度。本设计由STM32单片机电路、红外线测温电路、语音播报电路、LCD1602显示电路、蜂鸣报警模块、及电源电路设计而成,整体的功能结构框图如2-1图所示:图2-1系统的整体框图2.3主要器件的选择2.3.1单片机的选择STC系列单片机:STC单片机是国产的8位单片机芯片,STC89C52单片机兼容AT的51内核。STC单片机的资料是非常多的,可以说是网上最丰富与最细致的资料之一。STC89C52单片机下载程序的接口可以采用P3.0的RXD与P3.1的TXD引脚进行直接连接来下载程序。这样的好处就是下载调试程序非常的快捷便利,采用一个USB转TTL就可以进行程序的烧写。STC单片机的外设简单,只需要正确的搭建最小系统单片机就可以正常的进行工作。单片机的寄存器与IO管脚操作也是相对简单。STM32系列单片机:STM32单片机是进口的单片机,生产公司是意法半导体公司。STM32系列的单片机应用在消费领域是非常的普遍的。STM32系列单片机是32位单片机,处理速度相对较快。STM32系列单片机采用ARM的内核架构,处理速度进一步得到优化。STM32系列单片机开发需要一些基础,相对比51单片机是复杂一些的。STM32单片机的寄存器相对较多,开发有两种模式,分别是寄存器版本开发,与库函数版本开发,寄存器版本需要特别的熟悉底层,寄存器只要调用相关接口实现功能的开发。STM32系列的单片机资料相对也是比较多的,遇到问题可以网上去查找解决。树莓派系统:树莓派可以看作是一个微型的电脑,也可以说树莓派是一个基于ARM内核的微型的电脑主板。树莓派支持C语言编程与Python语言编程。树莓派可以通过IO接口直接连接传感器进行数据的采集,也可以通过IO口进行外围设备的驱动。不仅仅可以满足基础的单片机功能,还具有PC机的基本功能,树莓派采用LINUX系统,可以外接鼠标、键盘等一些驱动设备。树莓派具有优秀的网络功能,可以实现服务器、网页的设计与制作,并且可以播放高清视频,游戏运行等功能。由于树莓派的硬件构成,包括了CPU,存储等,所以价格相对传统的单片机是比较昂贵的。根据本次设计的综合考虑,采用STM32系列单片机实现系统的整体功能,完成最小系统与外围设备的搭建与调试。2.3.2显示电路的选择数码管显示:数码管的特点是显示内容清晰,电路控制简单,操作简单,价格低廉,可以满足大多数简单场合的需求。LCD1602显示:显示系统实现人机界面的交互,LCD1602具有背光LED让显示更加的清晰。LCD1602可以显示2行的英文字符或者数字,每一行可以显示16位数。通过显示不同的数字或者字母来实现数据的人机交互显示。LCD1602采用并行串口控制,数据的显示与刷新速度较快。LCD1602显示的优点是显示数据量相对较大,显示的结果较清晰,可以通过不同字母实现不同变量数据的代表。本次设计综合考虑人机交换系统多的需求,采用了LCD1602显示器作为系统的人机交换设备,可以实现系统的数据量显示。2.3.3电源的选择USB电源:采用USB接口实现电源的供给,通过电源适配器可以将220V的市电转化为系统直接使用的直流电源。USB的电压是5V,可以为系统的硬件提供电源,并且还可以通过USB接口供电。最为常见的包括电脑USB接口,手机充电宝的USB接口。USB电源输出的质量比较高,电源适配器都是经过严格的要求才会生产,USB输出设备的文波与干扰也是比较小的。电压输出比较稳定,只需要根据设备选择合适的适配器就可以为系统供电。220V市电供电:电源的设计是一个比较复杂的学科,设计一个稳定的电源需要长时间的测试与验证,才可以保证系统电源的稳定。市电通过变压器进行电压的变化,根据不同系统变比不同的电压,主要是根据变压器的参数来决定。变压之后要进行整流,将交流电压变换为直流电压,通常采用整流桥。然后采用电解电感进行滤波减少电源的干扰。最后根据系统的要求采用线性变压器件实现稳定的电压输出,通常采用7805X器件实现5V的电压输出。这样做的缺点是实现电源的质量不能得到保证,采用市电如果不慎接入主板会导致设备烧毁并且具有触电危险。综合所诉,本次设计采用稳定的安全的直流USB进行直接供电,为系统提供稳定的电压输出。2.3.4按键的选择独立按键:按键是系统信息的输入接口,通过按键可以设置参数与选择功能。独立按键是每一个按键都占用一个单片机的IO接口。通过按键来改变单片机IO管脚的引脚变化,通过变化识别外部信号实现信息的采集。独立按键具有操作灵活,与单片机的接口也相对简单,数据监测容易,单片机只需要识别是否具有按键按下,也就是监测是否会有低电平的变化就可以了。独立按键比较适合按键较少系统,通常在8个按键以下都可以采用独立按键进行设计。矩阵按键:矩阵按键比较适合多按键的输入系统,通过单片机4*4交叉实现每一个交叉节点处放置一个按键,共有16个按键,可以实现系统较多输入信息要求。矩阵按键通过行与列的电平扫描变化,来判断是哪个交叉处的按键按下,通过识别按键编码来实现信息的对应输入。矩阵按键具有占用IO单片机接口少,可以显示多键盘的输入。缺点在于焊接比较复杂,驱动时候需要按照对应的按键码进行程序的编写,相对独立按键来说使用比较复杂。综上所述,根据设备实现的功能,本次选择独立按键进行系统设备信息的采集。3系统硬件电路设计3.1单片机最小系统单片机原名叫单板机,最先生产的时候是在美国的泰尔实验室,通过模拟电路三极管的硬件搭载电路完成的设计,单板机的体积结构特别庞大,实现的功能却比较单一,所以最初的单板机并没有得到科技的青睐,后来随着晶体管的发展,可以把体积庞大的单板机融合到非常小的芯片中,从此单片机诞生。单片机内部排列着数以万计的硅晶体,这些硅晶体管的有序排列实现各种与非门的逻辑控制,我们把各个不同的逻辑控制叫做芯片的外设,通过陶瓷或者工程塑料将这些硅晶体管封装起来,同时将各个外设资源的功能引脚保留在封装之外,这就是看到的白色引脚,即单片机的管脚。引脚分为普通的IO引脚和外设的功能引脚,对于单片机本身来说,我们通过编程控制的就是单片机的引脚功能。有些特殊的引脚,在单片机的内部有固定的设置空间,通过编程按照单片机的规则进行设置,最终实现其所拥有的功能。对于普通的IO管脚,系统进行输入与输出控制,结合外围的器件实现各种不同的功能要求。单片机在外部形态上各种各样,按照焊接的功能可以分为直插式与贴片式,无论什么样的封装形式,单片机都是通过内部寄存器来控制外部的IO引脚,通过单片机的整体协调功能完成多个传感器的协调工作,单片机开发一定要对应单片机的开发手册进行开发,尤其在单片机的内部寄存器的配置使用方面,一定要严格按照手册中的规定进行配置,比如单片机的定时器的设置,又如单片机的串口功能的设置。其次是掌握单片机的IO口的使用技术,IO口的技术是与外部传感器和外部采集芯片最重要的应用核心,大部分单片机的IO应用技术是相同的,不同的单片机对于IO的应用技术是一样的,只要学会一种单片机即可,其他的单片机都是一样的。单片机的IO口在使用中既可以作为输入,也可以作为输出。作为输入时,单片机将其视为信号的检测标志,时刻对输入引脚的高低电平进行检测,当有变化的时候,即可判断外部信号源出现监视信号。作为输出时,单片机的引脚主动控制其引脚的高低电平,使其控制外围的器件进行工作。STM32单片机一共具有48个引脚,通用的引脚分为PA、PB、PC三个通用的双向的IO管脚,通过寄存器配置可以配置成上拉输入接口、下拉输入接口、上拉输出接口、下拉输出接口。同时引脚的接口还具有功能的复用、包括了SPI接口、UART接口、IIC接口等,可以说STM32单片机的功能非常的全面。STM32单片机是性价比非常高的单片机,内核是32位的ARM内核,处理速度非常的迅速。芯片的FLASH是64Kb的存储容量,存储空间相对很大,单片机编写程序的时候不必担心因为代码的原因导致系统不可用。STM32单片机的供电电压范围通常是在2伏特的电压到3.6伏特的电压范围之间。STM32具有复位,可以通过硬件检测外部情况进行自动复位,并且STM32具有低功耗的休眠模式,可以在移动或者穿戴设备中使用,降低系统的耗电,实现持续的使用。STM32具有高精度的AD转换模块,可以实现数据的精确采集,具有12个通道的DMA采集控制器,一共有16路的12位的AD采集模拟通道。STM32的芯片由于是ARM架构,内部的时钟系统是各个总线的时钟,使用时需要进行具体的时钟总线选择。STM32的时钟选择是根据时钟树系统来进行选择,根据这种情况,可以选择相应的应用功能进行挂接,可以节省片内的资源,做到性能的最优化。STM32电路图如图3-1所示。图3-1STM32电路图3.2晶振电路设计单片机系统正常的工作需要外接晶振系统,这样的好处是可以让单片机的系统时钟更加的精准。其中接入单片机的PC14与PC15的32.768K的晶振是系统的时钟晶振,负责为系统时钟提供基准源,匹配的电容大小是22PF的电容。系统的晶振接在OSCIN与OSCOUT两端,晶振匹配的是8M赫兹的晶振,系统最大通过倍频可以达到72M赫兹的运行速度,匹配的电容同样是22PF就可以满足系统要求。电路图如图3-2所示。图3-2晶振电路图3.3显示电路设计LCD1602是LCD的点阵,用于显示字母、数字、符号等,其中1602显示的内容为16X2,即可以显示两行,每行16个字符(1个汉字占用2个字符)。通过显示不同的数字或者字母来实现数据的人机交互显示。对比度与反应速度也是相对比较快。LCD1602具有背光LED让显示更加的清晰。LCD1602采用并行串口控制,数据的显示与刷新速度较快。LCD1602引脚主要包括逻辑电源引脚,VDD,VSS。背光与电源引脚,BLA,BLK。数据引脚,D0-D7,RS,R/W,EN。偏置信号引脚,VL。其中:VL管脚是液晶显示器对比度调节端,对比度可由10k电位器调节。寄存器选择RS引脚,高电平选择数据寄存器引脚,低电平选择指令寄存器。R/W引脚:R/W为读写信号线,高电平执行读操作,低电平执行写操作,RS和R/W为低电平时可以写入指令或显示地址,当RS处于低电平,R/W处于高电平时,可以读取忙信号。当RS在高电平,R/W处于低水平时,数据可以写入。E端是使能端。当E端从高电平跳到低电平时,液晶模块执行命令。本次设计的LCD1602显示屏幕供电是5V电压,工作电流是在2.0MA左右,功耗非常的低。电路图如图3-3所示。图3-3LCD1602液晶电路图3.4按键控制模块按键电路作为输入信号接入系统,在系统中完成响应的功能操作,一般的情况下是主要负责控制输出模块的命令按钮和系统设置参数的功能按钮。尽管在设计程序时会有使用功能的区别,但是在硬件电路的设计原理却是一致的。在硬件设计的方式上分为矩阵式和独立式,矩阵式是8个单片机IO引脚实现16个按键检测工作,独立式是一个单片机IO引脚检测一个按键。按键的使用原理比较简单,无论何种的硬件接入方式,其本质是实现对高低电平的信号检测,当检测到有电平信号发生改变,即可判断按键发生动作。对于按键动作的检测,程序设计中需要应用具体的处理方式解决按键机械抖动的问题,一般情况是延时10ms作为机械去抖,确保按键信号检测的准确性,防止误动作发生,引起按键程序的错误判断。本次设计的是独立按键功能,通过按键一端与单片机连接,另一端全部接地,检测与按键相连接的单片机引脚,当电平为0时,判断执行按键动作。按键电路的硬件电路如下图3-4所示。图3-4按键控制电路3.5报警模块设计报警电路一般而言都是都通过蜂鸣器的鸣响进行报警提示,通常在设计的时候,蜂鸣器的驱动都不会用单片机的引脚直接驱动,因为单片机引脚不具备大电流的驱动能力,通常驱动三极管进行间接的驱动蜂鸣器。电路图如图3-5所示。图3-5报警电路3.6语音播报模块设计采用WT588D语音芯片搭配喇叭进行语音播报,P02是复位引脚,可断开连接,P03口是数据引脚,Wt588d语音芯片是通过外部的minu下载器下载相应的语音文件,比如播报“温度正常”,那么我们就需要通过minu下载器编辑这段语音“温度正常”。然后生成一个地址,当单片机需要广播这段语音的时候,就会发送指令到WT588D,进行语音广播。电路图如图3-6所示。图3-6语音播报模块电路图当温度低于设置温度下限,播报“低温请注意”,当温度高于设置温度上限,播报“高温请注意”,长按按键播报当前温度值,有选择的进行语音播报或者不进行语音播报。3.7测温模块红外线体温计是一种利用辐射原理测量体温的温度计。使用红外传感器,只吸收人体的红外线辐射,不向外界发射任何射线,通过非接触的方式感应人体的体温。将人体的红外热辐射聚焦在检测器上,检测器将辐射功率转换为电信号,该电信号在被补偿环境温度之后,可以以温度为单位显示。目前红外体温计主要分为接触式红外体温计与非接触式红外体温计。接触式的常见有热电阻体温计,水银体温计,以及双金属体温计,温度敏感元件与被测对象接触,依靠传热和对流进行交换,二者需要良好的热接触,以获得较高的测量精度。最常见的非接触式温度计是额温枪,它可以远距离测量人体温度。只需将探头对准额头并按下测量按钮,几秒钟内即可测量数据。这个系统使用GY-906红外线温度计传感器。该模块非常便宜,易于集成,并支持带有10K上拉电阻的I2C接口。传感器的温度范围是-40到125℃物体的温度范围是-70到380℃。传感器的误差范围约为0.5℃。模块如图3-7所示。图3-7测温模块接口电路图
4软件设计及实现本次程序设计主要采用C语音进行程序的编写。首先需要设计子函数,包括各个设备模块的驱动程序,读取数据程序。最后完成主程序main的设计。根据系统的功能去依次完成系统的各个功能模块的使用,组合成整体的系统功能。通过keil编程软件完成程序的设计,最后编译成功之后输出可执行文件HEX文件,然后通过软件下载到单片机设备中进行整体的测试。4.1设计的软件环境程序软件设计所指的就是程序代码的设计,程序代码通过语言来编写,语言在通过特定的编译软件编译成单片机所识别的机器代码,单片机识别的机器代码只有0和1的逻辑语言,这种逻辑语言程序员是无发进行编写的,程序员所编写的是C语言或者汇编语言,通过工具完成编写语言到机器语言的装换,这个工具就是单片机的开发软件,我们所使用的开发软件是KEIL软件,在代码编写的时候使用的是C语言,C语言是一种比较容易理解的语言,在设计的术语中叫高级语言,KEIL软件将这种高级语言翻译成机器语言,下载到单片机中,使单片机按照语言的逻辑运行。KEIL软件的功能极为强大,执行的工作不仅仅是翻译高级语言,同时还会查找高级言中的错误,并且进行提示,指出错误的地方,方便程序员进行修改。KEIL软件的开发界面给人一种干净整洁的观感,没有丝毫的杂乱,简单明了的指令系统得到众多程序员的认可,是最受欢迎的软件之一,KEIL软件涵盖了众多型号的单片机库,很多的单片机都可以使用KEIL软件直接进行开发,无需对新的开发环境进行了解,节省开发的时间。新建工程界面如下图4-1所示。图4-1新建工程界面建立工程在菜单Project中的,在下拉的菜单中找到NEW,单击后就可以根据指示的步骤选择单片机等一些列的操作,完成新工程的建立。程序编写KEIL的界面如下图4-2所示。图4-2程序编写的Keil界面在程序编写完成之后就需要进行编译,Keil编译界面如下图4-3所示。图4-3Keil的编译界面4.2主程序流程图设计在程序设计时,首先要考虑整体,然后再考虑细节,先考虑全局目标,然后考虑局部目标。不要一开始就追求太多细节,先从总体目标的最高点开始设计,逐步把问题具体化。对于复杂的问题,应该设计一些子目标作为过渡,并逐步细化。一个复杂的问题当然是由许多简单的问题组成的。模块化是将程序的总目标分解为子目标,再进一步分解为具体的小目标,每个小目标称为一个模块。Main函数是系统的主程序,程序都是从main开头每一条的程序依次执行下去的,通过执行每一条程序的动作实现系统的预期目标,这里的程序编写需要有逻辑性,知道系统的具体执行流程,按照流程来逐渐的去实现每一个小的目标功能,具体的主程序流程如图4-4所示,主要进行初始化函数,最后在主循环中反复执行程序。图4-4主程序流程图初始化函数:u16delay_count=0;u8bobao_falg=0;u16bobao_delay=0;delay_init(); //延时函数初始化 KEY_GPIO_Init();//按键初始化BEEP_AND_RELAY_GPIO_Init();//蜂鸣器初始化delay_ms(500);//上电瞬间加入一定延时再初始化Mlx96014_Configuration();LCD_Init();//屏幕初始化WT588D_GPIO_Init();CHECK_NEW_MCU();//单片机校验LCD_Write_String(0,0,"TEMP:000.0C");LCD_Write_String(0,1,"");LCD_Write_Char(11,0,0xdf);4.3显示程序设计本设计的显示程序采用的是LCD1602进行显示,显示程序主要通过初始化、设置显示命令,确定显示指针以及显示的地址来完成,在初始化中完成LCD1602的读写协议配置,LCD1602采用的SPI的协议,所以在初始化的时候完成的部分是协议命令格式的配置工作,初始化完毕后,进行命令的写入,包括对显示字体大小的确定,显示使能位的开启,显示地址指针的确定,之后就是等待要显示的内容,接收到需要显示的数值后,确定第一行的显示地址和第二行的显示地址,最终完成数据的显示。主要流程如图4-5所示。图4-5LCD显示流程图写入字符串函数:voidLCD_Write_String(unsignedcharx,unsignedchary,unsignedchar*s){ If(y==0) {LCD_Write_com(0x80+x);//第一行}else{LCD_Write_Com(0xc0+x);//第二行 } While(*s)//判断是否检测到结尾符{LCD_Write_Date(*s);//显示数据S++;//指针加1}}4.4按键程序设计本次设计的按键程序采用的是独立式的按键设计,按键子程序是一个实时的扫描过程,对按键检测首先是判断按键是否有动作,如果没有动作,一直处于主程序循环的扫描中,当检测到有动作之后,要进行去抖的延时检测,防止按键的机械性误动作,延时检测之后,对按键进行再次扫描,按键仍为有效值,则对按键值进行判断,判断完毕后等待按键释放,之后执行按键的功能。本次设计的按键功能主要是设置参数,按键模块的流程图程序图如4-6所示。图4-6按键流程图voidKEYSCAN()//按键扫描{ u16TsetTemp=0; if(KEY1==0)//设置 { delay_ms(20); if(KEY1==0){while(KEY1==0){ if(keyCount<60000)keyCount++; if(keyCount>=1000) { if(bobao==0) { bobao=1; WT588D_HANDLE(Temperature); } } delay_ms(1); }4.5传感器检测流程图设计传感器依据外部信息来检测各种状态信息,当外部信息触发传感器之后,传感器输出相应的TTL电平信号,单片机检测这个信号来实现各种状态的判断,以便做出快速的响应。程序流程图如图4-7所示。图4-7传感器状态检测流程图voidMlx96014_Configuration(void){ GPIO_InitTypeDefGPIO_InitStructure;//类型定义声明RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);//使能时钟 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_15;//SCL GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//速度为50M赫兹 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_OD; GPIO_Init(GPIOB,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;//SDA GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_OD; GPIO_Init(GPIOA,&GPIO_InitStructure); SDA_H; SCL_H;}5系统的调试与分析在完成硬件的原理设计之后进行硬件设备的焊接,根据原理图进行单片机与应用设备的引脚进行连接,完成整体的设备硬件。完成程序的编写,各个模块的子程序设计,最后根据目标实现的功能完成主函数的编写,就可以进行设备的整体调试。5.1系统测试步骤实物设计主要包括以下几个步骤:1.焊接实物是实物产品设计最为基础的分部,实物焊接是否正确决定实物功能是否能够实现,在这一过程中需要对传感器元器件进行确认,对元器件的引脚功能进行辨别,通过对比元器件的技术手册的引脚定义与原理图设计进行比对,确定无误后进行焊接,焊接时需要对焊接的温度进行控制,尤其对一些不耐热的器件需要快速准确完成焊接,避免高温下的损坏。2.焊接完毕后的检查工作,肉眼检查器件有没有反向焊接,器件引脚所焊接的位置是否正确,线路的连接有没有错误,电路板上的焊点是否存在忘记焊接的现象,密集的焊点之间是否存在着连在一起的错误,这些可能出现的表面问题需要依靠肉眼完成检查,再检查的过程中做到细致、认真、耐心,需要条理清晰的逐一检查,以免漏检在后期上电的时候出现器件不可逆的损害。3.通路实验检测,依靠万用表工具对线路进行检查,使用万用表的通断测试档位,对电路板的电源和地进行测量,这一步是为了避免最为严重的短路现象发生,一旦发生就会对电路板上的所有器件造成一定的损害,使部分功能失效,影响后续的功能调试。电源故障排除之后,对其他的线路按照原理图一一测试,逐一排查,直到全部测试完毕。4.实物通电试验,实物上电后,对于弱电部分可以用手背感测器件的温度,温热表明器件正常工作,过热说明器件工作不正常,需要重新检测。使用万用表的电压档位测试各个部分的电压是否正常,确保所有的元器件模块都正常工作。5.实物功能调试,在实物的功能调试中需要将写好的程序代码写入到实物中进行运行,运行时可以将功能进行模块化调试,对每一个功能单一调试,保证单一功能的程序正确性,所有功能逐一调试之后,进行总体调试,完成系统的功能设计。6.实物性能测试,性能测试建立在功能全部实现基础之上,通过程序代码的运行逻辑,对实物的运行速度、控制器的反应时间、极限数据测量等等进行测试,不断的通过优化代码设计,完成性能的测试工作。焊接的图片如图5-1所示。图5-1焊接实物图图5-1焊接实物图5.2设备硬件测试设备的硬件测试最有效的方法就是采用万用表进行整体的测试,设备的焊接由于线路的不是特别的清晰,在对照原理图的时候不是很直观,采用万用表进行线路测量。进行测试,首先最先测试的是电源部分,VCC与GND是否短路。测试结果如下5-2所示。图5-2VCC与GND测量结果测量发现VCC与GND焊接正常,证明系统的源没有问题。然后依次进行线路导通的测试,根据原理图进行测试两条线路之间是否是开路,测试如图5-3所示,蜂鸣器鸣叫。图5-3连通线测量结果完成系统的整体测试查找,设备整体上电测试结果正常,系统整体测试效果如图5-4所示。图5-4设备正常运行图5.3设备软件测试设备在编写程序的后运行出错,主要出错在了显示程序的调试,由于对显示硬件掌握不是特别熟悉,在调试程序的时候,将驱动程序的RS与RW引脚与设备硬件定义反向,这样在上电测试时候发现显示不出内容,在查找问题,将显示的定义RS与RW进行交换之后系统的显示正常,采用显示作为输出口,然后进行整体的程序的调试,最后完成了系统的整体目标,实现了设备的整体功能,系统整体测试如下图5-5所示。图5-5系统软件正常运行工作6结论本次设计以单片机为核心实现智能化的检测功能与控制功能,通过对传感器的数据的采集,在单片机内部进行运算和逻辑处理,完成控制输出功能,在硬件设计和软件设计的综合应用的情况下,实现智能化系统设计功能要求。在本次的设计中,首先对本次的设计背景进行了描述与分析,以及未来的应用场合和市场的前景进行了概述,明确了设计的功能,对于所应用关键技术部分进行深入的讨论,其次描述了设计的总体思路,在总体设计思路的指导下选择功能器件,并且通过器件型号的对比分析,择优选取,在本文的第三章中,对硬件电路的设计进行全面的展开阐述,从核心的单片机到所应用传感器部件分别进行了具体的介绍,从器件的功能到最后的引脚连接全面进行了说明。在第四章中介绍的软件设计的功能,通过程序流程图的绘制,总体剖析软件设计的总体过程,对各个子程序的流程图设计,展示子程序功能实现的过程,最后在第五章中对于本次设计产品进行综合的调试,在调试过程中发现问题、解决问题。调试中,根据设计思路和运行逻辑进行分部测试,最终呈现设计的功能。设计产品调试运行之后,在单片机的智能控制之下,利用传感
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民法典合同编实战指南第七讲违约责任
- 2026道德与法治四年级拓展空间 政府服务能力
- 2026年行政审批事业单位经典试题及答案
- 定西市辅警招聘考试题库及答案
- 培训活动人物介绍
- 甲状腺炎常见症状及护理知识
- 常州市辅警招聘笔试题及答案
- 作业康复科普知识框架
- 脑梗塞常见症状及护理细节培训
- 抑郁症心理表现及护理方法总结
- 2025年浙江省温州市平阳县部分事业单位统一招聘工作人员笔试历年典型考题及考点剖析附带答案详解
- 造价咨询考核奖惩制度
- 肯德基2025品牌年终报告
- 【《基于Java web宿舍管理系统设计与实现》14000字(论文)】
- 老年共病个体化诊疗的指南更新策略
- (2025)中国甲状腺疾病诊疗指南
- 2025年储能电站运维员实操技能真题及答案
- JJG3662004接地电阻表高清晰版
- 2025-2026学年广东省广州八十六中七年级(上)期中英语试卷
- 2025江苏南京市交通集团相关财务岗位公开招聘57人笔试历年常考点试题专练附带答案详解试卷2套
- 国企基层管理人员竞聘面试题6套和专业题120问及答案
评论
0/150
提交评论