智能电子体温计论文_第1页
智能电子体温计论文_第2页
智能电子体温计论文_第3页
智能电子体温计论文_第4页
智能电子体温计论文_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 智能体温计 ( C题) 摘要 : 本智能体温计采用 AT89S52 作为核心器件实现对 系统的 自动控制 ,采用双单片机串行处理结构。外界温度经 AD590 集成温度传感器 采集, 温度变化转换为线性电压信号, 再经 由 OP07 构成高精度低 温 漂的 放大电路 处理后,作为 ADC0809 的模拟输入信号,由ADC0809 完成 A D 转换 ,得到 8 位的数字信号送入单片机 1( AT89S52)。 单片机 1 将采集到 温度值在 LED 数码管上显示出来, 也通过串口通信将温度信号传到单片 2( AT89S52)。此外温度预制,报警电路模块 功能也由单片机 1 完成 。单片机 2 完成温 度值的 语音播放 功能 。通过系统的设计与实现说明本设计方案切实可以,能够完成题目所要求的基本功能部分,并留有相应的接口,为完成扩展功能打下基础。 关键字:单片机 AD590 ADC0809 ISD2560 一、 主要模块的 方案论证与比较 1、 温度传感器的选择 方案一 : 采用 热敏电阻 。 热敏电阻 价格便宜, 对温度灵敏, 原理简单, 但线性度不好,如不进行线性补偿, 对于本设计归一化输出的要求, 难于达到 设计精度 ;如要对非线性进行补偿 , 则电路结构复杂,难于调整。 故不采用。 方案 二 : 采用热电偶。 热电偶 在测温范围 内 热电性质稳定,不随时间变化而变化,电阻温度系数小,导电率高,比热小,但热电偶一般体积较大,使用不方便,价格相对较高。作为一个智能体温计的温度传感器,要求体积小,使用方便,便于携带,故此方案不合适。 方案三 :采用集成温度传感器。集成温度传感器一般且有具有线性好、精度高、灵敏度高、体积小、使用方便等优点。根据实验室现有材料可选取 AD590。 AD590 的测温范围为 -55 +150,能满足本设计的 0 50 度测量要求。根据相关技术资料: AD590 线性电流输出为 1 A/K,正比于绝对温度; AD590 的电源电压范围为 4V 30V,并可承受 44V 正向电压和 20V 反向电压,因而器件反接也不会被损坏。 该方案能完全满足此设计的要求,故采用此方案。 2、 A D 转换器的选择 方案一 :选用 AD574。 AD574 的数字量位数可设成 8 位也可以设为 12 位,且无需外接 CLOCK 时钟,转换时间达到 25 s,输出模拟电压可以是单极性的 0 10V 或 0 20V,也可以是双极性的 5V 或 10V 之间。 AD574 精度高, 但与 8 位的单片机接口较复杂,且价格昂贵,考虑到体温计是对温度的测量,其响应时间的 要求不高。故不选用此方案。 2 方案二 :选用 ICL7135。这类芯片比较适合于低速测量仪器,适用于精度高,速度要求不高的系统设计中。 ICL7135 的输出为动态扫描 BCD 码,与单片机的接口较复杂。且它的满量程输入为 2V 电压,如在本设计中使用要进行衰减,较难保证转换精度。 方案 三 : 选用 ADC0809。 ADC0809 数字量是 8 位,转换时间为 100 s,输入模拟电压为单极性的 0 5V。由于本设计的要求精度不是很高, ADC0809 可以达到要求,故 选用此方案。 3、 语音提示模块 方案一: 通过 A/D 转换器、单片机,存储器, DA 转换器实现声音信号的采样、处理、存储和实现。首先将声音信号放大,通过 AD 转换器采样将 语音 模 拟 信号 转 换成数字信号,并由单片机和处理存放到存储器中,实现录音操作。在录 、 放音过程中由单片机控制 D/A转换器,将存储器中的数据转化成声音信号。此方案安装调试复杂,集成度低。 方案二 : 采用 ISD2560 语音录 放集成电路 。这是一种永久记忆型语音录放电路,录音时间为 60S,可重复录放 10 万次。该芯片采用多电平直 接模拟量存储专利技术,每个采样值可直接存储在片内单个 EEPROM 单元中,因此能够非常真实、自然地再现语 音、音乐、音调和效果声。此 外, ISD2560 还省去了 A/D 和 D/A 转换器。其集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和 480K 字节的 EEPROM。 ISD2560 内部 EEPROM 存储单元均匀分为 600 行,有 600个地址单元,每个地址单元指向其中一行,每一个地址单元的地址分辨率为 100ms 。 ISD2560可不分段,也可按最小段长为单位来任意组合分段。因此,选择方案二。 二、 总 系统 设计 方案 1、总系统方案设计描述: 根据题目要求,将系统 分为若干模块,以单片机为核心,完成多项功能。 图 1 系统框 图 系统框图 如图 1, AD590 把采集的外部温度信号转换成相应的电压,再经过 OP07 运放放大后作为 ADC0809 的模拟输入信号, ADC0809 将此模拟信号转换成数字信号,通过并口送入到单片机 1。单片机 1 把这些信号处理后通过 LED 数码管显示出来。同时单片机 1 3 还处理按键、报警模块。 单片机 1 把温度值通过串行通信传送给单片机 2,控制语音芯片报出相对应的温度值。 2、系统电路 原理图 图 2 系 统电路 原理 图 如图 2 所示,该电路主要由电源电路,温度 检测 、放大电路, A D 转换电路,双单片机串行通信电路, 按键输入、报警电路, 数码管 扫描 显示电路以及语音 芯片 电路组成 。 123456ABCD654321D C B ATitleNumberRevisionSizeBDate:31-May-2007Sheet of File:D:比赛比赛.ddbDrawn By:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U2AT89S52K4CLR1CLK2P13P24P35P46PE7LD9TE10Q411Q312Q213Q114CO15U8 74F161AdpgfedcbadpgfedcbaC150.1UT2 TRANS4C160.1U+5vC170.1UQ7 9012Q69012Q59012+C142200U19+C132200U18AC220V+C122200U1716231VVGNDINOUTU187905132VVGNDINOUTU16781215132VVGNDINOUTU1778051234D2BRIDGE112+12V+5V13-5V141 2 3 4 5 6 7a b c d e f g8dpabfcgdedpabfcgdedpabfcgdedpDS2AMBERCCK3K1 K2+5VS2C7 10UR9 RES2+12v-5v30P30P+12VSVR110K2 3467OP1R2310kR13100K+12VR14100KR1120K+12VR1220K-5V2 3467OP32 3467OP2+12VU9AD590AI026AI127AI228AI31AI42AI53AI64AI75CLK10ADA25ADB24ADC23ALE22START6OE9REF+12REF-162-1212-2202-3192-4182-582-6152-7142-817EOC7U7 ADC0809D0 D1 D2 D3 D4 D5 D6 D7D0D1D2D3D4D5D6D7EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U3AT89S522560A0/M01A1/M12A2/M23A3/M34A4/M45A5/M56A6/M67A78A89A910SP+14P/R27XCLK26EOM25PD24CE23ANA OUT21ANA IN20AGC19 MICREF18MIC17SP-15U15ISD2560LS2 C90.22UC80.22UR1610KR2210KMK2MICC1147UR8 1K+5VR15470KC101UC244.7U+5V+5V30P30P36+5V+5VU5 BUZZER371K*820 21 22 23 24 25 26+5vP00P01P02P03P04P05P06P07P00P01P02P03P04P05P06P07Q4 9014R7 1K+5VV1V2VoD? +5v-5V 4 三、 主要电路设计与参数计算 1、电源电路模块 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 3 0- M a y - 20 0 7 S he e t o f F i l e : D : 比赛 比赛 .d db D r a w n B y:C 2 10 .1 UT1T R A N S 4 C 2 20 .1 UC 2 30 .1 U+ C 2 02 20 0 U+ C 1 92 20 0 UA C 2 20 V+ C 1 82 20 0 U2 31V VGNDIN OUTU 2 5 7 90 51 32V VGNDIN OUTU 2 3 7 81 21 32V VGNDIN OUTU 2 4 7 80 51234D1B R I D G E 1+ 12 V+ 5V- 5 VGND 图 3 电源电路 图 如图 3 所示, 220V 交流电经变压器市降压、桥式整流、电容滤波后由 7812、 7805、7905 三端集成稳压管分别得到 12V、 +5V、 -5V 电压。给整个电路供电。 2、温度检测、放大 模块 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 3 0- M a y - 20 0 7 S he e t o f F i l e : D : 比赛 比赛 .d db D r a w n B y:R61 0kR51 00 KR3 1 00 KR22 0KR42 0KU2A D 5 90+ 12 V23467O P 223467O P 3- 5 V- 5 V+ 12 V+ 12 V23467O P 1S V R 11 0K+ 12 V- 5 v+ 12 vVoV1V2 图 4 AD590 温度检 测 、放大 电路 图 如 图 4 所示,温度检测、放大电路 主要器件 的 作 用: OP1:电压跟随器 ; OP2:电压跟随器 ; OP3:差分放大电路 ; AD590:温度传感器 ; SVR:零位调整 。 ( 1) AD590 简介 AD590 是电流输出型的半导体温度感测组件,主要特性如下 : 1.具有线性输出电流。 2.宽广的操作温度范围 (-55 150 )。 5 3.宽广的工作电压范围 (+4V+30V)。 4.良好的隔离性。 AD590 的包装与等效电路如图 4 所示,是 TO-52 型金属外壳包装。他是两端子的半导体温度感测组件,另有一端子是外壳接脚,可接地以减少噪声干扰。 AD590 如同一个随温度而改变输出电 流的定电流源,输出电流与外壳的 开 氏 (K)温度成正比。 开 氏温度与摄氏温度的单位相等, 0等于 273.2K, 100等于 373.2K。当温度为 0时, AD590 的输出电流是 273.2 A。而温度为 100时,输出电流是 373.2 A。温度每升高 1,输出电流增加 1 A,及温度系数为 1 A/。 图 5 AD590 包装与等效电路图 ( 2) 、 图 2 温度检测、放大电路原理 AD590 当温度增加 1时,其输出电流会增加 1 A。即 AD590 的温度系数为 1 A/。所以在 T( )时的电流 I1(T)为 TCAITI /1011 ,而温度每变化 1时, V2 的电压变化是为 CmVkCA /1010/1 ,表示温度每增加 1, V2 会增加 10mV。在 0时 V2 就已经有电压存在,其值为 VkAV 732.2102.27302 ,则 T( )时 TCmVVTV /10022 , VV 732.202 。 如图 3 所示, OP3 组成差动放大器,电压增益为 52010012 kkRR 。零位调整 SVR1则用于抵补 0的电压值,由差动放大器的公式 1212 VVRRV O 可得知,若调整 SVR1使 V1 的电压为 2.732V,则 0时,差动放大器的输出 VO 为 0V。也就是说,若温度是在 0至 50之间,则差动放大器的输出电压是在 0V 至 5V 之间,亦即每 0.1V 的输出代表温度上升 1 。 与 设计 要求 相符合 。 3、 A/D 转换模块 如图 6: ADC0809 把从放大电路传送过来的模拟信号转变成数字信号,并行传送给单片机的 P0 口,让单片机处理。 6 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 3 0- M a y - 20 0 7 S he e t o f F i l e : D : 比赛 比赛 .d db D r a w n B y:E A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 101P 112P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11R X D10U2A T 89 S 5 2K4K3K1K2A I 026A I 127A I 228A I 31A I 42A I 53A I 64A I 75C L K10ADA25ADB24ADC23A L E22S T A R T6OE9R E F +12R E F -162 - 1212 - 2202 - 3192 - 4182 - 582 - 6152 - 7142 - 817E O C7U7A D C 08 0 9D0D1D2D3D4D5D6D7 D0D1D2D3D4D5D6D7+ 5V 图 6 A/D 转换电路 图 4、温度设制、显示及报警电路模块 如图 7:通过按键可以事先设定报警温度值,当显示的温 度值超过设定的温度值时,单片机就会从 INT0 脚发出一连串脉冲,驱动蜂鸣器发出报警声。 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 3 0- M a y - 20 0 7 S he e t o f F i l e : D : 比赛 比赛 .d db D r a w n B y:E A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 101P 112P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11R X D10U2A T 89 S 5 2K4dpgfedcbadpgfedcba+ 5vQ79 01 2Q69 01 2Q59 01 219181716151213141234567abcdefg8dpabfcgdedpabfcgdedpabfcgdedpD S 2 A M B E R C CK3K1K23 0P3 0P+ 5VU5B U Z Z E RQ49 01 4R71K 图 7 温度设制、显示及报警电路图 5、串行通信模块 如图 8 所示,单片机 1 把温度值发送数据到单片机 2,单片机 2 接收数据并控制语音芯片报出当前的温度值。 7 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 3 0- M a y - 20 0 7 S he e t o f F i l e : D : 比赛 比赛 .d db D r a w n B y:E A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 101P 112P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11R X D10U2A T 89 S 5 2E A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 101P 112P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11R X D10U3A T 89 S 5 2 图 8 串行通信电路图 6、 语音 播放 模块 语音播放模块 如图 9 所示。 主要由单片机 AT89S51 与语音芯片 ISD2560 组成。 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 2 9- M a y - 20 0 7 S he e t o f F i l e : D : 比赛 比赛 .d db D r a w n B y:A 0 / M 01A 1 / M 12A 2 / M 23A 3 / M 34A 4 / M 45A 5 / M 56A 6 / M 67A78A89A910S P +14P / R27X C L K26E O M25PD24CE23A N A O U T21A N A I N20AGC19 M I C R E F18M I C17S P -15U1I S D 2 56 0L S 1C20 .2 2 UC10 .2 2 UR5 1 0KR21 0KM K 1M I CC34 7UR11K+ 5VR6 4 70 KC51UC44 .7 UE A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 101P 112P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11R X D10U9A T 89 S 5 2+ 5V1 K *8+ 5V 图 9 录音、放音 电路 图 ( 1) 录音、放音简介 如图 9 所示,首先通过麦克风向语音芯片 ISD2560 录入“ 0,1,2,3,4,5,6,7,8,9,10,点,度”等音符。当单片机 2 接收到单片机串行发 送过来的温度值时,就会自动地去寻找相对应音符的地址,并把这些音符通过扬声器 播放出来。 ( 2) ISD2560 简介 ISD2560 为 28 脚 的 DIP 器件封装, 如图 10. 8 图 10 ISD2560 管脚图 各引脚功能如下: 1 7: A0/M0 A6/M6 地址 /模式选择 ; 8 10: A7 A9 输入地址线 ; 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 数字信号电源正极 ( 3) 芯片 工作原理 ISD2560 有 10 个地址输入端 A0 A9,录址能力可达 1024 位,地址空间为 0 1023。其分配情况是:地址 0 299 作为分段用,地址 600 767 未使用,地址 768 1023 为工作模式选择(即 A8、 A9 均为高)。 2500 系列的地址线有两种用途,一是作为工作模式控制,二是作为分段录放音的起始段地址。当最高位地址( MSB) A8、 A9 都为高电平时(即地址 9 768 1023),地址端 A0 A6 就作为工作模式选择端 M0 M6,对应 7 种工作模式。当 A8、A9 任一位为低或都为低时(即地址 0 599),只要在分段录 /放音操作前(不少于 300ns)给地址 A0 A9 赋值,操作就从 该地址开始。 ISD2560 将 480K 的 EEPROM 分为 600 个信息段,每段 800 个字节。作为一个整体单位进行寻址和控制,应给每个信息段分配一个供外部控制的地址,而不是对每个字节进行寻址,否则至少需要 19 个地址端口。这样,大大减少了信息检索所需要的地址线。对较长的语音信号可以跨越多个信息段进行录音,不受内部存储信息段的限制,且内部的信息段址会自动增加。在每个语音段的尾部自动增加一个结束标志 EOM,组合放音时,通过检测 EOM来控制各语音段的结束和下一段的开始。 每个信息段的录放音时间等于总时间除 以 600。如 ISD2560 的总时间为 60s,则每个信息段的录放音时间为 100ms; ISD25120 的总时间为 120s,则每个信息段的时间为 200ms。因此可以利用该时间长度作为一个段地址,通过单片机定时器的计时平行地映射信息段的地址,从而得到每段录音的起始地址。这样,就需要设置一个地址计数器。一般录音从 0 地址开始,首先通过 CPU 将它赋给 A0 A9,然后通过单片机控制 ISD 启动录音,同时启动单片机的定时器开始计时,每到一个信息段的时间,就给地址计数加 1。当单片机停止控制 ISD录音时,同时停止定时器计时。此时地 址计数器的值即为该段语音的未地址,加 1 即为下一段语音的首地址,并将它存在 EEPROM 中,为下一将放音提供的地址信息。通过 CPU 将该地址赋给 A0 A9,即可录制下一段语音。依次下去,即可在录制完所有语音段的同时得到各段的起始地址。如果不是从 0 地址开始的语音段,只需将初始地址赋给 A0 A9,加上地址计数器的值,即可得到语音段的末地址。这里不用同时保存各语音段的起始地址和结束地址,因为各个段是相邻的,前一段的末地址加 1 即是本段的起始地址,且每个语音段的结尾均有 EOM 标志,并可发出中断。放音时利用它和保存在 EEPROM 中各语音段的起始地址即可按任意顺序组合各个语音段。 ( 4) 硬件电路设计 ISD 器件选用录音时间为 60s 的 ISD2560 器件,以单片机为处理机,外接控制每个语音段录音开始与停止按键,外部存储器 EEPROM 用于保存每个语音首地址。 ISD 的外围电路及其与单片机连接的硬件电路如图 9 所示。 ISD2560 与 AT89S52 的接口部分包含输入地址线 A0 A9、片选 CE( CE=0 选中 ISD芯片)、芯片低功耗状态控制 PD、录放音控制选择 P/R( P/R=0 为录音; P/R=1 为放音)、录放音结束信号输出 EOM,将它作为 AT89S51 外部中断 0 的输入信号,放音时通过它告知本语音段结束,便于单片机立即播放另一个语音段 。 ( 5) 本方法的特点 能进行在系统现场录音,随录随放,修改语音方便。 10 修改录音内容时,可以从其中任意一段开始,修改其后的所有录音内容,不必从第一段开始全部修改。这对一些需要厂家固定一些语音段的系统很有好处,将固定的语音段放置在前面的段落中,允许用户录制的放在后面,用户修改录音内容时只需修改后面的语音段即可,不影响厂家录制的语音。 分段灵活。单片 ISD2560 可分 1 600 个段,若多片级联还可更多;各个录音段的 长度任意,只要总录音时间在所用器件的总时间之内即可。 四、 系统软件设计 1、 系统程序 流程图 图 11 单片机 1 程序 主 流程图 图 12 单片机 2 程序 主 流程图 如图 11: 单片机 1 为主机,负责温度显示、按键扫描、 BCD 码转换、串行发送数据给单片机 2。 以定时器定时 1ms,每定时 100 次 即 1 秒钟 就启动 A/D 转换、 BCD 码转换,串行发送 2 进制数给单片机 2。 如图 12、 13 所示: 单片机 2 为从机,只负责接收数据 并播报温度 , 以 T0 定时器定时 ,结合延时程序定时 1分钟,使 每 1分钟更新一次语音音素地址,即每 1分钟 更新 一次温度值 ,并在中断 程序 处理过程度中报一次温度。 11 图 13 单片机 2 的 T0 中断程序流程图 五 、 系统 测 试 1、硬件测试 ( 1) 单元模 块 的测试 ( A) 电源测试:用数字万用表电压档测量各三端稳压管输出的电压值是否正常。 测试相关测试点,三路电压正常。电源设计成功。 ( B) 温度采集模 块 的测试 : 调节温度变化,测试点的电压值是否有相对应的改变。 当温度变化时,测试点的电压与温度之间的线性关系比较好,如表 1 所示,达到设计要求。 ( C) A D 转换模 块 的测试 :当输 入为 0V 和 5V 以及中间若干电压输入时 ,测试 A/D转换是否正常。 测试发现当输入为 0V 时, ADC0809 的输出为 00H,为 +5V 时为 0FFH,当输入为 2.5V 时,输出为 0EFH,测试结果表明 A D 转换的功能完全实现。 ( D)语音播放模快的测试 :通过拨码开关人工给语音芯片选地址,测试不同的地址是否有不同的发音,以检验语音是否正 确 录入 及能否正常播放 。 根据设定,将 12 个语音信号分别放到指定的行地址上,当按相应的行地址拨开关给 ISD2560 时,能够正常播放设定的12 个语音,说明语音芯片的录用存贮工作成功。接入系统,编程 输出相应的 行地址, ISD2560能够正常播放各个语音,说明语音播放模快的硬件设计可行。 ( 2) 系统整体 测试 测 试方法 以水温代替人的体温,用一根水银温度计与所制作的体温计探头(捆绑)同时接触被测热水的同一点。 ( A)准备一杯 0 摄氏度的冰水混合物和一杯热水。从 0 度开始记录测试点的电压值与 12 温度计对比较。记完一个数后,往杯中加热水, 这样,每测一次,记录一次数据,再加一次热水,这样使水温渐渐升高, 一直测到水温为 50 摄氏度。 测试结果如表 1 所示,说明 数码管显示的数值是否与测试点所测值 在误差允许范围内是成 归一化关系 的。 ( B)检测水温高于 50 摄氏度时测试点的电压值。看是否为 5V。 结果显示为 +5V,说明保护电路可行。 2、软件 测试 将各功能子程序进行 KAIL C 系统进行软件仿真,全部通过,再进行硬件仿真,也能全部实现所要求实现的功能。 ( 1) 数码管显示的测试: 把放大器的输出连接到 ADC0809 的输入端, ADC0809 与单片机相连接,观察数码管显示的数值是否 与 测试点所测 值成归一化关系 。 ( 2) 双机串行通信的测试: 从主机发送一个 8 位的二进制数,用示波器观察从机是否接收到。 3、 硬件与软件的联机测 试 根据前面的测试,说明 系统设计的软、硬件设计基本取得成功。将 把程序 经编译、 下载到 相应的 AT89S51 芯片中, 构建电路测试, 比较 数码管 显示的数值 与温度计 的值 和 测试 点的值。 整体测试结果如表 1 所示。 六 、测试数据及实验结果 1 测试数据 按照前述的测试方法,取得到测试结果如表 1 所示。 如表 1 数码显示与测试点电压随温度变化的关系 温度值(摄氏度) 数码管显示值 测试点电压值 ( V) 0 00.0 0.0 10.0 10.0 1.001 19.0 19.0 1.902 38.2 38.2 3.821 48.0 48.0 4.802 60.5 50.0 5.001 2 测试 结果分析 13 根据上述测试结果,此系统的设计基本取得成功。智能体温计在测试温度方面有一定的成效,测试误差较小, 显示的误差与实际的温度值误差在 0.1 C内, 在功能上达到了赛题的要求。 3 心得与体会 通过本次设计,深深感到理论与实践之间的差距。在学习单片课程时,很多知识点在理论完全理解了,但到具体的电路设计与实现中,会出现很多一时无法理解的现象,要通过不断的通过强化自身的实践动手能力的培养, 才能用理论来指导实践,通过实践来进一步深入理解理论。 七 结束语 本设计完成了以下功能: ( 1)温度信号的采集与归一化处理; ( 2) A D 转换; ( 3)温度值的显示, 显示的误差与实际的温度值误差在 0.1 C内; ( 4)语音播报温度与声音报警功能。 参考文献 1 全国大学生电子设计竞赛组委会 .第五届全国大学生电子设计竞获奖作品选编 .北京:北京理工大学出版社, 2003 年第 1 版 . 2 王港元 .电工电子实践指导 .南昌:江西科学技术出版社 .2005.03 第一版 3 谢自美 .电子线路设计实验测试 .武汉:华中科技大学出版社 .2000.5 第二版 . 4 胡汉才 .单片机原理及系统设计 . 北京:清华大学出版社。 2001.01 第一版 . 5 由集成温度传感器 AD590 构成的多温度测试系统 .北京:电子技术应用 .1998年第 6 期 . 14 附录: /* Project Name : 智能体温计 程序 _主机 Designed By : sc.Dai Date : 2007.5.30 */ #include #include #include #define uchar unsigned char #define uint unsigned int uchar code dis_code10=0xc0,0xf9,0xa4,0xb0, / 0, 1, 2, 3 0x99,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); 15 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+) /延时 11ms 17 display(); 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; /*/ 18 /*显示函数 /*/ 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); /延时 1ms P1 = dis_codedis_buf1; / 个位显示代码传送到 P1 口 select2=1; select1=0;select0=1; / P17=0; delay1ms(1); /延时 1ms P1 = 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 间隔 19 时间 TH0=15536/256; /T0 定时 50ms TL0=15536%256; TH1 = 0xe1; / 波特率 1000 TL1 = 0xe1; SCON = 0x50; / 设定串行口工作方式 1 PCON = 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 t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论