1、数字温度计a题设计与总结报告终审稿 文稿归稿存档编号:KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-MG129数字温度计A题设计与总结报告数字温度计(A2题)设计与总结报告 专科组: 陈春 梁福鑫 钟才莉 摘要:随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研等各个领域,已经成为一种比较成熟的技术, 本设计在参阅了大量前人设计的数字温度计的基础上,利用单片机技术结合DS18B20温度传感器和DS1302时钟芯片构建了一个数字温度计。本温度计属于多功能温度计,当测量温度超过设定的温度上、下限,启动蜂鸣器和指示灯报警,可以显示当前测量日期、时间、温度,
2、可调整显示日期、时间和星期。关键词:单片机;数字控制;数字温度计;DS18B20;DS1302;报警 前言本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S52,测温传感器使用DS18B20,以及使用时钟芯片DS1302测实时时钟,用一块低功耗的RT1602C液晶显示器以串口传送数据,实现温度和时间显示,能准确达到以上要求。本设计主要分为两部分:硬件电路及软件程序。而硬件电路又大体可分为单片机小系统电路、测温电路、实时时钟电路、声光报警电路、语音报读电路、LED
3、显示电路及电源电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用C语言编程,利用Keil 软件对其编译和仿真,详细的设计算法将会在程序设计部分详细介绍。 一、方案论证比较与选择 方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦,制作成本高。方案二: 此设计方案是由数字式温度传感器、单稳态定时电路、计数电路、译码与LED数码管显示电路等组成的。但其测温范围较小,电路设计也比较
4、繁琐。方案三:进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,因此我们改用一种智能传感器DS18B20作为检测元件,测温范围-55+125,分辨率最大可达0.0625。此传感器,可以直接读取被测温度值,而且采用3线制与单片机相连,减少了外部硬件电路,具有低成本和易使用的特点。从以上三种方案,很容易看出,采用方案三,电路比较简单,软件设计也比较简单,故采用了方案三。二、系统框图温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,实时时钟采用DS1302,用RT1602C液晶显示器以串口传送数据实现温度和时间
5、的显示。三、主要电路设计1. 主板电路系统整体硬件电路包括,传感器数据采集电路,时钟电路,时间与温度显示电路,声光报警和按键电路,单片机主板电路等,如图1.1 所示。图1.1中有五个独立式按键可以分别调整时间设置和复位,图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音以及红灯闪烁,同时液晶显示器将被测温度值和时间显示出来。其中按健复位电路是上电复位加手动复位,使用比较方便,在程序跑飞时,可以手动复位,这样就不用在重起单片机电源,就可以实现复位。 图1.1 单片机主板电路2. DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时D
6、S18B20的1脚接地,2脚作为信号线,3脚接电源,如图2.1所示。另一种是寄生电源供电方式,如图2.2 所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。图2.1 DS18B20与单片机的接口电路 图2.1 DS18B20与单片机的接口电路3. 时钟电路1.DS1302的引脚图如图3.1所示。 2. 管脚说明如图3.2所示。 图3.1
7、 DS1302的引脚图 图3.2 管脚说明图 3. DS1302与单片机的接口如图3.3所示。 图3.3 DS1302与单片机的接口电路4. 显示电路本系统的显示部分采用RT1602C字符显示模块,与采用数码管相比,硬件连接和软件调试上都由优势。只要把要显示的内容放进液晶模块的显示存储器里面就可以直观的显示出指定的内容,操作方便。RT1602C接口功能:引脚号符 号功 能1Vss(GND)接地0V2VDD+5V10%3V0显示偏压信号4RS数据/命令控制,H/L5R/W读/写控制,H/L6E使能信号714D0D7数据I/O15BL1背光源正16BL2背光源负RT1602C采用标准的14脚接口,
8、其中:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:V0为液晶显示器对比度调整端。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。 第1516脚:空脚RT1602C液晶显示模块可以和单片机AT89C51直接接口,电路如图4.1所示。图4.1 液晶显示
9、原理图该模块的硬件原理图如图4.1所示。RT1602C的数据口接单片机的P0口,使能端E接P2.7,液晶的RS端接P2.5,读写端RW接P2.6,这样使用下面的子程序就可以实现写入命令和数据: LcdEn=0; LcdRs=style; LcdRw=0; _nop_(); DBPort=input; _nop_();/注意顺序 LcdEn=1; _nop_();/注意顺序 LcdEn=0; _nop_(); LCD_Wait(); 5. 电源电路需要提供给系统+5V的电源。电源采用桥式全波整流、大电容滤波、三端稳压芯片稳压的方法,可产生各种直流电压。稳压芯片采用的是7805典型电路,如图2.2
10、.4所示。图2.2.4 电源稳压电路采用这种电路的+5V电源在输出前经过了电感和电容组合网络滤波,实测纹波小于3mV。6 声光报警与按键电路 按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。本文采用的是独立式按键,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。 电路图如下:
11、 P3.0口表示时间表的切换,当按下该开关,程序默认为最后的显示,表示当前执行的是最后输入的数据,用红发光二级管显示。 P3.1口表示数字“+“键,按一下则对应的数字加1,用红发光二级管显示,表示当前执行的是数据输入。 P3.2口表示数字“-”键,按一下则对应的数字减1,用红发光二级管显示,表示当前执行的是数据输入。 P3.3口表示功能移位键,按键选择要调整的年、月、日、周、时、分、秒,用红发光二级管显示,表示当前执行的是数据输入。四、单片机软件设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,显示数据刷新子程序,设置和调整时间程序等。4.1 主程序主程序的主要功能是负责温度和时
12、间的实时显示、读出并处理DS18B20测量的当前温度值和DS1302测量的时间,并且通过按键的控制可以设置和调整时间,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度和时间,其程序流程见图4.1所示。4.2 读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图4.2示。4.3 温度转换命令子程序温度转换命令子程序主要是发出温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图4.3所示。图4 . 1 主程序流
13、程图 图4 . 2 读温度流程图 4. 4 显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图4.4所示。图4 . 3 温度转换流程图图4 . 4显示数据刷新流程图4.5设置和调整时间程序设置和调整时间程序主要功能是设置和调整时间,并对该数据进行刷新操作,显示出相应的时间。程序流程图如图4. 5所示。 图4.5设置和调整时间程序五、总结与体会 经过一个月的奋战,终于完成了我们的数字温度计的设计,虽然没有完全达到设计要求,但从心底里说,还是高兴的,毕竟这次设计把实物基本做了出来,高兴之余不得不深思呀!在本次设计
14、的过程中,我们发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,举个例子,以前写的那几次,数据加减时,我用的都是软件计算法,这一次,我全部用的都是10进制的数直接加减,显示处理时在用除法去删分,感觉效果比较好,有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。参考文献1刘华东.单片机原理与应用(第2版).电子工业出版社,2006.82李广弟.单片机基础.北京:北京航空航天大学出版社,19943阎石.数字电子技术基础(第三版). 北京:高等教育出版社,19894廖常初.现场总线概述J.电工技术,1999.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1