首页 电子体温计

电子体温计

举报
开通vip

电子体温计电子体温计 实用电子体温计设计 学生: 指导教师: 杨新 内容摘要:在现代化的上业生产中,温度是常用的测量和被控参数,是生产过程和科学实验中最普遍且重要的物理参数之一。在生产过程中温度控制占有相当大的比例。温度控制的基础是温度测量,传统温度测量的方法比较复杂,我们用一种相对比较简单的方式来测量。 此次设计采用温度传感DS18B20作为检测元件,温度范围为-55?-125?,最高分辨率可达0.0625。DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特...

电子体温计
电子体温计 实用电子体温计 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 学生: 指导教师: 杨新 内容摘要:在现代化的上业生产中,温度是常用的测量和被控参数,是生产过程和科学实验中最普遍且重要的物理参数之一。在生产过程中温度控制占有相当大的比例。温度控制的基础是温度测量,传统温度测量的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 比较复杂,我们用一种相对比较简单的方式来测量。 此次设计采用温度传感DS18B20作为检测元件,温度范围为-55?-125?,最高分辨率可达0.0625。DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。 本文介绍一种基于AT89S51单片机的一种温度测量,该电路采用DS18B20作为温度检测元件,测量范围0?-99?,使用LCD1602来实现温度显示。正文着重给出了软硬件系统的各部分电路,介绍了DS18B20温度传感器的原理,AT89S51单片机的功能和应用,该电路功能强大,结构简单。 关键词:温度测量 DS18B20 AT89S51 LCD1602 Design of Practical Electronic Thermometer Abstract: In modern industrial production, the temperature is measured and charged with common parameters, temperature is the production process and scientific experiments in general and one of the important physical parameters. Temperature-controlled have a large proportion in the production process. Temperature measurement is the basis of temperature-controlled, traditional temperature-controlled methods are relatively complex, we use a relatively simple way to measure. The design use temperature sensor DS18B20 as the detection element, a temperature range of -55?-125?,up to a maximum resolution of 0.0625.DS18B20 can be directly read out the temperature on the north side, and three-wire system with singe-chip connected to a decrease of the external hardware circuit, with low-cost and easy use. The introduction of a cost-based AT89S51 MCU a temperature measurement circuits, the circuits used DS18B20 high-precision temperature sensor. Measuring scope 0?-99?, can set the warning limitation, the use LCD1602 realize temperature display. The paper focuses on providing a software and hardware system components circuit, introduced the theory of DS18B20, the functions and applications of AT89S51, this circuit design innovative, powerful, can be expansionary strong. Keywords: Temperature measurement DS18B20 AT89S51 LCD1602 . 目 录 第一章 设计目的、要求及内容 ................................................................................................................... 5 1.1 设计目的............................................................................................................................................. 5 1.3 研究内容............................................................................................................................................. 5 第二章 温度计设计 ...................................................................................................................................... 6 2.1 设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ............................................................................................................................................. 6 2.2 总体框图............................................................................................................................................. 6 2.3 主要元件............................................................................................................................................. 7 2.3.1 AT89S51单片机 ........................................................................................................................... 7 2.3.2 LCD1602显示 ..............................................................................................................................10 2.3.3 DS18B20温度传感器 ................................................................................................................... 11 第三章 硬件电路 ...........................................................................................................................................12 3.1 AT89S51单片机电路..........................................................................................................................12 3.2 LCD1602显示电路 .............................................................................................................................13 3.3 DS18B20温度传感器电路 ...................................................................................................................14 3.4 信号灯报警电路 ................................................................................................................................14 3.5 整体电路............................................................................................................................................15 3.6 整体原理图 .........................................................................................................................................15 第四章 流程图 .............................................................................................................................................16 4.1 主程序 ................................................................................................................................................16 4.2 温度转换流程图 ................................................................................................................................16 4.3 温度计算流程图 ................................................................................................................................17 总结 ................................................................................................................................................................18 附录 ................................................................................................................................................................18 前言 目前,在测控领域中单片机已经被广泛应用,它不只是测控电信,还可以用于温度、湿度等非电信号的测量,独立工作的单片机温度测控系统已经被很多领域广泛应用。温度是日常生活、医学、工业、环境保护、石油、化工等领域常用到的一个物理量。测量温度的基本方法是使用温度计直接读取温度。最常见到的用于测量温度工具是各种各样的温度计,例如:酒精温度计,水银玻璃温度计,热电阻或热电偶温度计等。它们常常以刻度的形式 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示温度的高低,人们必须通过读取刻度值来测量温度。随着新技术的开发与应用,近年来单片机发展非常迅速,以微机应用为主的新技术革命浪潮正在蓬勃发展,传统的温度采集方法既费时费力,且精度不高,单片机的出现使得温度的采集和数据的处理能够得到很好地解决。传统的控制方式已不能满足现在高精度,高速度的要求。近几年来快速发展了很多的先进温度控制方式,这些控制技术提高了控制精度,使控制变得简单、便捷,而且提高了产品质量,降低了生产成本,生产效率有了显著提高。此次设计使用了单片机作为控制核心,不仅通用性好,功能强大,而且还有体积小,功耗低,可靠性强,使用方便等优点。 第一章 设计目的、要求及内容 1.1 设计目的 1.巩固、加深对单片机的理解及应用,提供运用所学知识解决问题的能力。 2.培养针对课题,选择和查阅文献资料的自学能力,提高编程、调试、组成系统的动手能力。 3.通过对课题设计的分析、选择、熟悉单片机软硬件设计的方法、内容、步骤 。 1.2 设计要求 此设计的研究重点是设计基于单片机的实用电子体温计,利用DS18B20温度传感器读取被测温度值。 主要工作如下: 1. 利用DS18B20温度传感器来测量人体温度 2. 温度测试范围为0?-99? 3. 精度误差为0.1? 4. LCD1602显示 5. 具备复位功能 6. 具备上下限温度红灯显示报警 1.3 研究内容 一般温度计采用温度传感器将温度变化转换成电信号变化,再经过A/D转换电路送给处理单元,然后通过显示单元显示出来。 利用单片机和数字温度传感器,实现一个能精确测量并显示温度的实际应用系统,为低成本的数字温度测量系统设计提出一种新的解决方案。并需说明设计方案的构思依据、设计思路、系统原理、设计过程及系统工作流程图。 本文用AT89S51单片机,采用DS18B20作为温度传感器,则不需要进行A/D转换, 可以直接进行温度的采集显示。 第二章 温度计设计 2.1 设计方案 采用数子温度芯片DS18B20测量温度,输出信号全数子化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0-100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数子温度计DS18B20和微控制器AT89S51构成的温度测量装置,它直接输出温度的数子信号,可直接与计算机连接在一起。这样,测温系统的结构就比较简单,体积也不大。采用51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC机通信上传数据,另外AT89S51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。 2.2 总体框图 温度计电路设计总体设计方框图如5-1所示,控制器采用单片机AT89C2051,温度传感器采用DS18B20, LCDL602实现温度显示。 LCD 按键输入 显 示 DS18B20AT89S51 时钟复位 信号灯 传 感器 图 2-2-1 总体框图 当按下复位键时,可以通过按键输入调节红灯报警温度的上下限,设定好温度范围。温度通过传感器输入单片机,由LCD18B20显示出当前所测温度,若超出设定范围,则信号灯红灯亮,若未超出设定范围,则绿灯亮。 图 2-2-2 信号灯 2.3 主要元件 2.3.1 AT89S51单片机 AT89S51单片机可应用许多场合,可灵活应用于各种控制领域,对于简单的测温系 统已经足够。单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口 就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供 电。主要特性如下: 与MCS-51兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:OHz-24Hz 三级程序存储器锁定 32可编程I/O线 128*8位内部RAM 5个中断源 两个16位定时器/计数器 可编程串行通道 片内振荡器和时钟电路 低功耗的闲置和掉电模式 图 2-3-1 AT89S51单片机引脚图 AT89S51引脚介绍 AT89S51单片一机为40引脚双列直插式封装。 其引脚排列和逻辑符号如图2-3-1所示。 各引脚功能介绍如下: VCC:供电电压 GND:接地 P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。 当P1口的管脚写“1”时,被定义为高阻输入状态。P0口能够用于外部 程序数据存储器,它可以被定义为数据/地址的第8位。在FLASH编程时, P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外 部电位必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输 出4TTL门电流。P1口管脚写入“1”后,电位被内部上拉为高,可用作 输入,P1口被外部下拉为低电平时,将输出电流,这是因为内部上拉的 缘故。在FLASH编程和校验时,Pl口作为第8位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出 4个TTLI门电流,当P2口被写入“1”时,其管脚电位被内部上拉电阻 拉高,且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输出 电流,这是因为内部上拉的缘故。P2口当用于外部程序存储器或16位 地址外部数据存储器进行存取时,P2口输出地址的高8位。在给出地址 “1”时,它利用内部上拉的优势,当对外部8位地址数据存储器进行读 写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时 接收高8位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL流。 当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输 入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是因为上拉 的缘故。P3口也可作为AT89S51的一些特殊功能口: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外部中断0) P3.3 INT1(外部中断1) P3.4 T0(计时器0外部输入) P3.5 T1(计时器1外部输入) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通) 同时P3日同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位 字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。 所以它可用作对外部输出的脉冲或用于定时目的。每当用作外部数据 存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH 地址上置0。此时ALE只有在执行MOVX,MOVC指令时ALE才起作用。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间每个机器周期 PSEN两次有效。但访问外部数据存储器时,这两次有效的PSEN信号将不 会出现。 EA/VPP:当EA保持低电平时,访问外部ROM。当EA保持高电平时,访问内部ROM。 在FLASH编程期间,此引脚也用于施加12V编程电源。 XTAL1:反向震荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 2.3.2 LCD1602显示 显示采用的LCD1602液晶显示,接口说明如下: 图 2-3-2 LCD1602引脚 LCD显示屏上显示的内容为实测体温,设定的上下限报警温度三个数值。由于人体正常体温范围为36?-37?,故设定温度在35?-38?显示绿灯,温度小于35?或大于38?显示红灯,用于提示人体温度不正常。 图 2-3-3 LCD1602显示屏 2.3.3 DS18B20温度传感器 DS18B20 的测温原理如图2-3-4 所示. 图中低温度系数晶振的振荡频率受温度的影响很小,用于产生的信号作为减法计数器1;高温度系数晶振随温度变化其振荡频率明显变,所以产生的信号作为减法计数器2 的脉冲输入。图中还隐含着计数门,当计数门打开时,DS18B20 对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器决定,每次测量前,首先将-55?所对应的一个基数分别置入减法计数器1、温度寄存器中,减法计数器1和温度寄存器被预置在-55?所对应的一个基数值。 图 2-3-4 DS18B20原理图 DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。DS18B20的性能特点如下: 多个DS18B20可以并联在惟一的三线上,实现多点组网功能 无须外部器件 可通过数据线供电,电压范围为3.0-5.5V 零待机功耗 独特的单线接口仅需要一个端口引脚进行通信 温度以9或12位数字 用户可定义报警设置 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作 DS18B20采用3脚PR-35封装或SOIC封装,它的内部结构框图如下: 存储器与控制逻辑 64 温度传感器 位 ROM 高温触发器TH 和 高C 单 速低温触发器TL 线 缓接 存 口 配置寄存器 8位CRC发生器 Vdd 图 2-3-5 DS18B20内部结构 第三章 硬件电路 3.1 AT89S51单片机电路 系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路等,如图3-1-1 所示。 图3-1-1中有三个独立式按键可以分别调整温度计的上下限报警设置,图中P2.3和P2.4分别接上的是绿灯和红灯,可以在被测温度不在上下限范围内时,红灯亮显示报警,绿灯亮显示人体温度在正常范围。图中DQ接的是上下限报警调整电路,可以调节报警温度上下限。 图 3-1-1 AT89S51单片机电路 3.2 LCD1602显示电路 如图3-2-1所示,显示屏上分两行显示温度,上面一行显示被测的实际温度,下面一行显示所设定的上下限报警温度。 图 3-2-1 LCD1602显示 3.3 DS18B20温度传感器电路 如图3-3-1所示,两个按键分别是增加和减低温度上限和下限的作用,DQ与单片机中DQ相连。 图 3-3-1 DS18B20传感器电路 3.4 信号灯报警电路 如图3-4-1所示,当被测温度在设定上下限范围内,则绿灯亮,表示人体体温正常, 当被测温度在设定上下限范围外,则红灯亮,表示人体体温异常。 图 3-4-1 报警电路 3.5 整体电路 图 3-5-1 整体电路 3.6 整体原理图 图 3-6-1 原理图 第四章 流程图 4.1 主程序 初始化 发DS18B20复位命令 发跳过ROM命令 调用显示子程序 N 发读取温度命令 1S到, Y 读取操作,CRC校验 Y Y 初次上电 N 9字节完, N Y N 读出温度值温度 CRC校验正,计算处理显示数确, 据刷新 移入温度暂存器 发温度转换开始命令 结束 图 4-1-1 主程序流程图 图 4-1-2 读温度流程图 4.2 温度转换流程图 发DS18B20复位命令 发跳过ROM命令 发温度转换开始命令 结束 图 4-2-1 温度转换流程图 4.3 温度计算流程图 开始 N 温度零下? Y 温度值取补码置“—”标志 置“+”标志 计算小数位温度BCD值 计算整数位温度BCD值 结束 图 4-3-1 温度计算流程图 总结 在这次实用电子体温计设计中,经过自身的努力,查阅相关资料,加深了对单片机与传感器的进一步认识和理解,并将所学的知识充分应用于实践中。通过毕业设计,让我认识到理论联系实际的重要性,在实践中扩展了知识面,不但掌握了本专业的相关知识,而且对其他专业的知识也有所了解,从各方面提高了自身的综合素质。经过这次一个较完整的产品设计和制作过程,对于将来学习和工作也是有很大好处的。在设计过程中,得到了老师的悉心指导与帮助,在做毕业设计的过程中给我提出了很多具有指导性的意见,使我受益颇多。 附录: 程序: #include #include #include #include #include #define uint unsigned int #define uchar unsigned char //宏定义 sbit set=P1^0; //定义调整键 sbit add=P1^1; //定义减少键 sbit dec=P1^2; //定义增加键 sbit led_green=P2^3; sbit led_red=P2^4; unsigned char data wendu_display[5]; //定义数组用于显示温度采集值 unsigned char data wendu_min_display[5]; //定义数组用于显示温度下限值 unsigned char data wendu_max_display[5]; //定义数组用于显示温度上限值 signed int max=38; //上限报警温度,默认值为38(可自行修改~) signed int min=35; //下限报警温度,默认值为35 uint m; uchar mode_flag; void wendu_dis(); /*******************延时子程序*******************************/ void Delay(uint num) { while( --num ); } /******************************************************************/ /* 独立按键模块 */ /******************************************************************/ /****************按键加法子函数******************/ void add_key() { if (add==0) { Delay(200); if (add==0) { switch(mode_flag) { case 1: max++; if (max>99)max=99; //定时上限99分钟 break; case 2: min++; if (min>98)min=98; //定时上限99分钟 break; } }while(add==0)wendu_dis(); } } /****************按键减法子函数*****************/ void dec_key() { if (dec==0) { Delay(200); if (dec==0) { switch(mode_flag) { case 1: max--; if (max<2)max=1; //定时下限1 break; case 2: min--; if (min<1)min=0; //定时下限0 break; }while(dec==0)wendu_dis(); } } } /**************定时按键确认子函数****************/ void set_key( ) { if (set==0) //按键按下 { Delay(200); if(set==0) { mode_flag++; if (mode_flag==3) { mode_flag=0; } }while(set==0)wendu_dis(); } } /**************键盘扫描子函数******************/ void key() { add_key(); dec_key(); set_key(); } /*******************温度采集子程序****************************/ void check_wendu(void) { uint a,b,c,n; c=ReadTemperature(); //获取温度值并减去DS18B20的温漂误差 m=c/10; //计算得到整数位 a=c/100; //计算得到十位数字 b=c/10-a*10; //计算得到个位数字 n=c-a*100-b*10; //计算得到小数位 if(m<0) {a=b=0;n=0;} //设置温度显示上限 if(m>99) {a=b=9;n=9;} //设置温度显示上限 wendu_display[0]=a+'0'; //保存到数组 wendu_display[1]=b+'0'; wendu_display[2]='.'; wendu_display[3]=n+'0'; wendu_display[4]='C'; } void wendu_dis() //显示实时采集温度 { inorder(0x80+1); LCD_write_string("NOW_TEM:"); inorder(0x80+9); CD_write_string(wendu_display); L inorder(0x80+14); LCD_write_string(" "); wendu_max_display[0]=max/10+'0'; //保存到数组 wendu_max_display[1]=max%10+'0'; inorder(0xc0); LCD_write_string("HIGH:"); inorder(0xc0+5); LCD_write_string(wendu_max_display); wendu_min_display[0]=min/10+'0'; //保存到数组 wendu_min_display[1]=min%10+'0'; inorder(0xc0+9); LCD_write_string("LOW:"); inorder(0xc0+13); LCD_write_string(wendu_min_display); } /*****显示开机初始化等待画面*****/ /*************************主函数****************************/ void main(void) { LCD1602_init(); //初始化液晶显示 P1=0XFF; mode_flag=0; led_green=1; led_red=1; while(1) { check_wendu(); //采集温 key(); Delay(50); wendu_dis(); if(mmin) { led_green=0; led_red=1; } else { led_green=1; led_red=0; } } } /*****END*****/ /*****************************************************************/ //函数名称:DS18B20子函数*************************************** //创建日期:2012-03-14******************************************** //测试平台:Fosc=12MHz,STC89C52 AT89S52******* //编 译:Keil uVison V4.02 /*****************************************************************/ #define DQ P2_7 /*****************************延时子程序*************************/ void Delay_DS18B20(int num) { while(num--) ; } /*****初始化DS18B20*****/ void Init_DS18B20(void) { unsigned char x=0; DQ = 1; //DQ复位 Delay_DS18B20(8); //稍做延时 DQ = 0; //单片机将DQ拉低 Delay_DS18B20(80); //精确延时,大于480us DQ = 1; //拉高总线 Delay_DS18B20(14); x = DQ; //稍做延时后,如果x=0则初始化成功,x=1则初始化失败 Delay_DS18B20(20); } /*****读一个字节*****/ unsigned char ReadOneChar(void) { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) { DQ = 0; // 给脉冲信号 dat>>=1; DQ = 1; // 给脉冲信号 if(DQ) dat|=0x80; Delay_DS18B20(4); } return(dat); } /*****写一个字节*****/ void WriteOneChar(unsigned char dat) { unsigned char i=0; for (i=8; i>0; i--) { DQ = 0; DQ = dat&0x01; Delay_DS18B20(5); DQ = 1; dat>>=1; } } /*****读取温度*****/ unsigned int ReadTemperature(void) { unsigned char a=0; unsigned char b=0; unsigned int t=0; float tt=0; Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0x44); //启动温度转换 Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器 a=ReadOneChar(); //读低8位 b=ReadOneChar(); //读高8位 t=b; t<<=8; t=t|a; tt=t*0.0625; t= tt*10+0.5; //放大10倍输出并四舍五入 return(t); } /*****END*****/ /*****************************************************************/ //函数名称:LCD1602显示函数*************************************** //创建日期:2011-09-08******************************************** //测试平台:Fosc=11.0592MHz,STC89C52 AT89S52******* //编 译:Keil uVison V4.02 /*****************************************************************/ #define uint unsigned int #define uchar unsigned char //宏定义 /*************************************************************************/ /* LCD子函数 */ /*************************************************************************/ #define RS P2_0 #define RW P2_1 #define E P2_2 /************************************************************************/ void delay_lcd(uchar a) { uchar b,c; for(b=0;b
本文档为【电子体温计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_482581
暂无简介~
格式:doc
大小:255KB
软件:Word
页数:30
分类:工学
上传时间:2018-09-20
浏览量:19