版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
个人资料整理 仅限学习使用电子体温计设计摘 要本文设计一种基于单片机控制的电子体温计,实现了实时测量显示和语音播报与声音报警的功能。主要由电源电路模块, A/D转换电路模块,温度控制模块,自动控制模块,温度设制、显示及报警电路模块,串行通信模块和语音播放模块组成。自动控制模块采用双 AT89S52构成主从串行处理结构实现对系统的自动控制。温度控制模块选用 AD590集成温度传感器来采集外界温度,转换为线性电压信号。线性电压经由 OP07构成高精度低温漂的放大电路处理后,由A/D转换电路模块中的 ADC0809完成A/D转换,得到 8位的数字信号送入自动控制模块的主机中。主机将采集到温度值在 LED数码管上显示出来,并通过串口通信将温度信号传到从机。此外,主机完成温度预制和报警电路模块功能,从机完成温度值的语音播放功能。关键词单片机; AD590;ADC0809;ISD2560绪论温度是存在于客观世界的一个基本物理量,它与人类的生活和生存有着密切的联系。温测量的历史,可以追溯到 l6世纪。当时 Saatorio用空气热膨胀的原理,制出了第一支测量口腔温度的体温计。本世纪初,开始用水银来制作体温计,至今在临床上得到了广泛的应用。根据 1928年Ebstein的报告,当时除测量口腔及腋下的温度外,还可以测量直肠、颈部、大腿根部,外耳及尿温。这些都是用被测皮肤温度与玻璃球内积存的水银温度相等的原理实现的。 b5E2RGbCAP由于水银体温计使用方便、精度高,因而应用很广。由于用水银体温计进行体温监测很不方便,水银的污染的可能也很严重等,为了正确测量人体局部温度,促使人们开发了各种不同的测温仪器和测温方法。现在已有许多医院采用了电子体温计,用其它电子仪器测量体温也日益普及。 p1EanqFDPw电子温度测量方式是随着电子技术的兴起而发展的一门学科。它利用材料随温度变化的参数转换成电信号 [1]对温度进行测量。早期的电子温度测量均采用模拟技术的方法,对传感器的非线性补偿采用分立式电路进行各种方法的补偿,线路复杂、体积庞大、可靠性低,应用受到很大的制约,微电子技术的发展使这一希望逐步变成了现实。现在数字集成电路技术和相应的数字信号处理理论相对成熟,开发制造成本大幅下降,为新一代电子体温计的开发创造了良好的先决条件,以数字技术为主要技术的新一代电子体温计[2,3]又一次成为关注和研究的对象。DXDiTa9E3d因此,鉴于传统的水银体温计汞的污染及其携带不方便易破碎,尤其是测量时间过长等缺点,本课题设计出一种数字式电子体温计。 RTCrpUDGiT系统方案与论证1/29个人资料整理 仅限学习使用2.1方案论证与比较方案一:采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成,通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分使用带有 A/D通道的单片机,在将随被测温度变化的电压或电流采集过来,进行 A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。系统包括对 A/D的数据采集,温度的显示等,这几项功能信号通过输入输出电路由单片机处理。 [4]此外还有复位电路,晶振电路等。现场输入硬件有手动复位键、 A/D转换芯片,处理芯片为51芯片,执行机构有数码管、报警器等。系统框图如图 2-1所示。5PCzVD7HxA数码管单 片机数据传送报警电路测温点路晶振电路按键防抖动复位电路图2-1热电偶温差电路测温系统框图方案二:采用数字温度芯片 DS18B20测量温度,输出信号全数字化。该系统利用单片机控制温度传感器 DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可根据需要设定上下限报警温度。该系统扩展性非常强,在数据处理同时显示时间,利用键盘来进行调时和温度查询,获得的数据可通过 MAX232芯片与RS232接口进行串口通信,方便采集和整理时间温度数据。系统框图如图2-2所示。jLBHrnAILgxHAQX74J0X单驱动电路显示电路按键输入电路片机温度测温系统框图图2-2DS18B20方案三:外部温度信号经过集成温度传感器采集转换成相应的电压信号,经过时钟电路测温电路复位电路信号放大后成为模拟输入信号, AD将该模拟信号转换成数字信号,通过并口送入到2/29扩展接口:对时间和温度报警电路信息定点存储,并与计算机进行数据交换个人资料整理 仅限学习使用主机。主机处理这些信号后通过 LED数码管显示出来,同时还处理按键和报警模块的程序。温度值由主机通过串行通信传送给聪机,从机控制语音芯片报出对应的温度值。系统框图如图 2-3所示。LDAYtRyKfEAD温度采集键盘预制、报警电语音播放模块路模块图2-3系统框图2.2方案选择方案一:热电偶在测温范围内热电性质稳定,比热小,导电率高,但热电偶的放大电路[5,6]串行通信体积较大,使用不易,价格高主机从机。而电子体温计的温度传感器要求易用,方便携带,体积小,故不用采用。 Zzz6ZB2Ltk方案二:测温装置电路简单、精确度较高、实现方便,但 DS18B20一般用于工A/D转换电业测温度,故不采用。路模块显示模块方案三:采用集成温度传感器。集成温度传感器一般且有具有线性好、精度高、灵敏度高、体积小、使用方便等优点 dvzfvkwMI1如上所述,故选用方案三来进行设计。系统硬件电路设计电子体温计主要由电源电路模块, A/D转换电路模块,温度控制模块,自动控制模块,温度设制、显示及报警电路模块,串行通信模块和语音播放模块组成。rqyn14ZNXI3.1自动控制模块3.1.1单片机的概述单片机,又称为微控制器。是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU随机存储器RAM、只读存储器 ROM、多种I/O口和中断系统、定时器/计时器等功能<可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统[7,8]。EmxvxOtOco单片机的主要特点:有优异的性能价格比;集成度高、体积小、可靠性高;控制功能强;低电压、低功耗。单片机的主要应用领域有 :工业控制、仪器仪表、电信[9,10]技术、办公自动化和计算机外部设备、汽车和节能、制导和导航等。 SixE2yXPq53/29个人资料整理 仅限学习使用3.1.2AT89S52芯片自动控制模块选用 AT89S52,它是一种低功耗、高性能 CMOS8位微控制器,具有8K在系统可编程 Flash存储器。使用 Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。[11]6ewMyirQFL(1>标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。kavU42VRUs(2>在外部结构上,AT89S52单片机和MCS-51系列单片机的结构相同,有三种封装形式,分别是 PDIP形式,为40针脚;PLCC形式,为 44针脚;TAFP形式,也为44针脚。其中,常用的为 PDIP形式,如图3-1所示。y6v3ALoS89图3-1AT89S52的引脚图3.2串行通信模块串行通信模块的主要功能是主机把温度值数据发送到从机 ,从机接收数据并控制语音芯片报出当前的温度值。主机与从机串行通信电路图如图 3-2所示。M2ub6vSTnP4/2944
个人资料整理 仅限学习使用U2U31P10P005391P10P00396238238P11P01P11P01337337P12P02P12P02436436P13P03P13P03535535P14P04P14P04634634P15P05P15P05733733P16P06P16P06832832P17P07P17P0713INT1P202113INT1P2021D12221222INT0P21INT0P212323P22P2215241524T1P23T1P2314251425T0P24T0P242626P25P2531273127EA/VPP26EA/VPP262828P27P271919X1X11818X2X29RESETRXD109RESETRXD101111TXDTXD17301730RDALE/PRDALE/P16291629WRPSENWRPSENAT89S52AT89S52图3-2主C机与从机串行通信电路图3.3电源电路模块如图3-3所示,220V交流电经变压器降压、桥式整流、电容滤波后由7905、7805、7812三端集成稳压管分别得到-5V、+5V、+12V电压,整个系统供电。0YujCfmUCw1U2378123+12VVV+C18INOUTC21GND2200U0.1U12BD1T1421U2478053AC220VVV+5V+C19INOUTGNDTRANS42200UC22BRIDGE120.1U3U2579052VV3-5VC20INOUTC23+GND2200U0.1U1GND图3-3电源电路图A3.4温度控制模块 Title温度控制模块选用 AD590Size,主要功Number能是负责采集温度,把温度值Rev进isio过n放大后传送B给A/D转换电路模块Date:30-May-2007Sheetof3比赛比赛56
TitleSizeBDate:File:55/29个人资料整理 仅限学习使用3.4.1AD590概述集成温度传感器 AD590是美国模拟器件公司生产的集成两端感温电流源。 AD590属于电流型集成温度传感器,电流型集成温度传感器是一个输出电流与温度成比例的电流源,由于电流很容易变换成电压,故使用十分方便。 AD590集成温度传感器的输出电流是整个电路的电源电流,而这个电流与施加在这个电路上的电源电压几乎无关。[12,13]eUts8ZQVRdAD590主要特性如下:(1>具有线性输出电流。(2>宽广的操作温度范围(-55℃~150℃>。(3>宽广的工作电压范围(+4V~+30V>。(4>良好的隔离性。AD590的包装与等效电路如图 3-4所示。图3-4AD590外形及符号AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。根据特性分挡,AD590的后缀以 I,J,K,L,M表示。AD590L,AD590M一般用于精密温度测量电路,它采用金属壳 3脚封装,其中1脚为电源正端V+;2脚为电流输出端I0;3脚为管壳,一般不用。 sQsAEJkW5T它是两端子的半导体温度感测组件,另有一端子是外壳接脚,可接地以减少噪声干扰。AD590如同一个随温度而改变输出电流的定电流源,输出电流与外壳的开氏(K>温度成正比。开氏温度与摄氏温度的单位相等, 0℃等于 273.2K,100℃等于373.2K。当温度为0℃时,AD590的输出电流是273.2μA。而温度为100℃时,输出电流是373.2μA。温度每升高1℃,输出电流增加1μA,及温度系数为1μA/℃。GMsIasNXkA3.4.2温度检测、放大电路原理6/29个人资料整理 仅限学习使用AD590当温度增加 1℃时,其输出电流会增加 1μA。即AD590的温度系数为1μA/℃。所以在T(℃>时的电流I1(T>为TIrRGchYzgI1T I10 1A/C T <式3.1)而温度每变化1℃时,V2的电压变化是为1A/C10k10mV/C<式3.2)表示温度每增加1℃,V2会增加10mV。在0℃时V2就已经有电压存在,其值为V20273.2A10k2.732V<式3.3)7EqZcWLZNX则T(℃>时V2TV2010mV/CT,V202.732V<式3.4)如图3-3所示,OP3组成差动放大器,电压增益为R2R1100k20k5<式3.5)零位调整SVR1则用于抵补0℃的电压值,由差动放大器的公式VOR2R1V2V1<式3.6)可得知,若调整SVR1使V1的电压为2.732V,则0℃时,差动放大器的输出VO为0V。也就是说,若温度是在0℃至50℃之间,则差动放大器的输出电压是在0V至5V之间,亦即每0.1V的输出代表温度上升1℃。与设计要求相符合。lzq7IGf02E3.4.3温度检测与放大电路该模块的主要功能是实时检测温度并转换放大,传送给A/D转换电路。温度检测、放大电路主要器件的作用:OP1:设置温度阀值;OP2:采集AD590转换温度数据;OP3:完成A/D数模转换所需的模拟信号输入;AD590:温度传感器;SVR:零位调整。如图3-5所示。zvpgeqJ1hk7/29个人资料整理 仅限学习使用+12V+12v7OP1SVR126V1310K4R3100K-5v+12V720KR2OP326+12V3Vo+12V20KR47U2R54AD590OP2100K2-5V36V2R6410k-5V图3-5AD590温度检测、放大电路图3.5A/D转换电路模块A/D转换电路模块选用 ADC0809,其功能是从温度控制模块接受数据后,经过A/D转换,把模拟量转换成数字量传送给主机进行处理。 NrpoJac3v13.5.1ADC0809概述ADC0809是美国国家半导体公司生产的 CMOS工艺8通道,8位逐次逼近式 A/D转换器。其内部有一个 8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用2[14,15]1nowfTG4KI34A/D芯片<1)主要性能特点①8路8位A/D转换器,即分辨率 8位②具有转换起停控制端③转换时间为100μs④单个+5V电源供电⑤模拟输入电压范围 0~+5V,不需零点和满刻度校准⑥工作温度范围为-40~+85摄氏度⑦低功耗,约15mW<2)引脚特性8/29个人资料整理 仅限学习使用IN0-IN7:8条模拟量输入通道ADC0809对输入模拟量要求:信号单极性,电压范围是 0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 fjnFLDa5Zo地址输入和控制线:4条ALE为地址锁存允许输入线,高电平有效。当 ALE线为高电平时,地址锁存与译码器将A、B、C三条地址线的地址信号进行锁存,经译码后被选中的通.的模拟量进转换器进行转换。A、B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。数字量输出及控制线:11条。ADC通道选择表如表3-1所示。tfnNhnE6e5表3-1ADC0809通择表CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7ST为转换启动信号。当 ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当 EOC为高电平时,表明转换结束;否则,表明正在进行 A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。 OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。 D7-D0为数字量输出线。 CLK为时钟输入信号线。ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ。HbmVN777sL3.5.2A/D转换电路图如图3-6所示,ADC0809把从放大电路传送过来的模拟信号转变成数字信号,并行传送给单片机的 P0口,让单片机处理。V7l4jRB8Hs9/29个人资料整理 仅限学习使用U2U71P10P0039D026AI02-121D7238D12720D6P11P01AI12-2337D22819D5P12P02AI22-3436D3118D4P13P03AI32-4535D428D3P14P04AI42-5634D5315D2P15P05AI52-6733D6414D1P16P06AI62-7832D7517D0P17P07AI72-813INT1P2021K110CLKEOC71222K2INT0P2123K325P22ADA1524K424T1P23ADB142523T0P24ADC2622P25ALE31276EA/VPP26START289P27OE19+5VX11812X2REF+16REF-910RESETRXD11ADC0809TXD1730RDALE/P1629WRPSENAT89S52图3-6A/D转换电路图3.6温度设制、显示及报警电路模块该模块通过按键可事先设置报警温度值,当显示的温度值超过设定的温度值时,单片机会从INT0脚发出一连串脉冲,驱动蜂鸣器发出报警声。数据用3位LED显示83lcPA59W93.6.1LED显示器简介在显示系统中,使用的显示器件主要有 LED发光二极管,LCD液晶显示器,近年来也有使用简易形式的 CRT接口,其中 LED显示器最为常见,具有成本低廉、配置灵活、与单片机的接口简单方便、易于编程等特点,在低端领域使用广泛,LCD液晶显示器多用于高端场合。在本系统设计中,采用 LED显示器。LED显示器是由发光二极管显示字段促成的器件,在单片机应用系统中通常使用的是七段LED,这种显示器分共阴极和共阳极两种。其结构图如下图 3-7所示。mZkklkzaaP2 10/329 4个人资料整理 仅限学习使用a)共阴极 (b>共阳极 (c>结构图AVktR43bpw图3-73位LED结构图共阴极 LED数码管的发光二极管的阴极接地,当发光二极管的阳极为高电平时,发光二极管点亮;共阳极 LED数码管的发光二极管的阳极接 +5V电源。N位的LED显示器有N根位选线和8×N根段选线,位选线控制显示位的亮和暗,段选线控制字符的选择。LED显示器有两种显示方式 ——静态显示方式和动态显示方式。在静态工作方式下,共阴极接地或者共阳极接+ 5V,,每一位的段选线<a~g,dp)与一个8位的并行 I/O口相连。在动态工作方式中,要将所有位的段选线并接在一个I/O口上,,共阴极或共阳极分别由相应的 I/O口线控制。由于每一位的段选线都接在一个 I/O口上,所以每送一个段选码,各位显示器都显示同一个字符,这样的显示器是不能用的,解决方法是利用人的视觉滞留,从段选线 I/O口上按位次分别送显示字符的段选码,在位选控制口也按相应的次序分别选通相应的显示位 <共阴极送低电平,共阳极送高电平),选通位就显示相应字符,并保持几毫秒的延时,未选通位不显示字符<熄灭),这样对各位的显示就是一个循环的过程。由于人的视觉滞留,这种动态变化是观察不到的,从效果看,各位显示器能连续而稳定的显示不同字符。在实际使用中,多使用动态显示[16]方式。ORjBnOwcEd3.6.2电路图如图3-8所示。11/29个人资料整理 仅限学习使用1 2 3 4U5Q49014DBUZZERU2a1P10P0039DS2AMBERCCb23812P11P01a1ac33713P12P02b2d43614baaaR7P13P03c3e535cP14P04d154fbfbfb1Kf634dP15P05e165gggg73317eecececP16P06f6dp83218fP17P07g7ddd19gdpdpdpdp81321K1dpINT1P201222K2INT0P2123K3P221524K4T1P231425T0P24Q5Q6Q7+5V26P253127EA/VPP2628P2719X1+5v18CX230P9012901290129RESETRXD1011TXD1730RDALE/P1629WRPSEN30PAT89S52图3-8温度设制、显示及报警电路图3.7语音播放模块语音播放模块采用采用 ISD2560语音录放集成电路,其功能是进行语音提示。3.7.1ISD2650概述<1)ISD2560是DIP器件封装,有 28脚,如图3-9所示。B图3-9ISD2560管脚图各引脚功能如下:脚1~脚7:A0/M0~A6/M6地址/模式选择;脚8~脚10:A7~A9输入地址线;脚11:AUXIN辅助输入;脚12、脚13:VSSD、VSSA数字地和模拟地;脚14、脚15:SP、SP-扬声器输出;A12/29个人资料整理 仅限学习使用脚16: VCCA模拟信号电源正极;脚17、脚18: MIC、MICREF麦克风输入端和输入参考端 ;脚19:AGC自动增益控制;脚20、脚21:ANAIN、ANAOUT模拟信号输入和输出;脚22: OUF溢出;脚23:CE片选<低电平允许芯片工作);脚24:PD芯片低功耗状态控制;脚25:EOM录放音结束信号输出;脚26:XCLK外部时钟;脚27: P/R录/放控制选择;脚28: VCCD数字信号电源正极;<2)工作原理:ISD2560内部存储单元EEPROM均匀分为600行,有600个地址单元,每个地址单元指向其中一行,每一个地址单元分辨率为100ms。ISD2560有10个地址输入端A0~A9,录址能力达1024位,地址空间为0~1023。其分配情况是:地址0~299作为分段用,地址600~767未使用,地址768~1023为工作模式选择<即A8、A9都为高)。当最高位地址A8、A9都为高电平时<地址768~1023),地址端A0~A6就作为工作模式选择端M0~M6,对应7种工作模式。当A8、A9不都为高时<地址0~599),只需在分段录、放音操作前<不少于300ns)给地址A0~A9赋值,操作就从该地址开始。[17]ISD2560将EEPROM分为600个信息段,每段800个字节。作为一个整体单位进行寻址和控制,应给每个信息段分配一个供外部控制的地址。每个语音段的尾部自动增加一个结束标志 EOM,组合放音时,通过检测 EOM来控制各语音段的结束和下一段的开始。 每个信息段录放音时间等于总时间除以 600。例如ISD2560总时间为60s,每个信息段的录放音时间为 100ms。故可利用该时间长度作为一个段地址,通过单片机定时器的计时平行地映射信息段的地址,得到每段录音的起始地址。这样,就需设置一个地址计数器。一般录音从 0地址开始,首先通过 CPU将它赋给A0~A9,然后通过单片机控制 ISD启动录音,同时启动单片机的定时器开始计时,每到一个信息段的时间,就给地址计数加 1。当单片机停止控制 ISD录音时,同时停止定时器计时。此时地址计数器的值即为该段语音的未地址,加 1即为下一段语音首地址,并将它存在 EEPROM中,为下一将放音提供地址信息。通过 CPU将该13/29个人资料整理 仅限学习使用地址赋给A0~A9,即可录制下一段语音。依次下去,即可在录制完所有语音段的同时得到各段的起始地址。若不是从 0地址开始的语音段,需将初始地址赋给 A0~A9,加上地址计数器的值,可得到语音段的末地址。 2MiJTy0dTT3.7.2电路原理图语音播放模块如图 3-10所示,主要由单片机 AT89S52与语音芯片 ISD2560组成。+5V1K*8+5VR1U9U11KC31P10P00391A0/M0SP+14LS1R247U23821510KP11P01A1/M1SP-3373P12P02A2/M24364P13P03A3/M3C2535518MK1P14P04A4/M4MICREF63460.22UP15P05A5/M57337R510KP16P06A6/M6C1832817P17P07A7MICMIC9260.22UA8XCLK13211020INT1P20A9ANAIN1222+5VINT0P21C52327P22P/R1524251UT1P23EOM14252421T0P24PDANAOUTR6470K262319P25CEAGC3127EA/VPP26C428ISD2560P27194.7UX118X29RESETRXD1011TXD1730RDALE/P1629WRPSENAT89S52图3-10录音、放音电路图系统软件设计4.1系统程序流程图图4-1为主机程序流程图,主要功能是显示温度、按键扫描、BCD码转换、串行发送数据给从机。定时器定时1ms,每定时100次即1秒钟就启动A/D转换程序、BCD码转换程序,串行发送二进制数给从机。gIiSpiue7A14/292 3 4个人资料整理 仅限学习使用图4-2为从机程序流程图,负责接收数据并且播报相应的温度值,T0定时器定时,结合延时程序定时1分钟,使每1分钟更新一次语音音素地址,即每1分钟更新一次温度值,并在中断程序处理过程度中播报一次温度。uEh0U1YfmhIAg9qLsgBX开始开始图4-1主机程序流程图图4-2从机程序流程图串口中断入口初始化4.2子程序流程图显示温度
初始化T0中端人口更新温度数据图4-3从机的T0中断程序流程图按键扫描5系统测试二进制转十1分钟到否N进制BCD码5.1N硬件测试1秒钟到否Y返回5.1.1单元模块测试计数变量清零Y<1)电源测试:用数字万用表电压档测量各三端稳压管输出的电压值是否正常。启动A/D转换测试相关测试点,三路电压正常。WwghWvVhPE1分钟到否播报一次温度<2)温度采集模块的测试:调节温度变化,测试点的电压值是否有相对应的改BCD码转换变。当温度变化时,测试点的电压与温度之间的线性关系比较好,如表所示。Y返回asfpsfpi4kN串行发送播报一次温度<3)A/D转换模块的测试:当输入为0V和5V以及中间若干电压输入时,测试A/D转换是否正常。测试发现当输入为0V时,ADC0809的输出为00H,为+5V时为0FFH,当输入为2.5V时,输出为0EFH,测试结果表明A/D转换的功能完全实现。ooeyYZTjj1<4)语音播放模快的测试:通过拨码开关人工给语音芯片选地址,测试不同的地址是否有不同的发音,以检验语音是否正确录入及能否正常播放。根据设定,将 12个语音信号分别放到指定的行地址上,当按相应的行地址拨开关给 ISD2560时,能够正常播放设定的12个语音,说明语音芯片的录用存贮工作成功。接入系统,编程输出相应的行地址,ISD2560能够正常播放各个语音,说明语音播放模快的硬件设计可行。BkeGuInkxI5.1.2系统整体测试测试方法——以水温代替人的体温,用一根水银温度计与所制作的体温计探头 <15/29个人资料整理 仅限学习使用捆绑)同时接触被测热水的同一点。 PgdO0sRlMo<1)准备一杯 0摄氏度的冰水混合物和一杯热水。从 0度开始记录测试点的电压值与温度计对比较。记完一个数后,往杯中加热水,这样,每测一次,记录一次数据,再加一次热水,这样使水温渐渐升高,一直测到水温为 50摄氏度。3cdXwckm15<2)检测水温高于50摄氏度时测试点的电压值。看是否为+ 5V。结果显示为+5V,说明保护电路可行。5.2软件测试将各功能子程序进行KAIL C系统进行软件仿真,全部通过,再进行硬件仿真,也能全部实现所要求实现的功能。 h8c52WOngM<1)数码管显示的测试:把放大器的输出连接到 ADC0809的输入端,ADC0809与单片机相连接,观察数码管显示的数值是否与测试点所测值成归一化关系。 v4bdyGious<2)双机串行通信测试:主机发送一个 8位二进制数,用示波器观察从机是否接收到。5.3硬件与软件的联机测试将把程序经编译、下载到相应的 AT89S51芯片中,构建电路测试,比较数码管显示的数值与温度计的值和测试点的值。 J0bm4qMpJ95.4测试数据和结果分析5.4.1测试数据按照前述的测试方法,取得到测试结果如表 5-1所示。表5-1数码显示与测试点电压随温度变化关系温度值<摄氏度)数码管显示值测试点电压值<V)000.00.010.010.01.00119.019.01.90338.138.13.82047.847.84.80060.150.05.0035.4.2结果分析根据上述测试结果,此系统的设计基本取得成功。智能体温计的测量范围在0~50C,在测试温度方面有一定的成效,测试误差较小,通过表5-1的数据比较,显示的误差与实际的温度值误差在0.1C内。数码管显示的数值是否与测试点所测16/29个人资料整理 仅限学习使用值成归一化关系。 XVauA9grYP结论本次设计采用AT89S52作为核心器件实现对系统的自动控制,采用双单片机串行处理结构。AD590集成温度传感器采集外界温度,并将温度变化转换为线性电压信号。线性电压经由OP07构成高精度低温漂的放大电路处理后,作为ADC0809的模拟输入信号,由ADC0809完成A/D转换,得到8位的数字信号送入主机<AT89S52)。主机将采集到温度值在LED数码管上显示出来,并通过串口通信将温度信号传到单从机<AT89S52)。此外,主机完成温度预制和报警电路模块功能,主机完成温度值的语音播放功能。比起水银体温计,电子体温计利用电子感温,灵敏度高,适合无法长时间安静的儿童,且能在较短的时间内准确测试出体温,温度播报时间可快至1min。它的测量精度可达±0.1℃,LED直接显示体温数值。bR9C6TJscw参考文献无铭.基于89S52单片机的电子体温计[J].电子制作,2008,(1>.沙占友.智能温度传感器的发展趋势[J].电子技术应用,2005,(5>:6-7.[3]庄春生,杨杰,刘宏伟.新型智能电子体温计的研究 [J].河南科学,2004,22<6).王港元.电工电子实践指导[M].南昌:江西科学技术出版社,2005.支长义,程志平,焦留成.语音智能电子体温计设计[J].微计算机信息,2007,23(1>.金伟正.单线数字温度传感器的原理及应用[J].电子技术应用,2000,(6>.[7]柴卫华,何文昌,孙庆安.新型数字温度传感器 DS18B20组成的温度巡检系统 [J].传感器世界,2001,(1>:45.pN9LBDdtrd[8]李朝青.单片机原理及接口技术 (第1版>[M].北京:北京航空航于大学出版社, 1999,<3).DJ8T7nHuGT胡汉才.单片机原理及系统设计[M].北京:清华大学出版社,2001.第一版.孙育才.单片微型计算机及其应用[M].上海:东南大学出版社,2004.[11]全国大学生电子设计竞赛组委会.第五届全国大学生电子设计竞获奖作品选编 [M].北京:北京理工大学出版社, 2003,(1>.QF81D7bvUA汪涵才.集成温度传感器AD590构成多温度测试系统[J].电子技术应用,1998,(6>,7-13.4B7a9QFw9h[13]马净,李晓光,宁伟.几种常用温度传感器的原理及发展 [J].中国仪器仪表, 2004,(6>:17/29个人资料整理 仅限学习使用1-2.ix6iFA8xoX[14] W.Wójciak,NAPIERALSKI A.An analogue temperature sensor integrated in theCMOStechnology.In:Proc.THERMINIC ’Workshop[R]95,France:Grenoble,1995:15-20,25-26.wt6qbkCyDE[15]V.Székely,RENCAM.CMOStemperaturesensorsandbuilt-intestcircuitryforthermaltestingofICs.SensorsandActuatorsA[J],1998,71:10-18.Kp5zH46zRk[16]谢自美.电子线路设计 ·实验·测试[M].武汉:华中科技大学出版社, 2000.[17]P.Miribel-Catal ,E.Montanà.éMOSFET-basedtemperaturesensorforstandardBCDsmartpowertechnology.MicroelectronicsJournal[J],2001,32:869-873.Yl4HdOAA61ElectronicthermometersdesignZhaoZhixiang(DepartmentofPhysics,DezhouUniversity,Dezhou,253023>ch4PJx4BlIAbstractAstheeraofprogressanddevelopment,microcontrollertechnologyhasspreadtoourlife,work,scientificresearch,etc,hasbecomeamorematuretechnology,thispaperintroducesakindofbasedonsinglechipmicrocomputercontrol,theelectronicthermometersAT89S52asthecoredeviceimplementstothesystemautomaticcontrol,adoptdoublemicrocontrollerserialprocessingstructure.AD590temperaturesensorstocollectoutsidetemperatureintegrated,andtemperaturechangeconvertedtolinearvoltages.OP07constituteshighprecisionlinearvoltagetemperaturedriftthroughtheamplifiercircuit,asADC0809aftertreatmentbytheanaloginputsignal,ADC0809finishA/Dconversion,geteightdigitalsignalsintoAT89S52SCM(1>.SCM1temperaturecollectedinLEDdigitaldisplay,andtubethroughserialcommunicationwilltemperaturesignalstosingleqd3YfhxCzoKeywordsMicrocontroller;AD590;ADC0809;ISD2560E836L11DO5致谢在论文完成之即,我要感谢我的导师张秀梅老师在论文题目的选定、研究方案的制定以及后期论文的修改工作中给出了许多宝贵的建议,并且给予了我极大的关心和帮助。没有张老师的帮助也就没有今天的论文。所以我要衷心的感谢张老师对我的帮助。S42ehLvE3M18/29个人资料整理 仅限学习使用四年时间很快就要过去了,在学校里我不仅学到了专业知识,还学会了很多做人的技巧,再一次衷心的谢谢我的老师,谢谢你们给我的帮助。谢我的班主任魏勇老师,谢谢他在这四年中为我们全班所做的一切,他不求回报,无私奉献的精神很让我感动,再次向他表示由衷的感谢。同时还要谢谢同学们,在我论文设计过程中给予的帮助,使我能够顺利的完成论文设计501nNvZFis最后,感谢我的母校—德州学院四年来对我的大力栽培。我还要感谢含辛茹苦抚养我长大的父母,谢谢您们!附录1系统总电路图19/29个人资料整理 仅限学习使用D
C
B A654
76543210DDDDDDDD1098854722111111234567822222222012345677AAAAAAAAU67812345222
V5+7COET9+-0KABCER8AEFF0CAAAASORRDA05432692612222V115+1 2 3 4K KK K
43211111O1234CQQQQDKREE1234LLU9 2 1 7 0134568RV5+v5+8*K17 0 1 2 3 4 5 63 2 2 2 2 2 2 201234567PPPPPPPP
V7UVUU5621VC0C+0+C03335TTTU250OUU9VD1O0OD7N18VD8V8G22N6G7GUNNVUUVIVIUUU2401201301200C2+++221EDRB13eliT4A114F74S2ARTTV2CC1MMUC42KK201K19UU054U82C22SCC00LK45876019111112221+-FCKNTCGSSRMCAO05CXNAAAU0123456A2DMMMMMMM6R0123456789AAAAAAAAAAPEPC12345678907543V22225+01234567PPPPPPPP
niieRrbuNiS
6f:oBtnSDb70赛比y赛-M比3D::D F5435U44 021
01234567DDDDDDDD98765432123456780109333333332222222211320123456701234567DDPN0000000022222222PPPPPPPPPPPPPPPPRTLSAP25SRTZPTU10B01234567RTT10/12SD211111111NNAEU123456783254198976abcdefgp11V31111d5+7KR1271bcpQ9agdfde2C1C9Rbp6EcBdQagdAfe212p9Sbc5DdafgdQepabcdefgdv12345678+23456789PP1111111133abcdefgpd7UC1V25+SDC
98765432123456780109333333332222222211320123456701234567DDPN0000000022222222EPPPPPPPPPPPPPPPPRTLSAP25STA10PT01234567RTT10/12SD311111111NNAEU123456783254V1989761111311115+o?v6VD+P63K3PPO0VV31744+1R233K10R01K21R2K11RV2621VP6vOv2274+-VOV257423+123K3kRV202RVS129E2+0RR19UDABA
321附录2电子体温计程序20/29个人资料整理 仅限学习使用#include<reg52.h>#include<absacc.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintucharcodedis_code[10]={0xc0,0xf9,0xa4,0xb0,//0,1,2,3jW1viftGw90x99,0x92,0x82,0xf8,0x80,0x90}。//4,5,6,7,8,9,offxS0DOYWHLPuchardataset_data[3]={0x00,0x07,0x03}。//预设37.0度LOZMkIqI0wuchardataad_data。//AD转换结果ZKZUQsUJeduchardatadis_buf[3]={0x00,0x00,0x00}。//显示缓冲区dGY2mcoKtTuchardatabcd_buf[3]={0x00,0x00,0x00}。//十进制BCD码转换存放区rCYbSWRLIAuchardataTIMER0_NUM。bitTIMER0_flag。bitdataset_flag=0。sbitALE=P2^4。sbitOE=P2^5。sbitSTART=P2^6。sbitEOC=P2^7。sbitP30=P3^0。sbitselect0=P3^7。sbitselect1=P3^6。sbitselect2=P3^5。sbitK1=P2^0。sbitK2=P2^1。sbitK3=P2^2。sbitK4=P2^3。sbitbep=P3^3。sbitSET_IND=P3^4。sbitP17=P1^7。 //小数点FyXjoFlMWhuintdatatemp。/**********************************************//*函数声明/**********************************************/voiddelay1ms(uchart>。voidadc(void>。voidBCD(void>。voidkeyscan(void>。voidsend_str(void>。voidbeep(void>。voiddisplay(void>。/**********************************************//*按键蜂鸣函数/**********************************************/21/29voidbeep2(void>{uchardataj,k。for(j=26。j>0。j-->{for(k=254。k>0。k-->。bep=!bep。}bep=1。}/**********************************************//*蜂鸣报警/**********************************************/voidbeep(void>{uchardataj,k。for(j=100。j>0。j-->{for(k=254。k>0。k-->bep=0。}bep=1。 //关蜂鸣器}/**********************************************//*延时1ms函数/**********************************************/voiddelay1ms(uchart>{ucharj,k。for(j=0。j<t。j++>for(k=0。k<120。k++>。}/**********************************************//*AD转换函数/**********************************************/voidadc(void>{ALE=1。_nop_(>。_nop_(>。ALE=0。START=1。_nop_(>。_nop_(>。
个人资料整理 仅限学习使用TuWrUpPObX22/29个人资料整理 仅限学习使用START=0。_nop_(>。_nop_(>。_nop_(>。_nop_(>。while(EOC==0>。//等待转换结束7qWAq9jPqEOE=1。ad_data=P0。//读入转换数据llVIWTNQFkOE=0。}/**********************************************//*十进制BCD码转换函数/**********************************************/voidBCD(void>{bcd_buf[2]=(ad_data/51>。 //十位temp=(ad_data%51>。temp=(temp*10>。bcd_buf[1]=(temp/51>。 //个位temp=(temp%51>。temp=temp*10。bcd_buf[0]=(temp/51>。 //小数位if(bcd_buf[2]>set_data[2]> //报警值检测beep(>。elseif(bcd_buf[2]==set_data[2]>{if(bcd_buf[1]>set_data[1]>beep(>。elseif(bcd_buf[1]==set_data[1]>{if(bcd_buf[0]>set_data[0]>beep(>。}}}/**********************************************//*键盘扫描函数/**********************************************/voidkeyscan(void>{uchardatam。if(K1==0> //K1设置键{for(m=0。m<100。m++> //延时11msdisplay(>。23/29个人资料整理 仅限学习使用if(K1==0>{beep2(>。//按键时响一声set_flag=!set_flag。//设置标志位取反}}if(set_flag==1>//若设置键按下,则检测K2-K4yhUQsDgRT1{SET_IND=0。//设置灯亮if(K2==0>//K2:十位加1{for(m=0。m<100。m++>//延时11msdisplay(>。if(K2==0>{beep2(>。//按键时响一声set_data[2]++。if(set_data[2]==5>set_data[2]=0。}}if(K3==0> //K3:个位加1{for(m=0。m<100。m++> //延时11msdisplay(>。if(K3==0>{beep2(>。 //按键时响一声set_data[1]++。if(set_data[1]==10>set_data[1]=0。}}if(K4==0> //K4:小数位加1{for(m=0。m<100。m++> //延时11msdisplay(>。if(K4==0>{beep2(>。 //按键时响一声set_data[0]++。if(set_data[0]==10>set_data[0]=0。}}}elseSET_IND=1。24/29个人资料整理 仅限学习使用}/**********************************************//*显示函数/**********************************************/voiddisplay(void>{if(set_flag> //设置键按下,则显示设置的数值 MdUZYnKS8I{dis_buf[0]=set_data[0]。dis_buf[1]=set_data[1]。dis_buf[2]=set_data[2]。}else{//否则显示温度值09T7t6eTnodis_buf[0]=bcd_buf[0]。dis_buf[1]=bcd_buf[1]。dis_buf[2]=bcd_buf[2]。}P1=0xff。//先关闭所有数码管P1=dis_code[dis_buf[0]]。//小数显示代码传送到P1口e5TfZQIUB5select2=1。select1=1。select0=0。//位选delay1ms(1>。//延时1msP1=dis_code[dis_buf[1]]。//个位显示代码传送到P1口s1SovAcVQMselect2=1。select1=0。select0=1。//P17=0。delay1ms(1>。//延时1msP1=dis_code[dis_buf[2]]。//十位显示代码传送到P1口GXRw1kFW5sselect2=0。select1=1。select0=1。//delay1ms(1>。//延时1ms}/**********************************************//*串口发送一个字符函数/**********************************************/voidsend_str(void>{SBUF=ad_data。//串口发送AD转换温度值UTREx49Xj9while(TI==0>。//等待数据传送TI=0。//清除数据传送标志}/**********************************************//*主函数/**********************************************/voidmain(void>{25/29个人资料整理 仅限学习使用TMOD=0x21。 //定时器1工作于方式2,8位自动重载模式,用于产生波特率8PQN3NDYyP//定时器0工作于方式1,产生1s的AD间隔时间TH0=15536/256。 //T0定时50msTL0=15536%256。TH1=0xe1。 //波特率1000TL1=0xe1。SCON=0x50。 //设定串行口工作方式 1PCON=0x00。 //波特率不倍增TI=0。 //清除发送中断标志EA=1。 //开总中断ET0=1。 //开T0中断ET1=0。TR1=1。 //启动T1TR0=1。 //启动T0while(1>{display(>。keyscan(>。if(TIMER0_flag>{TIMER0_flag=0。adc(>。BCD(>。send_str(>。}}}/**********************************************//*T0中断服务程序/*每秒钟ADC一次,串口发送一次/**********************************************/voidtimer0(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025吉林辽源东辽县消防救援大队招聘政府专职消防员20人备考题库含答案详解
- 2026中国银联秋季校园招聘备考题库含答案详解ab卷
- 2026杭州银行温州分行秋季校园招聘备考题库及答案详解(有一套)
- 2025年绿园区公开招聘“社工岗”普通工作人员备考题库(9人)含答案详解(巩固)
- 2025沈阳市和平区总工会公开招聘派遣制工会社会工作者16人备考题库附答案详解(完整版)
- 2026“遂纳英才 银领未来”遂宁银行人才招聘备考题库附答案详解(完整版)
- 2025重庆南岸区选拔社区工作者后备库人选300人备考题库附答案详解
- 2025陕西宝鸡市眉县招聘社区专职工作人员10人备考题库含答案详解(达标题)
- 2025吉林白山市招聘工会社会工作者20人备考题库附答案详解(培优)
- 2025安徽蚌埠市禹会区面向社区工作者招聘事业单位工作人员3人备考题库含答案详解(预热题)
- 小班语言《报纸上的洞洞》课件
- 工人工资结清证明范本
- 椎弓根螺钉置钉技术课件
- 杂物电梯维护保养施工方案
- GB/T 20970-2007石油天然气工业井下工具封隔器和桥塞
- GB/T 12975-2021船用同步发电机通用技术条件
- GA 1468-2018寄递企业安全防范要求
- 监控安装工程拟投入的主要施工设备表
- 老年书画协会年会讲话稿
- 四年级上册美术课件-7椅子设计 |浙美版 (共17张PPT)
- DBJ53-T-40-2011 云南省城镇园林工程施工质量验收规程
评论
0/150
提交评论