资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,基于单片机的红外测温仪的设计与实现,作者:,学号:,导师:,设计方案,该系统的,硬件结构主要由,AT89C51,、复位电路、时钟电路、按键电路、,SMC1602A,液晶显示器及,TN9,红外测温模块六部分构成。本设计,采用单片机作为数据处理及控制核心并根据键值的输入,利用液晶显示电路输出温度值和测量时间。,系统的总体框图如下图所示。,按键电路,时钟电路,复位电路,单 片 机,1602,液晶,显示器,红外测温模块,当系统上电后,首先需进行时间校准(通过键盘相应按键即可实现),之后开始键盘扫描查询,当有相应按键按下时,单片机通过判断键值转入相应处理程序,不论是环境温度测量还是目标温度测量,其处理过程基本相同,首先启动,TN9,红外测温模块,通过中断来同步读取测量数据,同时判断是否是所需数据,当读取的数据是所需数据时由单片机进行数据处理,即对数据进行转换,最后把转换后的数据送入液晶显示器件显示测量温度及测量时间,若读取的数据与所需不符则丢掉重新读取,直到数据正确为止。,工作原理,设计总电路,程序流程,本设计的软件的整体设计主要包括以下几个程序模块:,(1),初始化程序;,(2)SMC1602A,显示程序;,(3),键盘扫描程序;,(4)TN9,数据读取程序及处理程序;,(5),时间校准程序。,该程序首先对单片机初始化,然后开始判断是否有按键输入(对不同按键的识别依靠按键相应的键值来判断),若没有按键输入,则继续重复判断;若有按键输入,则判断是否是控制红外测温的按键,若不是就返回,是则进行红外测温,接收,TN9,传输的数据并判断是否是所需测量温度的数据(判断是环境温度还是目标温度),之后等待结束测温命令标志。再判定是否结束温度测量,若没则继续测温,若收到结束命令则计算温度值并将计算出的温度值送液晶显示器显示出来。,具体工作流程图如下图所示:,程序流程图,程序初始化和时间校准,是否有键按下,是否测量温度,Y,Y,N,N,Y,N,是否是所需数据且收到结束标志,计算温度值,显示温度和时间,红外测温,调试仿真,对于本设计,采用,Keil,软件进行程序调试,用,Proteus,软件进行系统仿真。,新建,Keil,项目,编写源程序,之后编译并修改源程序直至无误,同时生成,.HEX,文件。,在,Proteus ISIS,中左键双击,AT89C51,元件在该窗口的“,Program File”,栏中,选择先前在,Keil,中编译产生的“,.HEX”,文件;一切完成后,点击,play,按键,即开始进行仿真。,观察仿真结果,其最终仿真调试结果如下图所示:,程序调试图,程序调试图:,环境温度测试仿真图,环境温度测试仿真图:,目标温度测试仿真图,目标温度测试仿真图:,结论,对于本次设计任务,最终所做出的方案设计在功能与性能上基本上达到了任务书上的要求,通过对本方案的系统仿真,发现了许多以前被忽视的细节错误,对于硬件部分的错误主要集中在线路连接上,分析可能是由于初期连线时布局较为凌乱无序,致使有几根线路连错了地方。对于软件部分的错误主要集中在循环语句和变量上,分析可能是在程序编写时,由于程序较为复杂,代码量较大,致使同一变量在个别不同地方出现不同的标示符。,
展开阅读全文