毕业设计(论文)基于单片机的简易电梯升降控制模型设计.doc

上传人:文库蛋蛋多 文档编号:3980969 上传时间:2023-03-30 格式:DOC 页数:42 大小:1.78MB
返回 下载 相关 举报
毕业设计(论文)基于单片机的简易电梯升降控制模型设计.doc_第1页
第1页 / 共42页
毕业设计(论文)基于单片机的简易电梯升降控制模型设计.doc_第2页
第2页 / 共42页
毕业设计(论文)基于单片机的简易电梯升降控制模型设计.doc_第3页
第3页 / 共42页
毕业设计(论文)基于单片机的简易电梯升降控制模型设计.doc_第4页
第4页 / 共42页
毕业设计(论文)基于单片机的简易电梯升降控制模型设计.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机的简易电梯升降控制模型设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的简易电梯升降控制模型设计.doc(42页珍藏版)》请在三一办公上搜索。

1、学士学位毕业设计(论文)简易电梯升降控制模型学生姓名: 指导教师:所在学院:信息技术学院专 业:电子信息工程中国大庆2011 年 5 月黑龙江八一农垦大学本科毕业设计(论文)任务书学生姓名所在班级电子07级(1)导师姓名导师职称讲师论文题目简易电梯升降控制模型题目分类1应用与非应用类:工程 科研 教学建设 理论分析模拟2软件与软硬结合类:软件硬件软硬结合非软硬件(1、2类中必须各选一项适合自己题目的类型在内打)主要研究内容及指标:主要研究内容: 1.以单片机作为控制器核心部件,扩展外部设备,进而实现温度的测量及显示;2.传感器对人体温度信号的采集、转换及其处理;3.单片机对LED显示和语音的控

2、制、按键的控制等;设计指标:1.测量精度大于0.1,测量时间小于1s;2.实现数码管和语音两种提示方式。主要参考文献:1纪红.红外技术基础与应用M.北京:科学出版社.1979.42罗亚非.凌阳16位单片机应用基础M.北京:北京航空航天大学出版社.20033谭浩强.C程序的设计.北京:清华大学出版社M.20014何立民.单片机应用程序设计技术M.北京:北京航空航天大学出版社.2001阶段规划:1.查询资料,学习相关知识。2.硬件设计。3.软件设计。4.制作实物并调试。5.整理论文,准备答辩。开题时间2010.12.20完成论文时间2011.5.21专家审定意见:系主任签字:年 月 日注:1任务书

3、由指导教师填写后交给学生,要求学生妥善保存。2此任务书夹于论文扉页与论文一并装订,作为论文评分依据之。摘要本设计以凌阳系列的单片机作为主控模块,以红外测温模块实现温度测量(包括环境温度和被测目标温度),并能播报和显示温度值,该红外测温仪与传统的接触式温度计相比有以下特点,响应速度快、非接触、读数容易,完成红外测温仪设计并要达到设计所要达到的四个目的: (1)利用LED、按键模块的键盘控制温度测量模式,并能在数码管上显示温度值,同时能利SPCE061A的语音功能播报测量值;(2)可以测量目标物体表面温度和环境温度; (3)测量结果表示的精度为小数点后两位,测量目标温度范围为:-33220,响应时

4、间大约0.5 秒;(4)根据大气状况红外测温仪的测温距离要达到30米。关键词:红外测温 体温 SPCE061A 语音 ABSTRACT The design is adopted the SPCE061A signal chip microcomputer manufactured by Sunplus technical company as a master control board, which can control the module of infrared thermometer to measure the temperature. Moreover the obtainin

5、g temperature value will be shown on the digital tube and be broadcasted by the SPCE061A signal chip microcomputer, as it has a pronunciation function.Fast respond、Non-contact、Easy to read、To complete the design of infrared thermometer, the requirement should be achieved, showing as below:(1) The ke

6、yboard of LED module is used to control the model of temperature measurement. Moreover the obtaining temperature value will be shown on the digital tube and be broadcasted by the SPCE061A signal chip microcomputer, as it has a pronunciation function.(2) May survey the surface temperature of goal obj

7、ect and the ambient temperature;(3) Precision of measuring result representation accurate to the two decimal place. The range of target temperature is: -33220.Response time is about 0.5 second.(4) According to atmospheric condition measuring distance of infrared thermometer may amount to 30 meters.K

8、eywords: Infrared thermometer SPCE061A Speech目录摘要IABSTRACTII前言IV1 绪论11.1 研究的背景及意义11.2 国内外体温计的发展概况11.3 主要完成的任务及设计思想22 系统方案32.1 系统方案论证32.2 系统方案介绍42.3 本章小结43 模块特性介绍53.1 SPCE061A单片机53.2 SPCE061A最小系统板63.3 红外测温模块73.4 LED键盘模块73.5 本章小结94 系统硬件设计104.1 SPCE061A最小系统104.2 电源模块114.3 音频输出模块114.4 红外测温模块124.5 按键和显示电

9、路模块144.6 本章小结155 系统软件设计165.1 软件结构165.2 各模块程序说明175.3 系统软硬件联机调试205.4 本章小结216 操作说明226.1 操作流程226.2 注意事项22结论23参考文献24致谢26附录1 程序清单27附录2 整体硬件电路图36 前言 红外测温技术在生产过程中,在产品质量控制和监测,设备在线故障诊断和安全保护以及节约能源等方面发挥了着重要作用。近20年来,非接触红外测温仪在技术上得到迅速发展,性能不断完善,功能不断增强,品种不断增多,适用范围也不断扩大,市场占有率逐年增长。在电力系统中,输电电缆的接头发热是电气设备运行中的一个重要缺陷。为了防止过

10、热而造成停电事故,需要检查接头的温度,利用红外测温技术就能很方便测量到温度。化学工业中,有不少在反应釜进行搅拌的化工原料,不允许用通常接触式的温度计进行温度测量。能够安全准确地测出反应物的温度,并给出指示或控制信号,对化工生产部门是极为重要的,而红外测温技术的非接触特性,预示了其在化工生产中具有广阔的应用前景。在水泥工业中,烧结水泥的回转炉往往由于高温下长期使用而发生炉壁漏穿现象。利用红外测温仪对回转炉外壁的温度进行监视,能及时发现炉壁变薄部位的过热点以便进行维修保养。2003年在我国部分地区流行的SARS 前期症状是高烧38以上,为防止SARS 的扩散和传播,通过什么工具可以提供快速、非接触

11、测量手段,用于人群的体温排查。老年人活动不便,使用传统的体温计很不方便,而且由于人老眼花,也不能看清体温计汞柱的位置。在生产过程中,当需要测量热的、危险的或难以接触的物体时,应该通过什么手段来解决呢?本设计将提出一个非接触,快速测量温度的解决方案,根据使用需要,该系统应达到以下技术要求:非接触测量温度,快速测量环境和目标温度,测量完成后可对测得的温度进行语音告知和通过LED数码管显示。1 绪论1.1 研究的背景及意义经济发展加速带动医疗服务需求升级。人类越来越重视自身健康问题。体温是机体不断进行新陈代谢和自动调节的结果,许多生理过程的进行又都受到体温变化的影响,所以测量人体各部分的温度,是临床

12、诊断各种疾病的重要依据。体温既有生理学意义,又有着重要的临床医学意义,是临床诊断的重要指标(比如人的正常体温(口腔)是3637.3视为低烧,3839中烧,3941高烧。体温测量的历史,可以追述到l6世纪。当时人们利用空气热膨胀的原理,制出了第一支测量口腔温度的体温计。现有的温度传感器的种类很多,对于生物体温的测量仪器,只要求在2045较窄的温度范围内工作,但是绝对精度必须能达到0.1左右,这样医用传感器的种类就很有限。常用的有:热敏电阻、热电偶、P-N结元件、电阻丝、薄膜电阻、晶体振子等。现有的体温计大概分为两种类型:一种是通过液体膨胀测量的液体温度计,常为玻璃水银温度计;一种是以传感器进行测

13、量的电子体温计。水银温度计虽然价格便宜,但是它存在诸多弊端:水银温度计遇热或安置不当,体温计容易破裂;其次,人们在读数上存在一定的误差;最后水银温度计在出厂前需要校正,以免产生误差。采用水银温度计测量时间相当长(5min10min),使用很不方便1。电子体温计可分为接触式和非接触式,接触式为传感器直接与人体接触,通过放大滤波及A/D转换以数字形式输出的。接触式电子温度计消除了人们在读数上产生的误差,但也需要较长的时间,同样使用不便。非接触式电子温度计是根据黑体辐射原理通过测量人体辐射的红外线而测量温度的,它用的红外传感器只是吸收人体辐射的红外线而不向人体发射任何射线,它采用的是被动式且非接触的

14、测量方式,它测量速度快(测量时间小于1s)且精度高(0.1)所以应用非常广泛。这两种温度计有各自的优点和缺点,根据不同的场合可以采用不同的温度计。1.2 国内外体温计的发展概况 在非典期间,为了有效防止“非典”在各地蔓延,控制和阻断“非典”病源,保障公众的生命安全和身体健康,许多省市都做出了进出重要交通道口、口岸的人员必须接受体温测量的规定。由于我国人口众多、人员流动量大等原因,如果对每一个进出人员都用传统的水银体温计测量体温的活,不但效率低、耗时长,而且还会带来许多麻烦。因此各地对能够快速测量人体温度的先进电子和光电产品的需求大增,从而也给现代化体温测量仪器研究单位及生产厂商带来了巨大商机。

15、 医疗单位使用含汞的医疗器械(如玻璃汞式体温计),是造成汞污染的因素之一。目前,国际上对汞式体温计的使用,纷纷采取了限制和禁止的态度。由于汞式体温计存在测温时间长、易破碎、有汞中毒危险等不安全因素的缺点,欧盟决定从2005年起以后的4年内,将使其从欧洲市场上消失,并从2011年起禁止这种温度计对国外销售。所以现在市场上最流行的体温计是电子体温计,特别是非接触式红外体温计。国外产品有德国博郎集团开发的只需1秒即可测出体温的红外体温计;日本欧姆龙研制的几款非接触式红外体温计和BJ40型非接触式医用红外线体温计(精度为0.2),其主要器件是红外温度传感2。1.3 主要完成的任务及设计思想电子体温计可

16、分为接触式和非接触式。接触式测温的特点是测温元件直接与被测对象相接触,两者之间进行充分的热交换,最后达到热平衡,这时感温元件的某一物理参数的量值就代表了被测对象的温度值。接触式测温的优点是直观可靠,但是它的缺点是感温元件影响被测温度场的分布,接触不良等都会带来测量误差,另外温度太高和腐蚀性介质对感温元件的性能和寿命会产生不利影响。非接触测温的特点是感温元件不直接与被测对象相接触,而是通过辐射进行热交换,故可避免接触测温法的缺点,具有较高的测温上限。此外,非接触测温法热惯性小,可达千分之一秒,故便于测量运动物体的温度和快速变化的温度。通过对接触式和非接触式优缺点的比较,本设计采用非接触式测量方式

17、来设计体温计。本设计主要完成的是利用单片机控制的智能体温测量仪的设计,主要设计指标有:(1)量程:-33220(2)精度:0.1(3)电源:12 V和5 V的电压源 (4)功能:通过测量体温的相关信息,通过单片机控制,最后在LED显示器中显示。本设计主要设计思想:将体温信息通过采集系统、放大电路、温度环境补偿电路、模数转换电路,并经单片机处理系统处理后,在数码管显示电路中显示出来,并同时具备语音提示功能。2 系统方案2.1 系统方案论证 方案一:采用MCS-51系列单片机外接数字式红外探头进行温度的数字化采集,并将结果通过LED/LCD模块显示。同样也可以采用其它的8位单片机实现,方案结构如图

18、1所示:图基于MCS-51单片机的红外测温方案 方案二:采用SPCE061A单片机外接数字式红外探头进行温度的数字化采集,并将结果通过LED/LCD模块显示和通过内部语音算法播报出来。方案结构如图2所示: 图基于SPCE061A单片机的红外测温方案 方案比较:方案一采用8位单片机,资源比较适中,但是如果需要实现语音功能则比较困难;方案二采用SPCE061A单片机,该16位单片机运算能力强,操作简单,而且带有语音功能,可以非常快捷的实现语音输出功能。所以最终选择方案二。2.2 系统方案介绍 红外测温仪的系统结构框图如图3,电路连接图如图4,61板作为整个系统的控制中心,负责控制启动温度测量,接收

19、测量数据,计算温度值,并根据取得键值控制播放显示过程,同时通过音频输出通道播报温度值;红外测温模块负责温度的测量、采集,并将采集数据通过数据端口传送到SPCE061A单片机;LED键盘模组中的键盘控制温度显示和播放,数码管显示温度值3。图 系统结构框图图 电路连接图2.3 本章小结本章主要对毕业设计的两个方案的性能和实际使用进行了比较,确定最后所要采取的方案。最终确立了第二套方案。3 模块特性介绍3.1 SPCE061A单片机3.1.1 SPCE061A介绍 SPCE061A是凌阳科技研发的一个以unSP为核心16位微控制器,具有以下特点:集成度高,易于扩展,有较强的中断处理能力,有高效的指令

20、系统。在其开发环境中,支持C语言,可以实现C语言与凌阳单片机汇编语言的互相调用。在存储资源方面考虑到用户较少的资源需求以及便于程序调试等功能,SPCE061A中只内嵌32K字的闪存FLASH ROM。较高的处理速度使unSP能够非常容易地、快速处理数字信号。因此,SPCE061A微控制器特别适合在数字语音识别领域应用4。SPCE061A片内还集成了一个ICE(在线仿真电路)接口,使得对该芯片的编程、仿真变得非常方便,而ICE接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(unSP IDE),用户可以进行贴近真实的在线调试、仿真;而程序的下载(烧写)也是通过该接口进行下载。 下图5为

21、SPCE061A单片机的内部结构框图:图5SPCE061A单片机的内部结构框图3.1.2 芯片性能特点 该芯片以16位unSP微处理器为内核,其工作电压范围:VDD3.0V3.6V(CPU), VDDH为VDD5.5V(I/O),而CPU时钟从0.32到49.152MHz。它内置有2K字的静态RAM、32K字闪存ROM、32位可编程并行I/O口、2个16位可编程定时器/计数器(可自动预置初始计数值)、32768Hz实时时钟、锁相环PLL振荡器或RC振荡器(为系统提供时钟信号)。它具有7通道10位A/D转换器和单通道A/D转换器(内置麦克风放大器和自动增益控制AGC功能)、双通道10位D/A转换

22、器、通用异步全双工串行通信接口UART(具有RS-232标准的发送/接收时序)、串行设备接口SIO(可与串行外围设备进行串行数据传输)、内置在线仿真板接口。它有14个中断源,两级优先级中断可来自系统时钟、定时时钟/计数器、时间基准发生器、外部中断、键唤醒、通用异步串行通信及软中断。低电压复位(LVR)功能和低电压监测(LVD)功能,运行/睡眠方式下看门狗功能5。3.2 SPCE061A最小系统板 SPCE061A最小系统板,是以16位单片机SPCE061A为核心的精简开发仿真实验板,可作为单片机项目初期研发使用。最小系统板除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含MIC输入部

23、分和DAC音频输出部分)、复位电路等,采用3节5号电池供电,便于携带。最小系统板上有调试器接口(Probe接口)以及下载线(EZ_Probe)接口,分别可接在线调试器、简易下载线。SPCE061A的开发是通过在线调试器PROBE实现的。PROBE既是一个编程器,又是一个实时在线调试器。用它可以替代在单片机应用项目的开发过程中常用的两件工具,硬件在线实时仿真器和程序烧写器。 最小系统板的主要功能模块如下: (1)SPCE061A单片机最小系统外围电路模块; (2)电源输入模块; (3)音频电路模块; (4)按键模块; (5)I/O端口接口模块; (6)调试、下载接口模块;下图为最小系统板的实物图

24、:图6SPCE061A最小系统板实物图3.3 红外测温模块 红外测温模块采用非接触测温手段,解决了传统测温中需要接触的问题,具有回应速度快、测量精度高、测量范围广以及可同时测量目标温度和环境温度的特点。3.3.1 红外测温模块实物图红外测温模块的实物图如图7。图7红外测温模块的实物图3.4 LED键盘模块3.4.1 基本性能特点(1)LED键盘模块采用5V直流电供电,也可采用3.3V直流电供电; (2)扩展了4位8段数码管,显示范围为-99999999; (3)8个发光二极管,可作为指示灯使用; (4)3个按键,可以组成1*8KEY也可组成2*4KEY; (5)键盘LED模块接口简单,可方便与

25、任何一款单片机进行软硬件接口设计。3.4.2 结构框图 该模组主要包括:4位8段数码管,4个LED发光二极管,3个按键以及段码接口SEG,位码接口DIG,按键接口1*8KEY和2*4KEY,模组的结构框图如图8所示6。图8 LED模组结构框图3.4.3 电路原理图下图所示为LED键盘模组的电路原理图。图9LED键盘模块的电路原理图3.5 本章小结本章主要对设计中所要用到的各个模块的特性进行了介绍,这里包括SPCE061A芯片的特性、红外测温模块特性和数码管显示按键控制模块。4 系统硬件设计4.1 SPCE061A最小系统 SPCE061A最小系统中,包括SPCE061A芯片及其外围的基本模块,

26、其中外围的基本模块有:晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等,如图10所示7。图10SPCE061A的最小系统4.2 电源模块 电源部分的电路由电池盒提供的4.5V直流电压经过SPY0029后产生3.3V给整个系统供电,如图11所示。SPY0029是凌阳公司设计的电压调整IC,采用CMOS工艺,具有静态电流低、驱动能力强、线性调整出色等特点8。图中的VDDH3为SPCE061A的I/O电平参考,如果该点接SPCE061A的51脚,可使I/O输出高电平为3.3V;VDDP为PLL锁相环电源,接SPCE061A的7脚;VDD和VDDA分别为数字

27、电源与模拟电源,分别接SPCE061A的15脚和36脚;AVSS1是模拟地,接SPCE061A的24脚;VSS是数字地,接SPCE061A的38脚; AVSS2接音频输出电路的AVSS2。 图11 电源模块电路4.3 音频输出模块 SPCE061A内置2个10位DAC输出通道,只需要外接功放电路即可完成语音的播放,可以直接听喇叭输出的声音。 图12是音频输出电路图。图中的SPY0030也是凌阳公司的一款音频放大芯片。功能相当于LM386,但是比LM386音质好,其可以工作电压范围是2.4V到6.0V,最大输出功率可达700mW,而LM386必须工作在4V以上,而且功率只有100Mw9。图12音

28、频输出部分电路4.4 红外测温模块 集成红外测温模块根据大气状况最远测温距离约30m,测量回应时间大约为0.5s,而且它具备SPI接口,可以很方便地与MCU传输数据10。4.4.1 红外测温模块引脚图红外测温模块的引脚图如图13,其中: V:电源电压引脚VCC,VCC一般为3V到5V之间的电压,一般取VCC为3.3V; D:数据接收引脚,没有数据接收时D为高电平; C:2KHz Clock输出引脚; G:接地引脚; A:测温启动信号引脚,低电平有效。 图13 红外测温模块引脚图4.4.2 红外测温模块电路图 红外测温模块的电路图如图14。红外测温模块引出5个引脚,其中V和G分别接电源和地即可;

29、D接61板IOA15,传输给61板测量数据;C接61板的IOA14,则通过IOA14就可以检测到红外测温模块时钟;A接61板的IOA13,这样只要从IOA13输出低电平,就可以启动测温11。图14 红外测温模块的电路图4.4.3 操作时序图 红外测温模块的时序图如图15,为SPI数据格式,在CLOCK的下降沿接收数据,一次温度测量需接收5个字节的数据,这五个字节中:Item为0x4c表示测量目标温度,为0x66表示测量环境温度;MSB为接收温度的高八位数据;LSB为接收温度的低八位数据;Sum为验证码,接收正确时Sum=Item+MSB+LSB;CR为结束标志,当CR为0x0dH时表示完成一次

30、温度数据接收12。图15红外测温模块时序图一帧数据包括5个Byte,每个Byte代表含义如下: Item:“L”(4CH):代表此帧为目标温度 “f”(66H):代表此帧为环境温度 MSB: 8 bit Data Msb LSB: 8 bit Data Lsb Sum: Item+MSB+LSB=SUM CR: 0DH,结束码 红外测温模块温度值的计算:无论测量环境温度还是目标温度,只要检测到Item为0x4cH或0x66H同时检测到CR为0x0dH,它们的温度的计算方法都相同。计算公式为: 温度= Temp/16-273.15其中Temp为十进制,而测量结果为16进制,把它直接转换为十进制即

31、可。比如MSB为0x11H,LSB为0x35H,测量结果为0x1135H,十进制表示为4405,则测得温度值为4405/16-273.15=2.1613。4.5 按键和显示电路模块按键和显示功能采用配套的LED键盘模组实现,其中按键选择13独立按键,显示采用4位8段数码管动态显示。电路原理如图16和图17所示。在连接时要注意:按键公共端都接VCC,在键盘模块上注意把ROW1和ROW2用跳线短接起来。IOB口高八位连接8个按键的COL8COL1,IOA口低八位控制数码管的段信号,IOB的低八位分别控制数码管的位信号、发光二极管的公共端和第4位数码管后时钟冒号D_DP的位信号,其中IOB的低六位控

32、制位信号DIG1DIG6,IOB6控制发光二极管的公共端,IOB7控制第4位数码管后时钟冒号D_DP的位信号,该信号低电平有效,配合时钟冒号D_DP的段信号就可以点亮或者熄灭时钟冒号14。图16 13位独立按键电路原理图图178段4位动态显示电路原理图4.6 本章小结本章主要对系统硬件设计中涉及到的各个硬件系统进行了逐一的介绍与说明。5 系统软件设计5.1 软件结构软件结构图如图18,图中可以看出各函数之间的调用关系15。main.cKey.cPlayData.cTNDriverUser.cDig.asmTNRFDriver.asmisr.asm图18 软件结构框图下面介绍上图中各个文件里定义

33、的函数及其功能。TNDriverUser.c文件包含了TN_IR_GetData函数和一个延时函数TN_IR_GetData,函数的功能是读取测量结果并计算温度值。直接调用TN_IR_GetData函数就可以得到测量数据。 TNRFDriver.asm文件是底层驱动文件,包含了红外模块初始化函数TN_InitalIO、红外模块启动函数TN_IRACK_EN和读测量数据函数TN_ReadData;其中TN_InitalIO函数主要进行控制端口初始化,TN_IRACK_EN函数用来启动测量,TN_ReadData函数用来读取测量数据。 PlayData.c文件里包含PlaySnd_Auto自动播放

34、语音函数和F_TempplayAndShow温度值显示播报函数,在主函数里直接调用F_TempplayAndShow就可以播放并且显示已经计算好的温度值。 Key.c是一个键盘底层驱动文件,包含键盘控制端口初始化函数Key_Init和键盘扫描函数KeyScan函数16。 Dig.asm是数码管底层驱动文件,包含数码管控制端口初始化函数DIG_Init,设置数码管某一位的显示内容函数DIG_Set,设置所有数码管的显示内容函数DIG_SetAll,获取某一位数码管的显示内容函数DIG_Get,获取所有数码管的显示内容DIG_GetAll,数码管显示函数DIG_Drive,停止数码管显示函数DIG

35、_Off和恢复数码管显示函数DIG_On。 Isr.asm文件里定义了各个中断函数,其中在_FIQ中断服务函数里调用F_FIQ_Service_SACM_S480函数播放语音,在_IRQ4的4KHz中断里调用数码管显示函数DIG_Drive实现数码管的动态刷新显示。 main.c文件里包含mian()一个函数,函数调用键盘扫描程序扫描键盘,根据返回的键值,调用TN_IR_GetData得到测量数据,计算成温度值后进行播放并显示17。5.2 各模块程序说明下面主要介绍主程序模块、读取数据模块和显示播放程序模块18。5.2.1 主程序主程序流程图如图19,初始化红外测温模块,初始化键盘;进入主程序

36、循环,调用键盘扫描程序扫描键盘,根据键值散转:如果第一个键(K1)按下,调用测量温度程序测量,判断是否正确测到目标温度,否则继续测量,直到测到正确数据;是则播放并显示目标温度值。然后再调用测量温度程序测量,判断是否正确测到环境温度,否则继续测量,直到测到正确数据;是则播放并显示环境温度值; 如果第二个键(K2)按下,调用测量温度程序测量,判断是否正确测到目标温度,否则继续测量,直到测到正确数据;是则播放并显示温度值;如果没有键盘按下,则返回重新扫描键盘。 如果第三个键(K3)按下,调用测量温度程序测量,判断是否正确测到环境温度,否则继续测量,直到测到正确数据;是则播放并显示温度值;如果没有键盘

37、按下,则返回重新扫描键盘。开 始初始化红外测温模块初始化键盘扫描键盘取键值判断是哪个按键按下 K1 K2 K3测量目标温度测量目标温度测量目标温度判断是否正确测量目标温度 N判断是否正确测量目标温度判断是否正确测量目标温度 N N Y 播报并显示目标温度 Y Y播报并显示目标温度播报并显示目标温度测量环境温度判断是否正确测到环境温度 N Y播报并显示环境温度图19 主程序流程图5.2.2 测量温度程序 在主程序中,调用了测量温度程序测量数据。程序流程图如图20,定义一个返回变量,根据这个返回变量在主程序可以判断是否测量到正确数据;调用启动测量程序启动测温;调用读测量数据程序读取测量数据;判断第

38、一个字节数据是否为0x4c或者0x66,也就是判断是否测到目标温度或者环境温度,是则依次取第二个字节数据和第三个字节数据19,如果第五个字节数据为0x0d,则证明读到正确数据,根据温度计算公式计算温度值,并且给返回变量赋0,表明已经读到正确的温度值;否则直接返回20。开始取第二个字节数据定义返回变量取第三个字节数据启动测温读到第五个字节数据为0x0d读取测量数据 N 读取第一个字节数据为0x4c或者0x66计算温度值 Y Y返回变量赋0 N延时关闭测量返回图20 读测量数据程序流程图5.2.3 播放显示程序该系统采用自动播放方式,显示时调用数码管驱动函数直接显示。流程图如图21,百位显示在第二

39、位数码管,十位显示在第三位数码管21,个位显示在第四位数码管,小数点后第一位显示在第五位数码管,小数点后第二位显示在第六位数码管22。开始温度值为零 Y播放“点” N计算温度值的百位,十位,个位,小数点后第一位和少数点后第二位显示小数点后第一位数据显示个位数据十位数据为0百位数据为0播放小数点后第一位数据 Y Y N N 个位数据为0显示十位数据显示百位数据 Y显示小数点后第二位数据 N播放个位数据播放十位数据播放百位数据播放“十”播放“百”播放小数点后第二位数据播放摄氏度返回图21 播报显示程序流程图5.2.4 中断服务程序该系统中用到了两个中断,一个是FIQ中断,在这个中断里调用函数进行语

40、音解码播放;另一个用到的中断是IRQ4_4KHz23,这个中断里调用数码管显示函数F_DIG_Drive刷新显示。FIQ中断服务程序流程图和IRQ4中断服务程序流程图分别如图22和图23所示。调用函数为F_FIQ_Service_SACM_S48024。寄存器入栈调用F-FIQ-Service-SACM-S480函数判断是否是FIQ-TMA中断 Y清FIQ-TMB中断标志判断是否是FIQ-TMB中断 Y N N 清FIQ-TMB中断标志清FIQ-fose/1024中断标志 寄存器出栈中断返回图22 FIQ中断服务程序流程图寄存器入栈调用数码管显示函数判断是否是IRQ4-4KHz中断 YN清IR

41、Q4-2KHz中断标志 Y 判断是否是IRQ4-2KHz中断 N 清IRQ-4KHz中断标志清IRQ4-1KHz中断标志 寄存器出栈中断返回图23 IRQ4中断服务程序流程图5.3 系统软硬件联机调试在软件的编译过程中,出现了一个错误警告,经过修改后终于编译成功。下一步是下载程序,在下载前,先对最小系统板进行自检,检测没问题就将红外测温模块、LED模块与最小系统板进行连接24。当打开电源,正准备下载程序时,发现最小系统板的电源指示灯没有亮,而且电源盒中的电池发热25。发现这异常情况后,就立刻把电源关了,这种情况可能是某条线的连接出错,造成短路。经排查发现是与LED模块的IOA0IOA7口的排线插反了。插好后,用EZ-PROBE的方式进行程序的下载,下载过程非常顺利26。对实物测试,均能测出环境和物体的温度,并且能实现LED显示和语音播报的功能。如图24所示27。图24 整体运行图5.4 本章小结本章主要对软件系统的工作流程进行了以图示为主的介绍。对其工作流程,各个流程之间的相互关系。6 操作说明6.1 操作流程本系统的操作非常简单,可以

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号