电子温度计的设计精编版

上传人:ahu****ng1 文档编号:142159073 上传时间:2020-08-17 格式:DOC 页数:21 大小:154KB
返回 下载 相关 举报
电子温度计的设计精编版_第1页
第1页 / 共21页
电子温度计的设计精编版_第2页
第2页 / 共21页
电子温度计的设计精编版_第3页
第3页 / 共21页
电子温度计的设计精编版_第4页
第4页 / 共21页
电子温度计的设计精编版_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《电子温度计的设计精编版》由会员分享,可在线阅读,更多相关《电子温度计的设计精编版(21页珍藏版)》请在金锄头文库上搜索。

1、精品资料推荐摘 要随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术。单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89C2051,测温传感器使用DS18B20,用4位共阳

2、极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。关键词:单片机 数字控制 温度计目 录摘 要I1. 总体设计方案11.1 功能要求11.2 方案论证11.2.1 方案一11.2.2 方案二12. 硬件设计22.1 整体设计22.2 模块设计22.2.1 单片机最小系统22.2.2 显示电路32.2.3 温度传感器42.2.4 报警温度调整按键52.2.5 报警部分63. 软件设计73.1 主程序73.2 温度子程序84. 心得总结9附录1 电路总图10附录2 源程序11参考文献19191. 总体设计方案1.1 功能要求基本范围-50-110精度误差小于0.5LED数码直读显示1

3、.2 方案论证1.2.1 方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。1.2.2 方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。2. 硬件设计2

4、.1 整体设计按照系统设计功能的要求,确定系统由4个模块组成:温度检测部分、按键控制部分、报警部分和显示电路。温度计电路设计总体设计方框图如图2.1所示:温度检测部分按键部分AT89C2051单片机控制器报警部分LED显示部分扫描驱动电路图2.1总体设计方框图2.2 模块设计系统由单片机最小系统、显示电路、按键部分、温度传感器等组成,下面我就各个模块进行逐个介绍:2.2.1 单片机最小系统单片机ATC89C2051 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。晶振采用11.0592MHZ。复位电路采用上电加按

5、钮复位。单片机最小系统的硬件连接如图2.2所示:图2.2 单片机最小系统2.2.2 显示电路显示电路采用4 位共阳极LED 数码管,P0 口由上拉电阻提高驱动能力,作为段码输出并作为数码管的驱动。P2 口的低四位作为数码管的位选端。采用动态扫描的方式显示。具体的硬件连接如图2.3所示:图2.3 显示电路2.2.3 温度传感器DS18B20 温度传感器是美国DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。DS18B20 的性能特点如下:1、独特的单线接口仅需要一个端口引脚进行

6、通信;2、多个DS18B20 可以并联在惟一的三线上,实现多点组网功能3、无须外部器件;4、可通过数据线供电,电压范围为3.05.5;5、零待机功耗;6、温度以或位数字;7、用户可定义报警设置;8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;9、负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;DS18B20 可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20 的1 脚接地,2 脚作为信号线,3 脚接电源。为保证在有效的DS18B20 时钟周期内提供足够的电流,可用一个MOSFET 管来完成对总线的上拉。当DS18B20 处于写存储器操作和温度

7、A/D 转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD 端接地。由于单线制只有一根线,因此发送接口必须是三态的。其硬件连接如图2.4所示:图2.4温度传感器电路2.2.4 报警温度调整按键本系统设计三个按键,采用查询方式,一个用于选择切换设置报警温度和当前温度,另外两个分别用于设置报警温度的加和减。均采用软件消抖。硬件连接如图2.5所示:图2.5按键电路2.2.5 报警部分本系统提供蜂鸣器、发光二极管电路,当温度超过设置警戒温度时,声光报警。具体的硬件连接如图2.6所示:图2.6 声光报警电路3. 软件设计系统程序主要包括主程序,读出温度子程序,温度

8、转换命令子程序,计算温度子程序,显示数据刷新子程序等。3.1 主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图3.1所示。初始化读取温度读取温度值,计算处理显示数据刷新温度转换调用显示子程序设置报警温度有键按下?NY图3.1 主程序流程图3.2 温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图3.2所示:初始化DS18B20跳过ROM读取温度读取操作,CRC校验移入温度暂存器9字节完?CRC校验正确

9、?结束NNYY图3.2 温度转化程序流程图4. 心得总结本次课程设计即将进入尾声,回想这几个周来的电子设计制作经历,我感触甚是深刻。通过本次课程设计,使我对电子设计及制作产生了较为浓厚的兴趣,这不仅加强了自己对理论知识的理解和巩固,还能提高自己的动手能力,可以说受益匪浅。当然更重要的是,激起了我学好单片机的斗志。通过查资料、绘制电路图、焊接电路以及电路板的调试,使我们更加了解了图书馆、互联网的作用,让我们熟悉了电路板的构造特点,也使我们了解了单片机AT89C2051和温度传感器DS18B20的工作原理及引脚图,最重要的是锻炼了我们自学的能力。在学习之余我们还增强了我们的团队合作精神。还让我明白

10、了那句:“只为成功找原因,不为失败找借口。”的涵义。我们在调试过程中虽然遇到了不少问题,但是在老师的帮助和我们不懈努力下总结了失败的原因,最终成功调试出实验结果。从这一次制作过程的心得体会当中,我意识到在以后的设计中我还需要做到再细心、再耐心、再专心。回想从制作开始到结束,没有哪一步不是注入了自己的心血,心情就激动不已,此次课程设计必将让自己的理论水平和实践能力上升到一个新的台阶,同时也让自己认识到实践的重要性。附录1 电路总图附录2 源程序程序源代码#include reg51.h#include intrins.h /_nop_();延时函数用#define dm P0 /段码输出口#de

11、fine uchar unsigned char#define uint unsigned intsbit DQ=P27; /温度输入口sbit w0=P20; /数码管4sbit w1=P21; /数码管3sbit w2=P22; /数码管2sbit w3=P23; /数码管1sbit beep=P17; /蜂鸣器和指示灯sbit set=P26; /温度设置切换键sbit add=P24; /温度加sbit dec=P25; /温度减int temp1=0; /显示当前温度和设置温度的标志位为0 时显示当前温度uint h;uint temp;uchar r;uchar high=35,l

12、ow=20;uchar sign;uchar q=0;uchar tt=0;uchar scale;/*温度小数部分用查表法*/uchar code ditab16= 0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09;/小数段码表uchar code table_dm13= 0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0xff,0xfd,0x00;/共阳LED 段码表0 1 2 3 4 5 6 7 8 9 不亮 - 全亮uchar

13、 code table_dm1= 0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef; /个位带小数点的段码表uchar data temp_data2=0x00,0x00; /读出温度暂放uchar data display5=0x00,0x00,0x00,0x00,0x00; /显示单元数据,共4 个数据和一个运算暂用/*11us 延时函数*/void delay(uint t)for (;t0;t-);void scan()int j;for(j=0;j4;j+)switch (j)case 0: dm=table_dmdisplay0;w

14、0=0;delay(50);w0=1;/xiaoshucase 1: dm=table_dm1display1;w1=0;delay(50);w1=1;/geweicase 2: dm=table_dmdisplay2;w2=0;delay(50);w2=1;/shiweicase 3: dm=table_dmdisplay3;w3=0;delay(50);w3=1;/baiwei/ elsedm=table_dmb3;w3=0;delay(50);w3=1;/*DS18B20 复位函数*/ow_reset(void)char presence=1;while(presence)while(presence)DQ=1;_nop_();_nop_();/从高拉倒低DQ=0;delay(50); /550 usDQ=1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号