基于单片机的非接触式红外体温计设计毕业论文内容摘要:
路,使得硬件可以尽可能的简单化,相比于其他红外模块, TN9产品只需要 3伏电源供电。 它是一种集成的红外探测器,内部有温度补偿电路和线性处理电路,使本系统的设计得到了简化。 TN9红外模块接口如图图 23所示 [2]。 图 23 TN9 红外模 块接口电路图 TN9 红外模块的工作过程 :系统正常上电,当进行温度测量时,将 TN9 的红外传感器探头对准被测量者的额头,随即按下功能按键 0, 即开始键 ,单片机通过向测试脚提供一个高电平的信号,即启动红外测温。 在时钟的下降沿开始读数据,共 5 个字节,当第一个字节为 4CH(或 66H),且第 5 个字节为 0DH 时,读取的数据为有效数据,否则读取的数据无效,数据读取后,单片机对读到的有效数据进行运算处理,然后送 LCD1602 显示。 LCD1602 设计原理图 本系统采用 LCD1602 作为显示器,相比于 LED, LCD1602 需要的管脚少,电路图和实物比较简单。 同时 LCD1602 还可以显示字母和数字, LED 就只能显示数字。 LCD1602显示是从系统上电运行时就开始显示时间,该显示模块与单片机的连接如图 24 所示。 8 图 24 LCD1602 显示电路图 RS为寄存器选择,高电平时选择数据寄存器、低电平时选指令寄存器 ;通过单片机的 , R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。 由于本设计中只需要对液晶进行写操作,为了节省单片机引脚资源,它直接接为低电平; EN端为使能端,当 EN端由高电平跳变成低电平时, 液晶模块执行命令 ,通过单片机。 图 36中的 R8是一个 5K欧姆的滑动变阻器,通过改变它的数值,可调节显示器的对比度 [10]。 按键电路的设计 本次设计的系统开启红外测温功能只需按下电源电路中的开关, LCD1602 上能对报警上下限进行调整,比如数字的加和减以及调整完之后的确认,经过设想,最终系统的功能按键设置为 4 个,均采用独立按键模块,电路原理图如下图 25 所示。 图 25 系统按键电路原理图 键盘模块采用动态扫描的方式,采用 4个独立式键盘。 相较于矩阵键盘,独立式键盘是一种常开型按键开关 ,常态下键的两个触点处于断开状态,按下键时它们才闭合,最大的优点是使用方便,程序编写比较简单。 4个按键的功能具体如下: 按键 S3:调节报警上下限的功能按键,按下后进入调整状态; 9 按键 S4:在跳针的情况下,实现“加”功能; 按键 S5:在跳针的情况下,实现“减”功能; 按键 S6:对上述“加减”功能调节后的确认键。 系统其它硬件电路 系统的电源电路 电源电路原理图如图 26 所示。 图 26 电源电路接口 系统使用的电源为 5V,由外部引入,二极管作为电源指示灯, C C5 起滤波的作用。 系统晶振电路 STC89C52单片机 引脚 XTAL1和 XTAL2与晶体振荡器及 C C3的连接如图 27所示。 图 27 系统晶振电路原理图 晶振的作用是给单片机提供一个稳定的节拍 ,C2, C3这两个电容叫晶振的负载电容,接法如上图所示,大小为 30pF,它会影响到晶 振的谐振频率和输出幅度,也是使振荡频率更稳定。 实际上等同于电容三点式电路的分压电容,接地点就是分压点,以接地点作为参考点,振荡引脚的输入和输出是反相的。 当两个电容量相等时,反馈系数是 ,一般是可以满足振荡条件的,但如果不易起振或 振荡不稳定可以减小输入端对地电容量 ,而增加输出端的值以提高反馈量。 10 报警电路的设计 该系统的报警电路的原理图如图 28 所示。 图 28 报警电路原理图 报警电路实际就是蜂鸣器驱动电路, R6为限流电阻,防止电路电流过大损坏其他器件。 FM输出的是控制信号, Q1可以看做是个电子开关,用来控制蜂鸣器的控制中断。 当 FM口输出 高电平 时, Q1饱和导通, 蜂鸣器 获得电工作发出鸣响,当 FM口 输出 低电平 时 Q1截止蜂鸣器 失电,停止工作。 第三章 系统软件设计 软件编译 KeilC51 开发环境 Kei1C51 集成开发环境是美国 KeilSoftwaer 公司出品的 51 系列兼容单片机 C 语言软件开发系统。 Kei1C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows界面。 另外重要的一点,编译后生成的汇编代码,到 Kei1C51 生成的目标代码效率非常高,多数语句生成的汇编代码很紧凑,容易理解,在开发大型项目时非常理想。 系统软件设计要求及任务 软件是整个系统的核心,它具有充分的灵活性与可修改性,可以根据系统的要求而变化。 在硬件结构一定的情况下,通过改变软件就能实现不同的功能。 本设计的红外测温系统的软件方面全部采用 C 语言编写, 以提高系统的可读性和可移植性。 其设计方法和硬件设计相对应,采用模块对应进行编写,将系统的硬件划分为相应的子程序模块,分别进行编写、调试,使整个程序看起来简洁,明了,在调试过程中也方便自己发现错误,提高了编程的效率。 整个系统软件主要包括主程序、红外测温模块、功 11 能按键模块、显示模块等子程序。 系统主程序流程图 主程序的运行过程:系统正常上电,开始初始化,对功能按键进行扫描处理,看是否有按键按下,如果有,则进入设置状态,对上下限进行调节,如果没有,则显示测的温度,且对过限的温度进行报警,相应 LED 指示灯亮 ,继电器闭合,执行根据自己设定的动作,阻止过限的继续。 主程序流程图如图 31 所示。 12 图 31 系统主流程图 红外测温流程图 红外传感器模块流程图如图 32 所示。 初 始 化开 始按 键 扫 描温 度 显 示显 示 温 度设 置 模 式N oY e s设 置 完 毕是 否 过 限报 警Y e sN o 继 电 器 闭 合做 出 相 应 动 作来 阻 止 过 限 温度结 束 13 图 32 红外测温流程图 如流程图所示:系统正常上电,开始初始化,判断是否有功能按键 0 按下,如果是,再次判断首字节是否为 4CH 或者 66H,最后一个字节是否为 0DH,因为单片机每一次读取 5 个 BYTE,当第一个 BYTE 和最后一个 BYTE 分别同时为 4CH(或 66H)和 0DH 时,开 始初 始 化是 否 有 按 键 0 按下。 首 字 节 是 否 为 4 C H( 6 6 H )。 第 5 个 字 节 是 否为 0 D H ?送 L C D 1 6 0 2 显示计 算 处 理返 回读 取 数 据关 闭 T N 9 0 1N oN oN oY e sY e sY e s 14 才认为这是一个有效的数据, 否则单片机将不停地进行读取。 如果是,则进行温度的计算及温度的处理,然后 送 LCD1602 显示,最后关闭 TN901;如果不是,则继续按下按键 0,直到符合有效数据的要求,才进行温度的读取。 15 第四章 制作与调试 软件调试 本设计由于需要外界环境作为媒介才能完成仿真,所以我没有进行最后的仿真,仅仅用 Altium designer 进行了编译,程序部分用 KeilC51 进行了编译。 在进行该过程时分为两步:目标程序纠错,整体程序调试。 目标程序纠错:该阶段工作 通常在目标程序编辑时就完成。 一般来说,软件能为用户输入的程序指令纠错,包括书写格式、标号未定义或多重定义、转移地址溢出等错误,这一步主要是一些细节上的问题,需要一部分一部分的去检查。 整体程序调试:即把各子程序整体连起来联系整体电路进行调试,看根据现行的程序和硬件条件是否能实现预计的功能显示。 在这阶段若发生故障,可以考虑各子程序在运行时是否破坏现场,数据缓冲单元是否发生冲突,标志位的建立和清除在设计上是否失误,堆栈是否溢出,输入输出状态是否正常等再进一步对细节进行修改。 硬件调试 单片机应用系 统的硬件调试和软件调试是分不开的,许多硬件故障在软件调试时才能发现,但通常要先排除系统中明显的硬件故障。 调试工作可以分为四步: 线路检查:根据硬件逻辑设计图,仔细检查样机线路是否连接正确,并核对元器件的型号、规格和安装是否符合要求,必要时可用万用表检测线路通断情况。 电源调试:样机的第一次通电测试很重要,若样机中存在电源故障,则加电后将造成器件损坏。 调试的方法有两种:一种是断开稳压电源的输出端,检查空载时电源工作情况;另一种是拔下样机上的主要集成芯片,检查电源的负载能力(用假负载)。 确保电源无故障并性能符合 设计要求 [12]。 通电检查:在确保电源良好前提下,接通电源。 最好在电源与其余电路之间串接一个电流表。 若接通后电流很大,须立即切断电源。 电源大得超出正常范围,说明电路中有短路或故障。 通电检查的主要目的是看系统是否存在短路或由元器件损坏、装配错误引起的电流异常。 检查芯片的逻辑关系是否出错:加电后检查各插座上相关引脚的电位,仔细测量相应的输入输出电平是否正常。 单片机系统大都是数字逻辑电路,使用电平检查法可首先查出逻辑设计是否正确,选用器件和连接关系是否符合要求等。 16 系统误差分析及处理 由于该系统是非接 触式测温,这就给获得正确的温度值带来一定困难,影响红外测温系统的温度误差的因素很多,通过查阅资料和自己的了解,主要体现在以下几方面: ( 1) 距离系数是该系统性能的一个重要指标。 通常距离越远的物体,红外测温仪测温时所经过的光路上受到的干扰以及大气衰减越大,精度也越低。 ( 2) 物体的辐射率的影响。 辐射率是指相同几何条件和光谱的条件下,实际被测物体和同温度黑体的辐射的能量之比,不同的物体的辐射率不同,且和黑体辐射的能量也有差别,所以输入值必然存在一定误差。 ( 3) 环境因素对测温的影响。 环境温度,被测物到测温仪的现场清晰度都和输出温度有关。 通常,环境温度越低,从外界进入红外测温仪窗口的辐射能量就少,而且环境的清晰度越高,传感器接收到的能量越多,就越接近真实值。 ( 4) 干扰光的影响。 因为该系统是通过物体辐射出来的红外线测得温度的,外界的一切光线都会对系统产生一定干扰。 由于该系统存在上述影响,故在使用时必须采取一定的措施来尽量减轻误差。 比如,在选取传感器时尽量选取吸收系数高的器件;测量时尽量多测量几次数据,取其平均值,降低误差;软件设计时,采用循环系统测量,想办法得到更精确的算法;测量时尽量注意周围环境的影响,在比较适合测量的环境测 量温度。 系统的制作与调试 在系统的制作与调试中除了要关注上述问题之外,系统本身的情况也需要注意,本系统进行模块化处理,分别分为不同的几个电路:电源电路, LCD1602 显示电路,复位电路,功能按键电路,过限状态指示电路,继电器输出电路,晶振电路以及最重要的红外测温模块电路。 在制作前首先要了解各个电路的原理和作用,这样才能知道电路可以使用哪些元器件,比如,电源电路的电容起到了滤波的作用,我们就可以根据电路电压的大小来选择合适的电容, LED 指示电路的电阻起到的是限流的作用,可以选择的范围为 100Ω—1KΩ,这样可以对元器件的选择有一个很好的把握。 在制作本系统时,同样的遇到了很多问题,比如 PCB 板的排版问题,由于封装不合适,最后显示屏和按键以及单片机没办法和谐的安装,只能重新制作,浪费了不少功夫,还有在腐蚀铜板的时候,没有把握时间,有些电路不得不在焊接的时候用焊锡连接起来。 这些问题都是可以通过自己的注意加以避免的。 17 制作好实物后,首先我用万用表测量了那些腐蚀过度并用焊锡连接的地方,保证其连通,检查电解电容,二极管,三极管,蜂鸣器等有正负极的期间的焊接情况,其是否接反。 确认无误后,想测试下电路是否能正常运 行,因为传感器的价格较高,我没有连接,实验结果证明电路正常运行,显示屏亮。 我按照各管脚的顺序用杜邦线接上传感器,开机,系统初始化,因为我设置的初始的上下限是 4 度和 25 度,显示屏显示的 26 度,标志正常温度的黄色 LED 灯亮,之后我又设置最高限是 20 度,此时,红灯亮起,蜂鸣器报警,继电器闭合,表示温度超过最大限度。 最后设置最低限为 30 度,超过室温,绿灯亮起,蜂鸣器报警,继电器闭合,表示低于最低温度。 按下复位按钮,系统变为初始状态。 实践证明,本系统可以运行。 18 结论 本系统利用 STC89。基于单片机的非接触式红外体温计设计毕业论文
相关推荐
88应大于第三行和第五行的停电持续时间。 由上述的逻辑关系,并且由蓄电池放电后需充电的特性,得出 以月为周期的基站续航能力统计算法 : 步骤一:当月该基站如出现 1次以上的续航时间,则取较大者(因蓄电池电量、基站任意时段的用电量不同等原因,会出现续航时间不同的情况,所以本文取大数,以避开因电量不满而 不能真实反映续航时长的情况)。 步骤二:为保证蓄电池的充电时间,续航时间的停电开始时间
n, and scalefree characteristics. The existing literature analyzing microbloging marketing by the plex work theory is less, which is worth further study. The Microblogging Marketing Concept in the
ND3U12SH300DH(T2)1(T2EX)2345(MOSI)6(MOSO)7(SCK)8RST9(RXD)10(TXD)11(INT0)12(INT1)13(T0)14(T1)15(WR)16(RD)17XTAL218XTAL119GND20(A8)21(A9)22(A10)23(A11)24(A12)25(A13)26(A14)27(A15)28PSEN29ALE(PRCG)30EA/V
eedimensional reconstruction of the building systems, design the corresponding algorithm to reduce end user workload. The main contributions are the following: 1 .Present a building reconstruction
放读写的数据,运算的中间结果或用户定义的字型表。 3)程序存储器 (ROM): 共有 4096 个 8 位掩膜 ROM,用于存放用户程序,原始数据或表格。 4)定时 /计数器 (ROM): 有两个 16 位的 可编程定时 /计数器,以实现定时或计数产生中断用于控制程序转向。 5)并行输入输出 (I/O)口: 共有 4 组 8 位 I/O 口 (P0、 P P2 或 P3),用于对外部数据的传输。
16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。 在给出地址 1 时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4个 TTL 门电流。 当 P3 口写入 1 后