基于51单片机的电子体温计设计

上传人:沈*** 文档编号:171392763 上传时间:2022-11-26 格式:DOC 页数:31 大小:322.50KB
返回 下载 相关 举报
基于51单片机的电子体温计设计_第1页
第1页 / 共31页
基于51单片机的电子体温计设计_第2页
第2页 / 共31页
基于51单片机的电子体温计设计_第3页
第3页 / 共31页
点击查看更多>>
资源描述
电子体温计设计摘 要 本文设计一种基于单片机控制的电子体温计,实现了实时测量显示和语音播报与声音报警的功能。主要由电源电路模块,A/D转换电路模块,温度控制模块,自动控制模块,温度设制、显示及报警电路模块,串行通信模块和语音播放模块组成。自动控制模块采用双AT89S52构成主从串行处理结构实现对系统的自动控制。温度控制模块选用AD590集成温度传感器来采集外界温度,转换为线性电压信号。线性电压经由OP07构成高精度低温漂的放大电路处理后,由A/D转换电路模块中的ADC0809完成AD转换,得到8位的数字信号送入自动控制模块的主机中。主机将采集到温度值在LED数码管上显示出来,并通过串口通信将温度信号传到从机。此外,主机完成温度预制和报警电路模块功能,从机完成温度值的语音播放功能。关键词 单片机; AD590; ADC0809; ISD25601 绪论温度是存在于客观世界的一个基本物理量,它与人类的生活和生存有着密切的联系。温测量的历史,可以追溯到l6世纪。当时Saatorio用空气热膨胀的原理,制出了第一支测量口腔温度的体温计。本世纪初,开始用水银来制作体温计,至今在临床上得到了广泛的应用。根据1928年Ebstein的报告,当时除测量口腔及腋下的温度外,还可以测量直肠、颈部、大腿根部,外耳及尿温。这些都是用被测皮肤温度与玻璃球内积存的水银温度相等的原理实现的。由于水银体温计使用方便、精度高,因而应用很广。由于用水银体温计进行体温监测很不方便,水银的污染的可能也很严重等,为了正确测量人体局部温度,促使人们开发了各种不同的测温仪器和测温方法。现在已有许多医院采用了电子体温计,用其它电子仪器测量体温也日益普及。电子温度测量方式是随着电子技术的兴起而发展的一门学科。它利用材料随温度变化的参数转换成电信号1对温度进行测量。早期的电子温度测量均采用模拟技术的方法,对传感器的非线性补偿采用分立式电路进行各种方法的补偿,线路复杂、体积庞大、可靠性低,应用受到很大的制约,微电子技术的发展使这一希望逐步变成了现实。现在数字集成电路技术和相应的数字信号处理理论相对成熟,开发制造成本大幅下降,为新一代电子体温计的开发创造了良好的先决条件,以数字技术为主要技术的新一代电子体温计2,3又一次成为关注和研究的对象。因此,鉴于传统的水银体温计汞的污染及其携带不方便易破碎,尤其是测量时间过长等缺点,本课题设计出一种数字式电子体温计。2 系统方案与论证2.1 方案论证与比较方案一:采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成,通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分使用带有A/D 通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。系统包括对A/D的数据采集,温度的显示等,这几项功能信号通过输入输出电路由单片机处理。4此外还有复位电路,晶振电路等。现场输入硬件有手动复位键、A/D 转换芯片,处理芯片为51 芯片,执行机构有数码管、报警器等。系统框图如图 2-1所示。数码管报警电路测温点路晶振电路复位电路按键防抖动单 片 机数据传送图 2-1 热电偶温差电路测温系统框图方案二:采用数字温度芯片DS18B20 测量温度,输出信号全数字化。该系统利用单片机控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可根据需要设定上下限报警温度。该系统扩展性非常强,在数据处理同时显示时间,利用键盘来进行调时和温度查询,获得的数据可通过MAX232芯片与RS232接口进行串口通信,方便采集和整理时间温度数据。系统框图如图 2-2所示。按键输入电路驱动电路报警电路测温电路时钟电路复位电路扩展接口:对时间和温度信息定点存储,并与计算机进行数据交换显示电路单 片 机图 2-2 DS18B20温度测温系统框图方案三:外部温度信号经过集成温度传感器采集转换成相应的电压信号,经过信号放大后成为模拟输入信号,AD将该模拟信号转换成数字信号,通过并口送入到主机。主机处理这些信号后通过LED数码管显示出来,同时还处理按键和报警模块的程序。温度值由主机通过串行通信传送给聪机,从机控制语音芯片报出对应的温度值。系统框图如图 2-3所示。放大电路AD温度采集A/D转换电路模块键盘预制、报警电路模块主机串行通信语音播放模块从机显示模块图 2-3 系统框图2.2 方案选择方案一:热电偶在测温范围内热电性质稳定,比热小,导电率高,但热电偶的体积较大,使用不易,价格高5,6。而电子体温计的温度传感器要求易用,方便携带,体积小,故不用采用。方案二:测温装置电路简单、精确度较高、实现方便,但DS18B20一般用于工业测温度,故不采用。方案三:采用集成温度传感器。集成温度传感器一般且有具有线性好、精度高、灵敏度高、体积小、使用方便等优点如上所述,故选用方案三来进行设计。3 系统硬件电路设计电子体温计主要由电源电路模块,A/D转换电路模块,温度控制模块,自动控制模块,温度设制、显示及报警电路模块,串行通信模块和语音播放模块组成。3.1 自动控制模块 3.1.1 单片机的概述 单片机,又称为微控制器。是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统7,8。单片机的主要特点:有优异的性能价格比;集成度高、体积小、可靠性高;控制功能强;低电压、低功耗。单片机的主要应用领域有:工业控制、仪器仪表、电信技术、办公自动化和计算机外部设备、汽车和节能、制导和导航等。9,10 3.1.2 AT89S52芯片自动控制模块选用AT89S52,它是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。11 (1) 标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 (2) 在外部结构上,AT89S52单片机和MCS-51系列单片机的结构相同,有三种封装形式,分别是PDIP形式,为40针脚;PLCC形式,为44针脚;TAFP形式,也为44针脚。其中,常用的为PDIP形式,如图3-1所示。图3-1 AT89S52的引脚图3.2串行通信模块 串行通信模块的主要功能是主机把温度值数据发送到从机,从机接收数据并控制语音芯片报出当前的温度值。主机与从机串行通信电路图如图3-2所示。 图3-2 主机与从机串行通信电路图3.3 电源电路模块如图3-3所示,220V交流电经变压器降压、桥式整流、电容滤波后由7905、7805、7812三端集成稳压管分别得到-5V、+5V、12V电压,整个系统供电。图3-3 电源电路图3.4 温度控制模块温度控制模块选用AD590,主要功能是负责采集温度,把温度值进过放大后传送给A/D转换电路模块3.4.1 AD590概述 集成温度传感器AD590 是美国模拟器件公司生产的集成两端感温电流源。AD590 属于电流型集成温度传感器,电流型集成温度传感器是一个输出电流与温度成比例的电流源,由于电流很容易变换成电压,故使用十分方便。AD590 集成温度传感器的输出电流是整个电路的电源电流,而这个电流与施加在这个电路上的电源电压几乎无关。12,13 AD590主要特性如下: (1) 具有线性输出电流。 (2) 宽广的操作温度范围(-55150)。 (3) 宽广的工作电压范围(+4V+30V)。 (4) 良好的隔离性。 AD590的包装与等效电路如图3-4所示。图3-4 AD590外形及符号AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。根据特性分挡,AD590的后缀以I,J,K,L,M表示。AD590L,AD590M一般用于精密温度测量电路,它采用金属壳3脚封装,其中1脚为电源正端V;2脚为电流输出端I0;3脚为管壳,一般不用。它是两端子的半导体温度感测组件,另有一端子是外壳接脚,可接地以减少噪声干扰。AD590如同一个随温度而改变输出电流的定电流源,输出电流与外壳的开氏(K)温度成正比。开氏温度与摄氏温度的单位相等,0等于273.2K,100等于373.2K。当温度为0时,AD590的输出电流是273.2A。而温度为100时,输出电流是373.2A。温度每升高1,输出电流增加1A,及温度系数为1 A/。3.4.2 温度检测、放大电路原理AD590当温度增加1时,其输出电流会增加1A。即AD590的温度系数为1A/。所以在T()时的电流I1(T)为 (式3.1)而温度每变化1时,V2的电压变化是为 (式3.2) 表示温度每增加1,V2会增加10mV。在0时V2就已经有电压存在,其值为 (式3.3) 则T()时 , (式3.4)如图3-3所示,OP3组成差动放大器,电压增益为 (式3.5)零位调整SVR1则用于抵补0的电压值,由差动放大器的公式 (式3.6)可得知,若调整SVR1使V1的电压为2.732V,则0时,差动放大器的输出VO为0V。也就是说,若温度是在0至50之间,则差动放大器的输出电压是在0V至5V之间,亦即每0.1V的输出代表温度上升1。与设计要求相符合。3.4.3 温度检测与放大电路该模块的主要功能是实时检测温度并转换放大,传送给A/D转换电路。温度检测、放大电路主要器件的作用:OP1:设置温度阀值;OP2:采集AD590转换温度数据;OP3:完成A/D数模转换所需的模拟信号输入;AD590:温度传感器;SVR:零位调整。如图3-5所示。图3-5 AD590温度检测、放大电路图3.5 A/D转换电路模块A/D转换电路模块选用ADC0809,其功能是从温度控制模块接受数据后,经过A/D转换,把模拟量转换成数字量传送给主机进行处理。3.5.1 ADC0809概述 ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片14,15 (1)主要性能特点 8路8位A/D转换器,即分辨率8位 具有转换起停控制端 转换时间为100s 单个5V电源供电 模拟输入电压范围05V,不需零点和满刻度校准 工作温度范围为-4085摄氏度 低功耗,约15mW (2)引脚特性IN0-IN7:8条模拟量输入通道 ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A、B、C三条地址线的地址信号进行锁存,经译码后被选中的通.的模拟量进转换器进行转换。A、B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。数字量输出及控制线:11条。ADC通道选择表如表3-1所示。表3-1 ADC0809通择表CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7-D0为数字量输出线。 CLK为时钟输入信号线。ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ。3.5.2 A/D转换电路图如图3-6所示,ADC0809把从放大电路传送过来的模拟信号转变成数字信号,并行传送给单片机的P0口,让单片机处理。图3-6 A/D转换电路图3.6温度设制、显示及报警电路模块该模块通过按键可事先设置报警温度值,当显示的温度值超过设定的温度值时,单片机会从INT0脚发出一连串脉冲,驱动蜂鸣器发出报警声。数据用3位LED显示3.6.1 LED显示器简介在显示系统中,使用的显示器件主要有LED发光二极管,LCD液晶显示器,近年来也有使用简易形式的CRT接口,其中LED显示器最为常见,具有成本低廉、配置灵活、与单片机的接口简单方便、易于编程等特点,在低端领域使用广泛, LCD液晶显示器多用于高端场合。在本系统设计中,采用LED显示器。LED显示器是由发光二极管显示字段促成的器件,在单片机应用系统中通常使用的是七段LED,这种显示器分共阴极和共阳极两种。其结构图如下图3-7所示。 a)共阴极 (b)共阳极 (c)结构图图3-7 3位LED结构图共阴极LED数码管的发光二极管的阴极接地,当发光二极管的阳极为高电平时,发光二极管点亮;共阳极LED数码管的发光二极管的阳极接+5V电源。N位的LED显示器有N根位选线和8N根段选线,位选线控制显示位的亮和暗,段选线控制字符的选择。LED显示器有两种显示方式静态显示方式和动态显示方式。在静态工作方式下,共阴极接地或者共阳极接5V,每一位的段选线(ag,dp)与一个8位的并行I/O口相连。在动态工作方式中,要将所有位的段选线并接在一个I/O口上,共阴极或共阳极分别由相应的I/O口线控制。由于每一位的段选线都接在一个I/O口上,所以每送一个段选码,各位显示器都显示同一个字符,这样的显示器是不能用的,解决方法是利用人的视觉滞留,从段选线I/O口上按位次分别送显示字符的段选码,在位选控制口也按相应的次序分别选通相应的显示位(共阴极送低电平,共阳极送高电平),选通位就显示相应字符,并保持几毫秒的延时,未选通位不显示字符(熄灭),这样对各位的显示就是一个循环的过程。由于人的视觉滞留,这种动态变化是观察不到的,从效果看,各位显示器能连续而稳定的显示不同字符。在实际使用中,多使用动态显示16方式。3.6.2 电路图如图3-8所示。图3-8 温度设制、显示及报警电路图3.7 语音播放模块语音播放模块采用采用ISD2560语音录放集成电路,其功能是进行语音提示。3.7.1 ISD2650概述 (1) ISD2560是DIP器件封装,有28脚,如图3-9所示。图3-9 ISD2560管脚图 各引脚功能如下: 脚1脚7: A0/M0A6/M6地址/模式选择; 脚8脚10: A7A9输入地址线 ; 脚11: AUX IN辅助输入; 脚12、脚13: VSSD、VSSA数字地和模拟地; 脚14、脚15: SP 、SP-扬声器输出; 脚16: VCCA模拟信号电源正极; 脚17、脚18: M IC、MIC REF 麦克风输入端和输入参考端 ; 脚19: AGC自动增益控制; 脚20、脚21: ANA IN、ANA OUT 模拟信号输入和输出; 脚22: OUF 溢出; 脚23: CE 片选(低电平允许芯片工作); 脚24: PD 芯片低功耗状态控制; 脚25: EOM 录放音结束信号输出; 脚26: XCLK 外部时钟; 脚27: P/R 录/放控制选择; 脚28: VCCD 数字信号电源正极;(2)工作原理:ISD2560内部存储单元EEPROM均匀分为600行,有600个地址单元,每个地址单元指向其中一行,每一个地址单元分辨率为100ms 。ISD2560有10个地址输入端A0A9,录址能力达1024位,地址空间为01023。其分配情况是:地址0299作为分段用,地址600767未使用,地址7681023为工作模式选择(即A8、A9都为高)。当最高位地址A8、A9都为高电平时(地址7681023),地址端A0A6就作为工作模式选择端M0M6,对应7种工作模式。当A8、A9不都为高时(地址0599),只需在分段录、放音操作前(不少于300ns)给地址A0A9赋值,操作就从该地址开始。17 ISD2560将EEPROM分为600个信息段,每段800个字节。作为一个整体单位进行寻址和控制,应给每个信息段分配一个供外部控制的地址。每个语音段的尾部自动增加一个结束标志EOM,组合放音时,通过检测EOM来控制各语音段的结束和下一段的开始。 每个信息段录放音时间等于总时间除以600。例如ISD2560总时间为60s,每个信息段的录放音时间为100ms。故可利用该时间长度作为一个段地址,通过单片机定时器的计时平行地映射信息段的地址,得到每段录音的起始地址。这样,就需设置一个地址计数器。一般录音从0地址开始,首先通过CPU将它赋给A0A9,然后通过单片机控制ISD启动录音,同时启动单片机的定时器开始计时,每到一个信息段的时间,就给地址计数加1。当单片机停止控制ISD录音时,同时停止定时器计时。此时地址计数器的值即为该段语音的未地址,加1即为下一段语音首地址,并将它存在EEPROM中,为下一将放音提供地址信息。通过CPU将该地址赋给A0A9,即可录制下一段语音。依次下去,即可在录制完所有语音段的同时得到各段的起始地址。若不是从0地址开始的语音段,需将初始地址赋给A0A9,加上地址计数器的值,可得到语音段的末地址。3.7.2 电路原理图语音播放模块如图3-10所示,主要由单片机AT89S52与语音芯片ISD2560组成。图3-10 录音、放音电路图4 系统软件设计4.1系统程序流程图图4-1为主机程序流程图,主要功能是显示温度、按键扫描、BCD码转换、串行发送数据给从机。定时器定时1ms,每定时100次即1秒钟就启动A/D转换程序、BCD码转换程序,串行发送二进制数给从机。图4-2为从机程序流程图,负责接收数据并且播报相应的温度值,T0定时器定时,结合延时程序定时1分钟,使每1分钟更新一次语音音素地址,即每1分钟更新一次温度值 ,并在中断程序处理过程度中播报一次温度。开始显示温度启动A/D转换按键扫描初始化BCD码转换串行发送1秒钟到否NY开始初始化二进制转十进制BCD码1分钟到否播报一次温度串口中断入口返回更新温度数据YN图4-1 主机程序流程图 图4-2 从机程序流程图4.2子程序流程图T0中端人口计数变量清零Y播报一次温度N返回1分钟到否 图4-3 从机的T0中断程序流程图5 系统测试5.1硬件测试 5.1.1 单元模块测试 (1)电源测试:用数字万用表电压档测量各三端稳压管输出的电压值是否正常。测试相关测试点,三路电压正常。 (2) 温度采集模块的测试:调节温度变化,测试点的电压值是否有相对应的改变。当温度变化时,测试点的电压与温度之间的线性关系比较好,如表所示。 (3)A/D 转换模块的测试:当输入为0V 和5V 以及中间若干电压输入时,测试A/D转换是否正常。测试发现当输入为0V 时,ADC0809 的输出为00H,为+5V 时为0FFH,当输入为2.5V 时,输出为0EFH,测试结果表明A/D 转换的功能完全实现。 (4)语音播放模快的测试:通过拨码开关人工给语音芯片选地址,测试不同的地址是否有不同的发音,以检验语音是否正确录入及能否正常播放。根据设定,将12个语音信号分别放到指定的行地址上,当按相应的行地址拨开关给ISD2560 时,能够正常播放设定的12个语音,说明语音芯片的录用存贮工作成功。接入系统,编程输出相应的行地址,ISD2560能够正常播放各个语音,说明语音播放模快的硬件设计可行。 5.1.2 系统整体测试测试方法以水温代替人的体温,用一根水银温度计与所制作的体温计探头(捆绑)同时接触被测热水的同一点。(1)准备一杯0摄氏度的冰水混合物和一杯热水。从0度开始记录测试点的电压值与温度计对比较。记完一个数后,往杯中加热水,这样,每测一次,记录一次数据,再加一次热水,这样使水温渐渐升高,一直测到水温为50摄氏度。 (2)检测水温高于50 摄氏度时测试点的电压值。看是否为5V。结果显示为+5V,说明保护电路可行。5.2 软件测试将各功能子程序进行KAIL C系统进行软件仿真,全部通过,再进行硬件仿真,也能全部实现所要求实现的功能。 (1)数码管显示的测试:把放大器的输出连接到ADC0809的输入端,ADC0809 与单片机相连接,观察数码管显示的数值是否与测试点所测值成归一化关系。 (2)双机串行通信测试:主机发送一个8位二进制数,用示波器观察从机是否接收到。5.3 硬件与软件的联机测试 将把程序经编译、下载到相应的AT89S51 芯片中,构建电路测试,比较数码管显示的数值与温度计的值和测试点的值。5.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 结果分析根据上述测试结果,此系统的设计基本取得成功。智能体温计的测量范围在,在测试温度方面有一定的成效,测试误差较小,通过表5-1的数据比较,显示的误差与实际的温度值误差在内。数码管显示的数值是否与测试点所测值成归一化关系。6 结论 本次设计采用AT89S52作为核心器件实现对系统的自动控制,采用双单片机串行处理结构。AD590集成温度传感器采集外界温度,并将温度变化转换为线性电压信号。线性电压经由OP07构成高精度低温漂的放大电路处理后,作为ADC0809的模拟输入信号,由ADC0809完成AD转换,得到8位的数字信号送入主机(AT89S52)。主机将采集到温度值在LED数码管上显示出来,并通过串口通信将温度信号传到单从机(AT89S52)。此外,主机完成温度预制和报警电路模块功能,主机完成温度值的语音播放功能。比起水银体温计,电子体温计利用电子感温,灵敏度高,适合无法长时间安静的儿童,且能在较短的时间内准确测试出体温,温度播报时间可快至1min。它的测量精度可达0.1,LED直接显示体温数值。参考文献1 无铭基于89S52单片机的电子体温计J电子制作,2008,(1)2 沙占友智能温度传感器的发展趋势J电子技术应用,2005,(5):6-73 庄春生,杨杰,刘宏伟新型智能电子体温计的研究J河南科学,2004,22(6)4 王港元电工电子实践指导M南昌:江西科学技术出版社,20055 支长义,程志平,焦留成语音智能电子体温计设计J微计算机信息,2007,23(1)6 金伟正单线数字温度传感器的原理及应用J.电子技术应用,2000,(6)7 柴卫华,何文昌,孙庆安新型数字温度传感器DS18B20组成的温度巡检系统J传感器世界,2001,(1):458 李朝青单片机原理及接口技术(第1版)M北京:北京航空航于大学出版社,1999,(3)9 胡汉才单片机原理及系统设计M北京:清华大学出版社,2001第一版10 孙育才单片微型计算机及其应用M上海:东南大学出版社,200411 全国大学生电子设计竞赛组委会第五届全国大学生电子设计竞获奖作品选编M北京:北京理工大学出版社,2003,(1)12 汪涵才集成温度传感器AD590构成多温度测试系统J电子技术应用,1998,(6),7-1313 马净,李晓光,宁伟几种常用温度传感器的原理及发展J中国仪器仪表,2004,(6):1-214 W.Wjciak,NAPIERALSKI AAn analogue temperature sensor integrated in the CMOStechnology.In:Proc.THERMINIC95 WorkshopR,France:Grenoble,1995:15-20,25-2615 V.Szkely,RENCA M.CMOS temperature sensors and built-in test circuitry for thermal testing of ICs.Sensors and Actuators AJ,1998,71:10-1816 谢自美电子线路设计实验测试M.武汉:华中科技大学出版社,200017 P.Miribel-Catal,E.Montan.MOSFET-based temperature sensor for standard BCD smart power technology.Microelectronics JournalJ,2001,32:869-873Electronic thermometers designZhao Zhixiang(Department of Physics , Dezhou University , Dezhou,)Abstract As the era of progress and development, microcontroller technology has spread to our life, work, scientific research, etc, has become a more mature technology, this paper introduces a kind of based on single chip microcomputer control, the electronic thermometers AT89S52 as the core device implements to the system automatic control, adopt double microcontroller serial processing structure. AD590 temperature sensors to collect outside temperature integrated, and temperature change converted to linear voltages. OP07 constitutes high precision linear voltage temperature drift through the amplifier circuit, as ADC0809 after treatment by the analog input signal, ADC0809 finish A/D conversion, get eight digital signals into AT89S52 SCM (1). SCM 1 temperature collected in LED digital display, and tube through serial communication will temperature signals to single Keywords Microcontroller; AD590; ADC0809; ISD2560 致 谢在论文完成之即,我要感谢我的导师张秀梅老师在论文题目的选定、研究方案的制定以及后期论文的修改工作中给出了许多宝贵的建议,并且给予了我极大的关心和帮助。没有张老师的帮助也就没有今天的论文。所以我要衷心的感谢张老师对我的帮助。四年时间很快就要过去了,在学校里我不仅学到了专业知识,还学会了很多做人的技巧,再一次衷心的谢谢我的老师,谢谢你们给我的帮助。谢我的班主任魏勇老师,谢谢他在这四年中为我们全班所做的一切,他不求回报,无私奉献的精神很让我感动,再次向他表示由衷的感谢。同时还要谢谢同学们,在我论文设计过程中给予的帮助,使我能够顺利的完成论文设计最后,感谢我的母校德州学院四年来对我的大力栽培。我还要感谢含辛茹苦抚养我长大的父母,谢谢您们!附录1 系统总电路图附录2 电子体温计程序#include #include #include #define uchar unsigned char#define uint unsigned intuchar code dis_code10=0xc0,0xf9,0xa4,0xb0,/ 0, 1, 2, 30x99,0x92,0x82,0xf8,0x80,0x90; / 4, 5, 6, 7, 8, 9, off uchar data set_data3=0x00,0x07,0x03; /预设37.0度uchar data ad_data; /AD转换结果uchar data dis_buf3=0x00,0x00,0x00; / 显示缓冲区uchar data bcd_buf3=0x00,0x00,0x00; /十进制BCD码转换存放区uchar data TIMER0_NUM;bit TIMER0_flag;bit data set_flag=0;sbit ALE=P24;sbit OE=P25;sbit START=P26;sbit EOC=P27;sbit P30=P30;sbit select0=P37;sbit select1=P36;sbit select2=P35;sbit K1=P20;sbit K2=P21;sbit K3=P22;sbit K4=P23;sbit bep=P33;sbit SET_IND=P34;sbit P17=P17; /小数点uint data temp;/*/*函数声明/*/void delay1ms(uchar t); void adc(void);void BCD(void);void keyscan(void);void send_str(void);void beep(void);void display(void);/*/*按键蜂鸣函数/*/void beep2(void) uchar data j,k; for(j=26;j0;j-) for(k=254;k0;k-); bep=!bep; bep=1; /*/*蜂鸣报警/*/void beep(void) uchar data j,k; for(j=100;j0;j-) for(k=254;k0;k-) bep=0; bep=1; /关蜂鸣器 /*/*延时1ms函数/*/void delay1ms(uchar t) uchar j,k; for(j=0;jt;j+) for(k=0;kset_data2) /报警值检测 beep(); else if(bcd_buf2=set_data2) if(bcd_buf1set_data1) beep(); else if(bcd_buf1=set_data1) if(bcd_buf0set_data0) beep(); /*/*键盘扫描函数/*/void keyscan(void) uchar data m; if(K1=0) /K1设置键 for(m=0;m100;m+) /延时11msdisplay(); if(K1=0) beep2(); /按键时响一声 set_flag=!set_flag; /设置标志位取反 if(set_flag=1) /若设置键按下,则检测K2-K4 SET_IND=0; /设置灯亮 if(K2=0) /K2:十位加1 for(m=0;m100;m+) /延时11ms display(); if(K2=0) beep2(); /按键时响一声 set_data2+; if(set_data2=5) set_data2=0; if(K3=0) /K3:个位加1 for(m=0;m100;m+) /延时11ms display(); if(K3=0) beep2(); /按键时响一声 set_data1+; if(set_data1=10) set_data1=0; if(K4=0) /K4:小数位加1 for(m=0;m100;m+) /延时11ms display(); if(K4=0) beep2(); /按键时响一声 set_data0+; if(set_data0=10) set_data0=0; else SET_IND=1;/*/*显示函数/*/void display(void) if(set_flag) /设置键按下,则显示设置的数值 dis_buf0=set_data0; dis_buf1=set_data1; dis_buf2=set_data2; else /否则显示温度值 dis_buf0=bcd_buf0; dis_buf1=bcd_buf1; dis_buf2=bcd_buf2; P1 = 0xff; / 先关闭所有数码管P1 = dis_codedis_buf0; / 小数显示代码传送到P1口select2=1;select1=1;select0=0;/ 位选delay1ms(1); /延时1msP1 = dis_codedis_buf1; / 个位显示代码传送到P1口select2=1;select1=0;select0=1;/ P17=0;delay1ms(1); /延时1msP1 = dis_codedis_buf2; / 十位显示代码传送到P1口select2=0;select1=1;select0=1;/ delay1ms(1); /延时1ms/*/*串口发送一个字符函数/*/void send_str(void)SBUF = ad_data; /串口发送AD转换温度值while(TI=0); / 等待数据传送TI = 0; / 清除数据传送标志/*/*主函数/*/void main(void) TMOD = 0x21; / 定时器1工作于方式2,8位自动重载模式, 用于产生波特率 / 定时器0工作于方式1,产生1s的AD间隔时间 TH0=15536/256; /T0定时50ms TL0=15536%256; TH1 = 0xe1; / 波特率1000TL1 = 0xe1;SCON = 0x50; / 设定串行口工作方式1PCON = 0x00; / 波特率不倍增TI=0; /清除发送中断标志EA = 1; / 开总中断ET0 = 1; /开T0中断ET1=0;TR1 = 1; / 启动T1 TR0 = 1; /启动T0 while(1) display(); keyscan(); if(TIMER0_flag) TIMER0_flag=0;adc();BCD(); send_str(); /*/*T0中断服务程序/*每秒钟ADC一次,串口发送一次/*/void timer0(void) interrupt 1 TH0=15536/256
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!