1、单片机数字温度计的设计方案基于单片机数字温度计的设计摘要:本文综述了数字温度计的设计与制作过程,介绍了设计制作一个完整的数字温度计需要做的准备与制作过程,通过一段时间的努力制作,从刚开始透彻理解题目要求及所要设计的产品的各项性能功能,然后觉得利用单片机作为控制内核,其次主要的就是温度传感器DS18B20,及其他重要部分电路的配合下设计出一套完整的硬件系统,及它的灵魂软件系统。得到了一种基于单片机控制的数字温度计。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,用4位共阳极
2、LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。关键词:单片机,数字控制,温度计, DS18B20,AT89S51前言在一些温度测量系统电路中,广泛采用的是通过热电偶、热电阻或PN结测温电路经过相应的信号调理电路,转换成AD转换器能接收的模拟量,再经过采样保持电路进行AD转换,最终送入单片机及其相应的外围电路,完成监控。但是由于传统的信号调理电路实现复杂、易受干扰、不易控制且精度不高。本温度测量仪采用单片机结合DS18B20智能温度传感器控制系统设计,因此,本系统用一种新型的可编程温度传感器H”表示实测温度值大于温度报警值TH,“L”表示实测温度小于温度报警值TL,“!”表示实测
3、温度位于设定的温度范围之内。当实测温度超过设定温度限制范围时,发出声光报警信号。1.2系统设计性能指标测温范围为-55-125,误差在+1以内。DS18B20最高分辨率可达0.0625,所以系统误差指标可以限制在+1以内。按照系统设计功能的要求,确定系统由3个模块组成:主控制器,测温电路和显示电路。温度测量仪总体电路结构框图如图1.1所示。图1. 1 温度测量仪电路结构框图本温度测量仪设计采用美国DALLAS半导体公司的智能型传感器DS18B20作为检测元件,测温范围限制在-55125。DS18B20可以直接读出被测量温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用
4、的特点。系统硬件电路由单片机AT89C51、字符液晶显示器LM016L和1k8的排阻构成。单片机实现对LCD命令和显示数据的读写控制功能。1.3 DS18B20工作原理一、性能特点DS18B20温度传感器与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的 数字值读数方式。DS18B20的性能特点如下:a.独特的单线接口仅需要一个端口引脚进行通信;b.多个DS18B20可以并联在唯一的三线上,实现多点组网功能;c.不需要外部器件d.可通过数据线供电,电压范围为3.05.5V;e.零待机功耗;f.温度以912位数字量读出;g.用户可定义的非易失性温
5、度报警设置;h.报警搜索命令识别并标志超过程序限定温度的器件;i.负电压特性,电源极性接反时,温度计不会因发热而烧毁,只是不能正常工作;二、外部结构DS18B20采用3脚PR-35封装或8脚SOIC封装。引脚排列及说明如图1.2与表1.1所示。图1.2 DS18B20引脚排列表1.1 详细引脚说明三、内部结构内部结构框图如图1.3所示。图1.3 DS18B20内部结构框图高速暂存RAM的结构为9字节的存储器,第5字节为配置寄存器,其内容用于确定温度值的数字转换分辨率,该字节的定义如图1.4所示,其中,低5位一直为1;TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式,在DS18B
6、20出厂时,该位被设置为0,用户不要去改动;R1和R0决定温度转换的精度位数,即用来设置分辨率,其定义方法见表1.2。表1.2 DS18B20分辨率的定义和规定R1R0分辨率/位温度最大转换时间/ms00993.750110187.510113751112750TMR1R011111图1.4 配置寄存器位定义四 DS18B20测温原理DS18B20测温原理图如图1.5所示图1.5 DS18B20测温原理图DS18B20是这样测温的:用一个高温系数的振荡器确定一个门周期,内部计数器在 这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应与-55的一个值。如果计数器在
7、门周期结束前到达0,则温度寄存器同样被预置到-55)的值增加,表明所测温度大于-55。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨力。这是通过改变计数器对温度每增加一度所需计数的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计算值。DS18B20内部对此计算的结果可提供0.5的分辨力。温度以16bit带符号位扩展的二进制补码形式读出,DS18B20温度与表示值如表1
8、.3所示。表1.3 DS18B20温度与表示值对应表温度测量仪系统控制器使用单片机AT89C51,用三位共阴LED数码管以动态扫描法实现温度显示。1.4 AT89C51简介AT89C51是1种低功耗、高性能的片内含有4KB闪烁可编程、可擦除只读存储器Flash Programmable and Erasable Read Only Memory)的8位CMOS单片机,并且与MCS-51系列单片机引脚和指令系统完全兼容。芯片上的FPEROM允许在线编程或采用通用的编程器对其重复编程,而且性能价格比高。所以本控制系统选用它作为我们的控制器。一、 AT89C51的性能及片内闪烁存储器1. AT89C
9、51的主要性能包括:(1) 与MCS-51微控制器系列产品兼容。(2) 片内有4KB可在线重复编程的闪烁存储器Flash Memory)。(3) 存储器可循环写入/擦除1万次。(4) 存储器数据保存时间为10年(5) 宽工作电压范围:Vcc可为+2.7V-+6V.(6) 全静态工作:可从0Hz16MHz.(7) 程序存储器具有3级加密保护。(8) 空闲状态维持低功耗和掉电状态保存存储器内容。2. 片内闪烁存储器Flash Memory)由于E2PROM具有在线改写,并在掉电后仍能保存数据的特点,可为我们的特殊应用提供便利。但是,擦除和写入对于要有数据高速吞吐的应用还显得时间过长,这是E2PRO
10、M的主要缺陷。表产1.4列出了几种典型E2PROM芯片的主要性能数据。表1.4 几种典型E2PROM芯片的主性能型号性能参数28162816A28172817A2864A取数时间/ms250200/250250200/250250擦/写电压/V2152155字节擦除时间/ms109-15101010写入时间/ms109-15101010由表1.4可见,所列各种芯片的字节擦除时间和写入时间基本上均为10ms,这样长的时间对于许多实际应用是不能接受的。因此,将存储器集成到单片机芯片内,设法缩短此类存储器的擦除和写入时间是1个首要的问题。片内闪烁存储器Flash Memory)的概念就是在这种背景下
11、提出来的。目前,美国ATMEL公司生产的带有片内闪烁存储器的AT89C51/89C52/89C55单片机,由于价格便宜,且与MCS-51系列兼容,受到了我国广大工程技术人员的欢迎,使用该系列单片机,省去了外扩存储器的工作,只需了解片内闪烁存储器的特性以及如何对其编程即可。二、 片内闪烁存储器的编程AT89C51的I/O口P0、P1、P2和P3除具有与MCS-51相同的一些性能和用途外,在FPEROM编程时,P0口还可接收代码字节,但在程序校验时要外加上拉负载电阻。在FPEROM编程和程序校验期间,P1口接收低地址字节,P2口接收高地址位和一些控制信号,P3口也接收FPEROM编程和校验用的控制
12、信号。此时,ALE/引脚是编程脉冲输入的应用越来越广泛。从显示容量上划分,LCD可分为两种类型,一种是“AlphaNumericLCDs”,只能显示字符和数字。另一种是“GraphicalLCDs”,既能显示字符和数字,还能显示图形。汉字显示需要后一种点阵图形式LCD。液晶显示器是由液晶显示屏及控制器两部分组成的,不同的液晶显示器所对应的控制器不尽相同,了解LCD控制器的控制功能是设计液晶显示的关键3一、液晶模块简介 LM016L的结构及功能 LM016L液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采
13、用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器IR)和数据寄存器DR)忙标志BF),显示数RAMDDRAM),字符发生器ROMACGOROM)字符发生器RAM。IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符码, CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种.8位字符编码和字符的对应关系,可以查看参考文献和地线GND(16脚,其控
14、制原理与14脚的LCD完全一样,其中:引脚符号功能说明1 VSS 一般接地2 VDD 接电源+5V)3 V0 液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高时进行读操作,低电平(0时进行写操作。6 E E(或EN端为使能(enable端,下降沿使能。7 DB0 底4位三态、双向数据总线 0位最低位)8 DB1 底4位三态、双向数据总线 1位9 DB2 底4位三态、双向数据总线 2位10 DB3 底4位三态、双向数据总线 3位11 DB4 高4位三态、双向数据总线 4位12 DB5 高4位三态、双向数据总线 5位13 DB6 高4位三态、双向数据总线 6位14 DB7 高4位
15、三态、双向数据总线 7位最高位)也是busy flang)15 BLA 背光电源正极16 BLK 背光寄存器选择控制表RS R/W 操作说明0 0 写入指令寄存器清除屏等)0 1 都busy flagDB7),以及读取位址计数器DB0DB6)值1 0 写入数据寄存器字符150个,510(宽高字符42个。LM016L分行显示时,只能显示57字体的字符,想要显示510字符,只能单行显示。如果要显示除CGROM中192个字符以外的其它字符,可以自定义最多8个特殊字符写入CGRAM中以供显示调用。DDRAM与液晶显示屏上的位置是映射关系,只要把CGROM或CGRAM中的字符成功写入对应的DDRAM地址
16、,便可在LCD上显示出相应的字符。单行显示时,DDRAM的显示地址自左至右分别为80H87H,C1HC7H。双行显示时,显示地址首行自左至右为80H8FH,第2行自左至右为C0HCFH。HD44780的控制端有3个,分别是RS、RW和E。RS=0时,配合读写控制端RW实现命令读写。RS=1时,配合读写控制端RW实现显示数据的读写。RW是LCD的读写控制端,RW=0为写有效。RW=1为读有效。E为LCD的使能信号,每次读写都需要产生一个宽450ns周期为1000ns的脉冲信号5,6。HD44780的写时序如图2所示。从图2中可以看出,每次读写数据时,先使RS和RW有效,然后E(图中为EN脉冲信号
17、有效,E脉冲信号应先为高电平后为低电平。最后通过D0D7送出命令或数据,也可以把送出命令或数据放在第一步。HD44780的控制命令共有11条,主要用来控制光标的显示方式、单行或双行显示方式、4线或8线数据传输方式、存储器地址指针增减方等,可以根据不同的设计需求选用不同的命令形式4第二章系统硬件电路设计2.1 DS18B20温度传感器的连接测温仪电路设计原理图如图2.12.3所示,控制器使用单片机AT89C51,温度传感器使用DS18B20,用字符液晶显示器LM016L和1k8的排阻构成。DS18B20温度传感器提供9位二进制)温度读数。信息经过单线接口送入DSB1820或从DS18B20送出,因此从单片机到DS18B20仅需一条线和地线)。DS18B20的电源可以由数据线本身提供而不需要外部电源。如图2.1所示。89C51对DS18B20的数字量输出读入,即读P2.5端口。如图2.1所示。图2.1 测温仪电路设计原理图 LCALL BEEP_BL INC TEMP_TH MOV A,TEMP_TH CJNE A,#120,ASZ011 MOV TEMP_TH,#0ASZ011: LCALL LOOK_ALARM MOV R5,#10 LCALL DELAY JMP ASZ01ASZ02: JB K3,ASZ03 。TL值
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1