当前位置: 首页 > 范文大全 > 公文范文 >

基于Ds18B20的数字显示温度计

时间:2022-05-03 09:50:03  浏览次数:

摘要:整套系统是由控制器、温度检测传感器、LCD显示屏及键盘部分组成。涉及到温度传感器芯片的选取、单片机与温度传感器接口电路的设计。以及实现温度信息采集、数据传输和温度显示的软件设计。本温度计属于多功能温度计,可以设置上下报警温度,当温度超过设置范围内时,可以声光报警。

关键词:DSl8820 AT89C51 LCDl602温度测量

第1章系统硬件设计

我们设计温度系统是由中央控制器、温度检测器、显示器及键盘部分组成。控制器采用单片机AT89C51,温度检测部分采用DSl8820温度传感器,用LCDl602做显示器,四位显示。本文从硬件和软件两方面介绍了AT89C51单片机温度控制系统的设计,对硬件原理图和程序图作了简洁的描述。

用AT89c51作CPU,AT89C51是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,其内部有128byte的RAM及4kbyte的EEPROM,可满足本系统多功能的需要,采用单片机控制技术,对于系统功能的多样化。智能化起着关键性的作用。

显示电路由LCDl602组成,用来显示当前的测试温度以及设置上下限时的温度值。

报警装置置由蜂鸣器组成,用来提示用户出现超出温度的上下限的情况。

1.1 单片机最小系统

单片机最小系统。或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统包括:单片机、晶振电路、复位电路。

前面已经提到单片机选用AT89C51。单片机及外围电路如图1.2所示。

1.时钟电路

AT89C51内部有一个用于构成振荡器的高增益反相放大器,引脚XTALl和XTAL2分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图1.3(a)所示,在XTALl和XTAL2引脚上外接定时兀件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.2-12MHz之间选择,电容值在5-30pF之间选择,电容值的大小可对频率起微调的作用。

外部方式的时钟电路如图1.3(b)所示,XTALl接地,XTAL2接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。

片内时钟发生器把振荡频率两分频,产生一个两相时钟Pl和P2,供单片机使用。

2.复位及复位电路

整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RsT)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。

上电自动复位是通过外部复位电路的电容充电来实现的,只要电源Vet的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。

按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。

本系统的复位电路采用上电复位方式。

1.2 数据采集

数据采集电路如图1.6所示,由温度传感器DSl8820采集被控对象的实时温度,提供给AT89c51的P1.7口作为数据输入。本文设计采用的是外部电源供电方式,P1.7接数据总线,另外两个脚分别接电源和地,这种方式可靠、编程简单。

1.3 液晶显示电路

液晶模块LCDl602与单片机的接口电路。由于1602液晶显示器是本身带有驱动模块的液晶屏,它只有并口线和一些控制线,与单片机的连接有两种不同的方法,直接访问方式和间接访问方式。本文设计采用的直接访问方式。

1.4 键盘电路设计

键盘是标准的输入设备,常见的键盘可分为独立按键式键盘和行列扫描式键盘。

1.独立按键是直接用I/O口线构成的单个按键电路,如图3.8所示,其特点是每个按键都单独占用一根I/O口线,每个按键的工作不影响其他I/P口线的状态。独立式接键电路配置灵活,软件结构简单,但每个按键必须要占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。

考虑到温度计键数不多,所以采用独立按键式键盘。本设计采用的独立式键盘电路如图1.10所示。其中P20、P21、P22、P23为51单片机的IO口,由于P2口内存有上拉电阻,所以我们这里没有接外部上拉电阻。考虑到设计的需要,这里我们只设置了4个按键,s2为选下限设计,s3为选上限设置,s4为加一键,s5为减一键。

1.5 声音报警电路设计

声音报警电路通过驱动蜂鸣器发声实现,当其接通5V的电压会发出蜂鸣叫声,NPN型三极管2sc9013驱动蜂鸣器。当输出高电平时蜂鸣器发声。

第2章。软件系统设计

2.1 系统软件设计的整体思想

对于51单片机,现有四种语言支持,即汇编、FI/M、c和BASIC。c是一种源于编写UNIX操作系统的语言,它是一种结构化语言,可产生紧凑代码。c结构是以括号()而不是字和特殊符号的语言。c可以进行许多机器级函数控制而不用汇编语言。

2.2 系统程序流程图

系统程序主要包括主程序,读出温度子程序,复位应答子程序,写入子程序、显示子程序等。

主程序的主要功能是负责温度的实时显示、读出并处理DSl8820的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图4.1所示。

2.3 DSl8820驱动流程

根据DSl8820的通讯协议,主机(单片机)控制DSl8820完成温度转换必须经过三个步骤:每一次读写之前都要对DSl8820进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DSl8820收到信号后等待16-60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。

根据数字温度传感器的工作时序及原理进行软件的设计,主要流程图如图4.2所示。

2.4 液晶显示

液晶显示模块LCDl602内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形。

本设计中,LCDl602的数据总线高四位和低四位复用,每字节数据分两次送到LCD 1602液晶模块。

第3章总结

利用AT89C51设计的数字温度计硬件电路简单、精度高、较宽的测量范围使得该温度计完全适合于一般的应用场合。其低电压供电特性可做成用电池供电的手持电子温度计。AT89C51数字温度计还可以在高低温报警,远距离多点测温控制方面进行应用。

本文设计的数字温度计能正常显示到小数点后两位,并能实现上下限温度报警值的设置。当所测量的温度超出了设置范围时,能启动声光报警装置。

参考文献:

1.沙占友,智能化集成温度传感器原理及应用,机械工业出版社。2002.7

2.ATMLE Corporation,8-Bit Mierocontroller AT89C5 l DATESHEET.0265F-A-12/97

3.路勇,高文焕主编.电子电路实验及仿真.清华大学出版社.1999

4.康华光编.电子技术基础.高等教育出版社,2000

5.冯建华,单片机应用系统设计与产品开发,人民邮电出版社.2004

6.杨文龙编,单片机原理及应用.西安电子科技大学出版社。2000

7.马忠梅等,单片机的c语言应用程序设计.北京航空航天大学出版社,1997

8.黄俊钦编.新型传感器原理.航空工业出版社。1991

9.Dallas Semicondueotr。Programmable Resolution l-Wire DigitalThermometer DSl8820 DATE SHEET,

10.阉石,数字电子技术基础.E京:高等教育出版社,2004

11.何立民,单片机高级教程-应用与设计.北京:北京航空航天大学出版社,2000

推荐访问: 温度计 数字 显示 Ds18B20