数字式温度计的设计.

数字式温度计的设计

摘要

随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测与显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感原件。热敏电阻的成本低,需要外加信号处理电路,而且可靠性相对较差,测温准确度低,监测系统也有一定的误差。与传统的温度计相比,这次设计的是基于DS18B20的数字温度计。它具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。

在本设计中选用AT89C 系列单片机为核心器件,采用DS18B20数字传感器为测温元件,通过3位LED 数码管显示并进行传送数据,实现温度显示。本设计的内容主要分为两部分,一是对系统硬件部分的设计,包括温度采集电路和显示电路;二是对系统软件部分的设计,对温度的采集与实现进行编程,通过DS18B20直接读取被测温度值,送入单片机进行数据处理,之后进行输出显示,最终完成了数字温度计的总体设计。其系统构成简单,信号采集效果好,数据处理速度快,便于实际检测使用。

关键词:单片机AT89C2051;温度传感器DS18B20;LED 数码管;数字温度计

Digital Thermometer Design

Summary

With the rapid development of modern information technology and traditional industrial transformation gradually realize, able to work independently temperature detection and display system applied to many fields. The traditional temperature testing to thermistors for temperature sensitive parts. Fortement low cost, require additional signal processing circuits are relatively poor, and reliability, low temperature measurement accuracy, monitoring system also has the certain error. Compared with the traditional thermometer, this design is based on digital thermometer. The chip DS18B20 It has readings convenient, measuring temperature range, temperature measurement precision, the digital display characteristics, wide application scope. In this design chooses AT89C2051 series microcontroller as the core component, using DS18B20 digital sensors for temperature measuring element, through three LED digital pipe display and transmit data, realize temperature display. The main content of this design can be divided into two parts, one is the design of system hardware parts, including the temperature acquisition circuit and display circuit; 2 it is the design of system software part of the collection of temperature, and implement programming, through DS18B20 directly read temperature being measured data processing, into SCM, output shown after, eventually completed the overall design of digital thermometer. The system structure is simple, signal acquisition effect is good, data processing speed, facilitate practical detection using.

Keywords: SCM AT89C2051; Temperature sensor DS18B20; LED digital tube; Digital thermometer 目录

摘要„„„„„„„„„„„„„„„„„„„„„„„„„1

一绪论„„„„„„„„„„„„„„„„„„„„„„„„„3

1.1国内外测温状况

1.2温度检测技术介绍

1.3课题研究主要内容

二设计方案

2.1设计要求

2.2设计思路

三系统设计

系统硬件设计。

3.1硬件电路设计框图与器件选择

3.2DS18B20及其引脚

3.3DS18B20的内部结构及功能

3.4DS18B20命令集

3.5DS18B20的的通信协议

3.6DS18B20的编程

四程序设计

4.1系统存储空间的分配

4.2主程序设计

4.3程序设计框图

4.4设计程序

五总结与体会

六致谢

七参考文献

绪论

“工欲善其事,必先利其器”,这是中国的一句古话,人们早就知道工具的重要性。随着以知识经济为特征的信息时代的到来,人们对仪器仪表作用的认识愈加深入。作为工业自动化技术工具的自动化仪表与控制装置,在高新技术的推动下,正跨入真正的数字化、智能化、网络化的时代。而温度作为一个重要的物理量,是工业生产过程中最普遍、最重要的工艺参数之一。随着工业的不断发展,对温度测量的要求越来越高,而且测量的范围也越来越广,对温度的检测技术的要求也越来越高。因此温度测量与温度测量技术的研究也是一个重要的研究课题。

1.1国内外测温情况

随着国内外工艺的日益发展,温度检测技术也不断的进步,目前的温度检测使用的温度计种类繁多、应用范围也较广泛,大致包括一些几种方法:

利用物体热胀冷缩原理制成的温度计,包括玻璃温度计、双金属温度计、压力温度计等;

(2)利用热电效应技术制成的温度检测元件

利用此项技术制成的温度检测元件主要是热电偶。热电偶发展较早,比较成熟,至今仍未应用最广泛的检测元件。热电偶具有结构简单、制作方便、测量范围宽、精度高、热惯性小等特点。常用热电偶镍铬-镍硅、镍铬-康铜、铂铑-铂、铂锗30-铂锗6等;

(3)利用热阻效应制成的温度计

可分为电阻测温元件、导体测温元件、陶瓷热敏测温元件;

(4)利用热幅原理制成的高温计

辐射测温在近年相对其他的测温领域显得活跃些,热辐射高温计通常分为两种:一种是单色辐射高温计,一般称为光学高温计;另一种是全辐射高温计,它的原理是物体受热辐射后,视物体本身的性质,能将其吸收、透过或反射,。而受热物体放出的辐射能的多少,与他的温度有一定的关系。热辐射式高温计就是根据这种热辐射原理制成的。

(5)利用声学原理进行温度测量

声学法温度检测技术是近年来发展起来的一项新技术,利用该技术,可以对炉内的烟气温度测量值和火焰分布进行检测,判断炉的燃烧状况,进行实时调节和控制。声学温度检测技术的基本原理是通过测量声波传感器之间的声波传播时间以最小二乘原理重建温度的测量方

法。

1.2温度检测技术介绍

近年来,在温度检测技术领域,多种新的检测原理与技术的开发应用,已取得了重大进展。新一代的温度检测元件正在不断地出现和完善化。

(1)晶体管温度检测元件

半导体温度检测元件是具有代表性的温度检测元件。半导体的电阻温度系数比金属打1-2个数量级,二极管和三极管的PN 结电压、电容对温度灵敏度很高。基于上述测温原理已研制了各种温度检测元件。

(2)集成电路温度检测元件

利用硅结晶管基极——发射极间电压与温度关系(即半导体PN 结的温度特性)进行温度检测,并把测温、激励、信号处理电路和放大电路集成一体,封装于小型管壳内,即构成了集成电路温度检测元件。目前,国内外业进行了生产。

(3)磁核共振温度检测器

所为磁核共振现象是指具有核自旋的物质置于静磁场中时,当于静磁场垂直方向加以电磁波,会发生对某频率电磁的吸收现象。利用共振吸收频率随温度上升而减少的原理研制成的温度检测器,成为核磁共振温度检测器。这种检测器精度极高,可以测量出千分之一开尔文,而且输出的频率信号是用于数字化运算处理,故是一种性能十分良好的温度检测器。在常温下,可做理想的标准温度计之用。

(4)热噪声温度检测器

他的原理是利用热电阻元件产生的噪声电压与温度的相关性,

其特点是:

1. 输出噪声电压大小与温度是正比例关系;

2. 不受压力影响;

3. 感温元件的阻值几乎不影响测量精确度。

所以它是可以直接读出绝对温度值而不受材料和条件限制的温度检测器。

(5)石英晶体温度检测器

它采用LC 或Y 型切割的石英晶片的共振频率随温度的变化来制作的。它利用P 技术,自动补偿石英晶片的非线性,测量精度较高,一般可检测到0.001℃,所以可做标准检测之用。

(6)激光温度检测器

激光测温特别适用于远程测量和特殊环境下的温度测量,用氦氖激光源的激

光作反射计可测得很高的温度,精度达1%;用激光干涉和反射原理制作的温度检测器可测得更高温度,上限可达3000℃,专门用于核聚变研究,但在工业上应用还需进一步开发和实验。

(7)微波温度检测器

采用微波测温可以达到快速测量高温的目的。它是利用在不同的温度下,温度与控制电压呈线性关系的原理制成的。这种检测器的灵敏度为250kHZ/℃,精度为1%左右,检测范围为20℃-1400℃。

(8)纯贵金属热电偶的研究

由两种纯金属组成的热电偶,因其材料均匀性远优于合金材料,因而稳定性好得多。在铂铑合金热电阻(S ,R 型)的不确定度已很难提高之后,人们开始寻找由纯贵金属组成的热电偶,以代替S 和R 型热电偶,作为传递的标准。

(9)信息技术时代自动化系统中的温度检测仪表

现代的工业进程自动化系统是现场总线控制系统,它是信息技术进入工业自动化后出现的新一大自动控制系统。现场总线是安装在制造或过程区域的现场装置与控制室内的自动化装置

之间的数字式、串行、多点通信的数据总线。所有的现场仪表(温度检测仪表是其中一种)均接到现场总线上。在这样的系统中,通常不应使用各种不同输出的温度计,必须将输出转变成统一的电信号,这样的“温度计”就变成了“温度变送器”。在现场总线控制系统中的温度变送器主要是有热电偶和热电阻变送器,也有辐射温度变送器。

1.3课题研究的主要内容

温度传感器是当前温度检测的主要器件,本课题的主要出发点式设计出测量温度检测的温度连续监测的仪器。

本文主要讲述了用温度传感测温的主要远离、实际硬件电路的设计、软件设计和调试分析。 2 设计方案

2.1设计要求

(1)以MCS-51系列单片机为核心器件,组成一个数字式温度计。

(2)采用数字是温度传感器为检测器件,进行单点温度检测,检测精度为±0.5℃。

(3)温度显示采用3为LED 数码管显示,两位整数,一个小数。

(4)具有键盘上下输入上下限功能,超过上下限温度时,进行声音报警。

2.2设计思路

(1)根据设计要求,选择AT89C2051单片机为核心器件。

(2)温度检测器件采用DS18B20数字式温度传感器。与单片机的接口为P3.7引脚。

(3)键盘采用独立式按键,由3个按键组成,分别为:设置键(SET )、加一键(+1)、确认键(RET )。

※ SET 键(上下限温度设置键):当该键按下时,进入上下限温度设置功能。

※ +1键(加一调整键):在输入上下限温度时,该键按下一次,被调整位加一。 ※ RET 键(确认键):当该键按下时,指向下一个要调整的位。

按键的接入方式

SER 键:通过P3口INT0引脚接入,中断工作方式。

+1键:通过P3口P3.0引脚接入,查询工作方式。

RET 键:通过P3口P3.1引脚接入,查询工作方式。

(4)声音警报翁鸣器通过P1.7引脚接入。

三系统设计

3.1硬件电路设计框图

根据设计要求与设计思路,硬件电路设计框图如图1所示。

AT89C 系列与MCS-51系列单片机相比有两大优势:第一,片内程序存储器采用闪速存储器,是程序的写入更加方便;第二,提供了更小尺寸的芯片,是整个硬件电路的体积更小。 89C2051芯片采用DIP-20封装,引脚配置如图1所示,与8051进行对比后可发现,AT89C2051减少了两个对外端口(即P0、P2口),因而芯片尺寸有所减少。

AT89C2051

LED 数码管的位驱动电路是由三个ONO 型晶体管VT2、VT3、VT4和6个电阻组成,基极与单片机的P1.4、P1.5、P1.6连接。其工作原理是,当某个晶体管的基极为低电平时,该晶体管道通,对应位的LED 被点亮,反之则不亮。二是加入了一直温度传感器DS18B20进行温度检测,DS18B20的数据I/O端与单片机的P3.7引脚连接。硬件电路原理图如图2所示。

3.2DS18B20及其引脚

DS18B20是美国DALLAS 公司生产地单总线数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易于与微处理器接口等优点,适合于各种温度测控系统。

该器件将半导体温敏器件、A/D转换器、存储器等做在一个很好的集成电路芯片上,传感器直接输出的就是温度数字信号值。信号传输采用两芯(或三芯)电缆构成的单总线结构。一

条单总线上可以挂接若干个数字温度传感器,每个传感器有一个唯一的地址编码。微控制器通过对器件的寻址,就可以读取某一个传感器上的温度值,从而简化了信号采集系统的电路结构。DS18B20功能特点是:

采用单总线技术,与单片机通信只要一根I/O线,在一根线上挂接多DS18B20。

每只DS18B20只有一个独有的、不可修改的64位序列号,根据序列号访问对应的器件。 低压供电,电源范围从3~5V,可以本地供电,也可以直接从数据线上窃取电源(寄生式供电)。

测量范围为-55℃~+125℃,在-10℃~85℃范围内误差为±0.5℃。

可编程数据为9~12位,转换12位温度时间为750ms (最大)。

用户可设定报警上下限温度。

报警搜索命令可识别和寻址哪个器件的温度超出预定值。

DS18B20的分辨率可由用户通过EEPROM 设置为9~12位。

DS18B20可将检测到的温度值直接转化成数字量,并通过串行通信的方式与主控制器进行数据通信。

DS18B20的引脚:

DS18B20采用3脚(或8脚)封装,如图3所示。其中,VCC 和GND 是电源和接地引脚,DQ 是数据引脚。从图中看到,DS18B20以串行通信方式与微控制器进行数据通信,读出或写入数据仅需要一根I/O接口线。

3.3DS18B20的内部结构及功能

DS18B20的内部结构如图4所示。主要包括:寄生电源、温度传感器、64位激光ROM 和单总线接口、存放中间数据的暂存器RAM 、用于存储用户设定温度上下限值的TH 和TL 触发器、存储于控制逻辑、8位循环冗余校验码(CRC )发生器等7部分。

温度传感器

DS18B20测量温度时使用特有的温度测量技术,将被测温度转换成数值信号,测量结果存入温度寄存器中。温度和数字量的关系如表1所示。

寄生电源

寄生电源有二极管VD1、VD2、寄生电容C 和电源检测电路组成,如图5所示。电源检测电路用于判定供电方式。DS18B20有两种供电:3.0~5.5V的电源供电方式和寄生电源供电方式(直接从数据线获取电源)。

若采用外部电源给器件供电,外部电源接VCC 引脚通过VD2向器件供电,如图6所示。 寄生电源宫殿式,VCC 端接地,器件从单线总线上获取电源,如图7所示。在I/O线呈低电平时,改由电容C 上的电压继续向电器供电。该寄生电源有两个有点:第一,检测远程温度时无需本地电源;第二,缺少正常电源时也能读RAM 。

3.64位只读存储器ROM

ROM 由64位二进制数字组成,共分为8个字节,字节0的内容是该产品的厂家代号28H ,字节1~6的内容是48位器件序列号,字节7是ROM 前56位的CRC 校验码。由于64位ROM 码具有唯一性,在使用时作为该器件的地址,通过读ROM 命令可以将它读出来。DS18B20内部存储器由ROM 、RAMH 和E ²ROM 组成,如图8所示。

4. 高速暂存器RAM

RAM 是由9个字节的高速暂存器和非易失性电擦写E ²ROM 组成。其中字节0、1存储当前温度,字节2、3存储上线先报警温度TH 、TL 字节4是配置存储器,字节8时RAM 前64位的CRC 校验码。RAM 中E ²ROM 用于存储TH 、TL 配置寄存器的值。数据先写入RAM ,经校验后再传给E ²ROM 。通过DS18B20功能命令对RAM 进行操作。

DS18B20的温度测量范围是-55~+125℃,分辨率的默认值是12位。表2温度存储格式与配

置寄存器控制字的格式。由表2可知,检测温度有两个字节组成,字节1的高5位S 代表符号位,字节0的低4位是小数部分,中间7位是整数部分;字节4是配置寄存器控制字的格式,当R0R1的值为00B 、10B 、11B 时,对应的分辨率位9、10、11、12位,转换时间为93ms 、187ms 、375ms 、750ms 。

当主机发出温度转换命令(44H )时,启动温度转换过程,转换时间最长750ms 。主机通过读暂存器功能命令(BEH ),将温度值读出。通过写暂存器功能命令,改变分辨率的设置。

5. 温度报警信号

DS18B20完成温度转换后,就把测得的温度值与TH 、TL 作比较,若T > TH 或T <TL ,则将该器件内的报警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。一旦某测温点越线,主机利用报警搜索命令,即可识别正在报警的器件,并读出其序号,而不必考虑非报警器件。

6.CRC 发生器

在64位ROM 的最高有效字节中存有循环冗余校验码(CRC )。主机根据ROM 的前56位来计算CRC 值,并和存入DS18B20中的CRC 值作比较,以判断主机收到的ROM 数据是否正确。 CRC 的函数表达式为:CRC=X8+X5+X4+1

此外,DS18B20尚需依上式为暂存器中的数据来产生一个8位CRC 传送给主机,作为数据校检用。

3.4DS18B20命令集

1.ROM 操作指令

ROM 操作指令如表所示。

2.RAM 操作指令

RAM 操作指令如表所示。

3.5DS18B20的的通信协议

数字是温度传感器和模拟传感器最大的区别,是将温度信号直接转化成数字信号,然后通过传信通信的方式输出。因此掌握DS18B20的通信协议是使用该器件的关键。所有的DS18B20器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲时隙;写“0”、读“1”时隙。与DS18B20的通信,是通过操作时隙完成单总线上的数据传输。发送所有的命令和数据时,都是字节的低位在前,高位在后。 复位和应答脉冲时隙

每个通信周期起始于微控制器发出的复位脉冲,其后紧跟DS18B20发出的应答脉冲,如图所示。在写时隙期间,主机向DS18B20器件写入数据,而在读时隙期间,主机读入来自DS18B20的数据。在每一个时隙,总线只能传输一位数据。

写时隙

当主机将单总线DQ 从逻辑高(空闲状态)拉为逻辑低时,即启动一个写时隙。所有的写时隙必须在60~120μs 完成,且在每个循环之间至少需要1μs 的恢复时间。写0和写1时隙如图所示在写0时隙器件,微控制器在整个时隙中将总线拉低;而写1时隙期间,微控制器将总线拉低,然后在时隙起始后15μs 之内释放总线。

读时隙

DS18B20器件仅在主机发出读时隙时,才向主机传输数据。所以在主机发出读数据命令后,必须马上产生读时隙,以便DS18B20能够传输数据。所有读时隙至少需要60μs 。且在两次独立的读时隙期间,至少需要1μs 的恢复时间。每个读时隙都由主机发起,至少拉低总线1μs 。读时隙如图所示,在主机发起读时隙之后,DS18B20器件才开始在总线上发送“0”或“1”。若DS18B20发送“1”,则保持总线为高电平。若发送“0”,则拉低总线当发送0时,DS18B20在该时隙结束后,释放总线,由上拉电阻将总线拉回至空闲高电平状态。DS18B20

发出的数据,在起始时隙之后保持有效时间15μs 。因而主机在读时隙期间,必须释放总线。并且在时隙起始后的15μs 之内采样总线状态。

3.6DS18B20的编程

设置合适的时隙,是保证传感器工作的前提条件。下面是时钟频率=12MHz,DS18B20的复位、读一个字节和写一个字节的程序:

1.DS18B20的复位程序

DQ EQU P1.0

RST: NOP

L0: CLR DQ

MOV R2,#160

L1: NOP

DJNZ R2,L1

SETB DQ

MOV R2,#20

L4: DJNZ R2,L4

CLR C

ORL C,DQ

JC L3

MOV R6,#30

L5: ORL C,DQ

JC L3

DJNZ R6,L5

SJMP L0

L3: MOV R2,#120

L2: DJNZ R2,L2

RET

2. 读一个字节子程序;读入数据在A 累加器中

READ: MOV R6,#8

RE1: CLR DQ

MOV R4,#4

NOP

SETB DQ

RE2: DJNZ R4,RE2

MOV C,DQ

RRC A

MOV R5,#20

RE3: DJNZ R5,RE3

DJNZ R6,RE1

MOV 3DH,A

SETB DQ

RET

3. 写一个字节子程序;要写入DS18B20的数据在A 累加器中

WR: MOV R3,#8

WR1: SETB DQ

RRC A

CLR DQ

WR2: DJNZ R4,WR3

MOV DQ,C

MOV R4,#20

WR3: DJNZ R4,WR3

DJNZ R3,WR1

SETB DQ

RET

延时1000ms 子程序

YS1000: MOV 50H,#08H

YS125: MOV 51H,#0FAH

YS5: MOV 52H,#0FAH

YS1: DJNZ 52H,YS1

DJNZ 51H,YS5

DJNZ 50H,YS125

RET

四程序设计

数字式温度计的应用程序由主程序、LED 显示子程序、键盘输入程序和温度检测程序组成。其中,LED 显示子程序、键盘输入程序可以参考电子时钟系统的程序,稍加修改即可使用。下面主要介绍温度检测程序和主程序的设计。

4.1系统存储空间的分配

本系统在运行中所需存储容量不是很大,所以不再扩展外部数据存储器,只用内部的RAM 即可。其中,00H~1FH作为通用寄存器使用,20H~2FH作为位标志使用,60H~7FH作为堆栈区使用,30H~3FH作为系统运行时的存储单元使用,40H~4FH作为系统的显示缓冲区。

4.2主程序设计

系统的主程序主要用来初始化一些系统参数,对DS18B20的配置数据进行一系列的设定。另外对DS18B20的状态不断的查询,以读取当前的温度值,并对温度符号处理,温度值的BCD 码处理后,将其段码送显示缓冲区,以备定时扫描服务程序处理。

4.3程序设计框图

图是当系统中只有一只温度传感器时,读温度并显示温度的框图。按照设计要求,需要有随时输入上下限温度的功能,当温度高于上限或低于下限时,进行声音报警。这一功能与电子时钟系统中,设置当前时间或者闹钟时间的功能相似,可以参考或模仿其方法,进行相应的程序设计,将这个温度计的程序功能进一步完善。

4.4设计程序

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP T0_SEV

ORG 0030H

T0_SEV: PUSH A :LED动态扫描子程序

PUSH PSW

CLR TRO

SETB RS0

CLR ET0

MOV R2,#04H

MOV R0,#40H

MOV R1,#44H

GO_ON: MOV A,@R1

ADD A,@R0

MOV P1,A

LCALL DELAY_1MS

FLASH: INC R0

INC R1

DJNZ R2,GO_ON

MOV P1,#0F0H

POP PSW

POP A

RET;

DELAY_1MS: MOV R3,#02H

AgAIN: MOV R4,#0F8H

DELAY: DJNZ R4,DELAY

DJNZ R3,AGAIN

RET

RESET: NOP

L0: CLR P3.7

MOV R2,#200

L1: NOP

DJNZ R2,L1

SETB P3.7

MOV R2,#30

L4: DJNZ R2,L4

CLR C

ORL C,P3.7

JC L3

MOV R6,#80

L5: ORL C,P3.7

JC L3

DJNZ R6,L5

RET

WRITE: MOV R3,#8

WR1: SETB P3.7

MOV R4,#8

RRC A

CLR P3.7

WR2: DJNZ R4,WR2 ;复位DS18B20 ; 写一个字节子程序

MOV P3.7,C

MOV R4,#20

WR3: DJNZ R4,WR3

DJNZ R3,WR1

SETB P3.7

RET

READ: MOV R6,#8 ; 读一个字节子程序 RE1: CLR P3.7

MOV R4,#6

NOP

SETB P3.7

RE2: DJNZ R4,RE2

MOV C,P3.7

RRC A

MOV R5,#30

RE3: DJNZ R5,RE3

DJNZ R6,RE1

MOV 3DH,A

SETB P3.7

RET

DEL1000:MOV 50H,#08H

DEL100: MOV 51H,#0FAH

DEL10: MOV 52H,#0FA

DEL1: DJNZ 52H,DEL1

DJNZ 51H,DEL10

DJNZ 50H,DEL1000

RET

MAIN: MOV SP ,#60H

MOV 30H,#29H

MOV 31H,#00H

CLR RS1

CLR RS0

MOV 44H,#80H

MOV 45H,#90H

MOV 46H,#0a0H

MOV 47H,#0b0H

RDTMP:CLR RS0

CLR RS1

LCALL RESET

MOV A,#0CCH

LCALL WRITE

MOV A,#44H

LCALL WRITE

MOV R7,#0FFH ; 延时1000ms 子程序 ; 主程序 ;读温度 ;调用复位子程序 ;写跳过 ROM 命令 ;启动温度转换 ;调用一个字节子程序

LL: LCALL T0_SEV ;调用动态显示子程序 DJNZ R7,LL

LCALL RESET

MOV A,#0CCH

LCALL WRITE

MOV A,#0BEH ;发读存储器命令 LCALL WRITE

LCALL READ ;读温度

MOV A,3DH

MOV 32H,A

LCALL READ

MOV A,3DH

MOV 33H,A

MOV 20H,A

ANL 33H,#0FH

ANL 32H,#0F0H

CLR A

ADD A,32H

ADD A,33H

SWAP A

NO_ZERO: MOV 43H,#00H

AA: MOV B,#10

DIV AB

ANL A,#0FH

ANL B,#0FH

MOV 40H,A

MOV 41H,B

CLR A

W50: JNB 03H,W25

ADD A,#25H

W25: JNB 02H,W13

ADD A,#13H

W06: JNB 00H,ZA

ADD A,#06H

DA A

ZA: MOV B,A

ANL A,#0FH

MOV 43H,A

MOV A,B

ANL A,#0F0H

SWAP A

MOV 42H,A

CC: LCALL T0_SEV

LJMP RDTMP ;温度存储在32H 、33H 单元 ;将温度值转换成BCD 码 ;对温度值的小数进行数据处理;调用动态显示子程序 ;循环

ZZ: END

数字式温度计的设计

摘要

随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测与显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感原件。热敏电阻的成本低,需要外加信号处理电路,而且可靠性相对较差,测温准确度低,监测系统也有一定的误差。与传统的温度计相比,这次设计的是基于DS18B20的数字温度计。它具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。

在本设计中选用AT89C 系列单片机为核心器件,采用DS18B20数字传感器为测温元件,通过3位LED 数码管显示并进行传送数据,实现温度显示。本设计的内容主要分为两部分,一是对系统硬件部分的设计,包括温度采集电路和显示电路;二是对系统软件部分的设计,对温度的采集与实现进行编程,通过DS18B20直接读取被测温度值,送入单片机进行数据处理,之后进行输出显示,最终完成了数字温度计的总体设计。其系统构成简单,信号采集效果好,数据处理速度快,便于实际检测使用。

关键词:单片机AT89C2051;温度传感器DS18B20;LED 数码管;数字温度计

Digital Thermometer Design

Summary

With the rapid development of modern information technology and traditional industrial transformation gradually realize, able to work independently temperature detection and display system applied to many fields. The traditional temperature testing to thermistors for temperature sensitive parts. Fortement low cost, require additional signal processing circuits are relatively poor, and reliability, low temperature measurement accuracy, monitoring system also has the certain error. Compared with the traditional thermometer, this design is based on digital thermometer. The chip DS18B20 It has readings convenient, measuring temperature range, temperature measurement precision, the digital display characteristics, wide application scope. In this design chooses AT89C2051 series microcontroller as the core component, using DS18B20 digital sensors for temperature measuring element, through three LED digital pipe display and transmit data, realize temperature display. The main content of this design can be divided into two parts, one is the design of system hardware parts, including the temperature acquisition circuit and display circuit; 2 it is the design of system software part of the collection of temperature, and implement programming, through DS18B20 directly read temperature being measured data processing, into SCM, output shown after, eventually completed the overall design of digital thermometer. The system structure is simple, signal acquisition effect is good, data processing speed, facilitate practical detection using.

Keywords: SCM AT89C2051; Temperature sensor DS18B20; LED digital tube; Digital thermometer 目录

摘要„„„„„„„„„„„„„„„„„„„„„„„„„1

一绪论„„„„„„„„„„„„„„„„„„„„„„„„„3

1.1国内外测温状况

1.2温度检测技术介绍

1.3课题研究主要内容

二设计方案

2.1设计要求

2.2设计思路

三系统设计

系统硬件设计。

3.1硬件电路设计框图与器件选择

3.2DS18B20及其引脚

3.3DS18B20的内部结构及功能

3.4DS18B20命令集

3.5DS18B20的的通信协议

3.6DS18B20的编程

四程序设计

4.1系统存储空间的分配

4.2主程序设计

4.3程序设计框图

4.4设计程序

五总结与体会

六致谢

七参考文献

绪论

“工欲善其事,必先利其器”,这是中国的一句古话,人们早就知道工具的重要性。随着以知识经济为特征的信息时代的到来,人们对仪器仪表作用的认识愈加深入。作为工业自动化技术工具的自动化仪表与控制装置,在高新技术的推动下,正跨入真正的数字化、智能化、网络化的时代。而温度作为一个重要的物理量,是工业生产过程中最普遍、最重要的工艺参数之一。随着工业的不断发展,对温度测量的要求越来越高,而且测量的范围也越来越广,对温度的检测技术的要求也越来越高。因此温度测量与温度测量技术的研究也是一个重要的研究课题。

1.1国内外测温情况

随着国内外工艺的日益发展,温度检测技术也不断的进步,目前的温度检测使用的温度计种类繁多、应用范围也较广泛,大致包括一些几种方法:

利用物体热胀冷缩原理制成的温度计,包括玻璃温度计、双金属温度计、压力温度计等;

(2)利用热电效应技术制成的温度检测元件

利用此项技术制成的温度检测元件主要是热电偶。热电偶发展较早,比较成熟,至今仍未应用最广泛的检测元件。热电偶具有结构简单、制作方便、测量范围宽、精度高、热惯性小等特点。常用热电偶镍铬-镍硅、镍铬-康铜、铂铑-铂、铂锗30-铂锗6等;

(3)利用热阻效应制成的温度计

可分为电阻测温元件、导体测温元件、陶瓷热敏测温元件;

(4)利用热幅原理制成的高温计

辐射测温在近年相对其他的测温领域显得活跃些,热辐射高温计通常分为两种:一种是单色辐射高温计,一般称为光学高温计;另一种是全辐射高温计,它的原理是物体受热辐射后,视物体本身的性质,能将其吸收、透过或反射,。而受热物体放出的辐射能的多少,与他的温度有一定的关系。热辐射式高温计就是根据这种热辐射原理制成的。

(5)利用声学原理进行温度测量

声学法温度检测技术是近年来发展起来的一项新技术,利用该技术,可以对炉内的烟气温度测量值和火焰分布进行检测,判断炉的燃烧状况,进行实时调节和控制。声学温度检测技术的基本原理是通过测量声波传感器之间的声波传播时间以最小二乘原理重建温度的测量方

法。

1.2温度检测技术介绍

近年来,在温度检测技术领域,多种新的检测原理与技术的开发应用,已取得了重大进展。新一代的温度检测元件正在不断地出现和完善化。

(1)晶体管温度检测元件

半导体温度检测元件是具有代表性的温度检测元件。半导体的电阻温度系数比金属打1-2个数量级,二极管和三极管的PN 结电压、电容对温度灵敏度很高。基于上述测温原理已研制了各种温度检测元件。

(2)集成电路温度检测元件

利用硅结晶管基极——发射极间电压与温度关系(即半导体PN 结的温度特性)进行温度检测,并把测温、激励、信号处理电路和放大电路集成一体,封装于小型管壳内,即构成了集成电路温度检测元件。目前,国内外业进行了生产。

(3)磁核共振温度检测器

所为磁核共振现象是指具有核自旋的物质置于静磁场中时,当于静磁场垂直方向加以电磁波,会发生对某频率电磁的吸收现象。利用共振吸收频率随温度上升而减少的原理研制成的温度检测器,成为核磁共振温度检测器。这种检测器精度极高,可以测量出千分之一开尔文,而且输出的频率信号是用于数字化运算处理,故是一种性能十分良好的温度检测器。在常温下,可做理想的标准温度计之用。

(4)热噪声温度检测器

他的原理是利用热电阻元件产生的噪声电压与温度的相关性,

其特点是:

1. 输出噪声电压大小与温度是正比例关系;

2. 不受压力影响;

3. 感温元件的阻值几乎不影响测量精确度。

所以它是可以直接读出绝对温度值而不受材料和条件限制的温度检测器。

(5)石英晶体温度检测器

它采用LC 或Y 型切割的石英晶片的共振频率随温度的变化来制作的。它利用P 技术,自动补偿石英晶片的非线性,测量精度较高,一般可检测到0.001℃,所以可做标准检测之用。

(6)激光温度检测器

激光测温特别适用于远程测量和特殊环境下的温度测量,用氦氖激光源的激

光作反射计可测得很高的温度,精度达1%;用激光干涉和反射原理制作的温度检测器可测得更高温度,上限可达3000℃,专门用于核聚变研究,但在工业上应用还需进一步开发和实验。

(7)微波温度检测器

采用微波测温可以达到快速测量高温的目的。它是利用在不同的温度下,温度与控制电压呈线性关系的原理制成的。这种检测器的灵敏度为250kHZ/℃,精度为1%左右,检测范围为20℃-1400℃。

(8)纯贵金属热电偶的研究

由两种纯金属组成的热电偶,因其材料均匀性远优于合金材料,因而稳定性好得多。在铂铑合金热电阻(S ,R 型)的不确定度已很难提高之后,人们开始寻找由纯贵金属组成的热电偶,以代替S 和R 型热电偶,作为传递的标准。

(9)信息技术时代自动化系统中的温度检测仪表

现代的工业进程自动化系统是现场总线控制系统,它是信息技术进入工业自动化后出现的新一大自动控制系统。现场总线是安装在制造或过程区域的现场装置与控制室内的自动化装置

之间的数字式、串行、多点通信的数据总线。所有的现场仪表(温度检测仪表是其中一种)均接到现场总线上。在这样的系统中,通常不应使用各种不同输出的温度计,必须将输出转变成统一的电信号,这样的“温度计”就变成了“温度变送器”。在现场总线控制系统中的温度变送器主要是有热电偶和热电阻变送器,也有辐射温度变送器。

1.3课题研究的主要内容

温度传感器是当前温度检测的主要器件,本课题的主要出发点式设计出测量温度检测的温度连续监测的仪器。

本文主要讲述了用温度传感测温的主要远离、实际硬件电路的设计、软件设计和调试分析。 2 设计方案

2.1设计要求

(1)以MCS-51系列单片机为核心器件,组成一个数字式温度计。

(2)采用数字是温度传感器为检测器件,进行单点温度检测,检测精度为±0.5℃。

(3)温度显示采用3为LED 数码管显示,两位整数,一个小数。

(4)具有键盘上下输入上下限功能,超过上下限温度时,进行声音报警。

2.2设计思路

(1)根据设计要求,选择AT89C2051单片机为核心器件。

(2)温度检测器件采用DS18B20数字式温度传感器。与单片机的接口为P3.7引脚。

(3)键盘采用独立式按键,由3个按键组成,分别为:设置键(SET )、加一键(+1)、确认键(RET )。

※ SET 键(上下限温度设置键):当该键按下时,进入上下限温度设置功能。

※ +1键(加一调整键):在输入上下限温度时,该键按下一次,被调整位加一。 ※ RET 键(确认键):当该键按下时,指向下一个要调整的位。

按键的接入方式

SER 键:通过P3口INT0引脚接入,中断工作方式。

+1键:通过P3口P3.0引脚接入,查询工作方式。

RET 键:通过P3口P3.1引脚接入,查询工作方式。

(4)声音警报翁鸣器通过P1.7引脚接入。

三系统设计

3.1硬件电路设计框图

根据设计要求与设计思路,硬件电路设计框图如图1所示。

AT89C 系列与MCS-51系列单片机相比有两大优势:第一,片内程序存储器采用闪速存储器,是程序的写入更加方便;第二,提供了更小尺寸的芯片,是整个硬件电路的体积更小。 89C2051芯片采用DIP-20封装,引脚配置如图1所示,与8051进行对比后可发现,AT89C2051减少了两个对外端口(即P0、P2口),因而芯片尺寸有所减少。

AT89C2051

LED 数码管的位驱动电路是由三个ONO 型晶体管VT2、VT3、VT4和6个电阻组成,基极与单片机的P1.4、P1.5、P1.6连接。其工作原理是,当某个晶体管的基极为低电平时,该晶体管道通,对应位的LED 被点亮,反之则不亮。二是加入了一直温度传感器DS18B20进行温度检测,DS18B20的数据I/O端与单片机的P3.7引脚连接。硬件电路原理图如图2所示。

3.2DS18B20及其引脚

DS18B20是美国DALLAS 公司生产地单总线数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易于与微处理器接口等优点,适合于各种温度测控系统。

该器件将半导体温敏器件、A/D转换器、存储器等做在一个很好的集成电路芯片上,传感器直接输出的就是温度数字信号值。信号传输采用两芯(或三芯)电缆构成的单总线结构。一

条单总线上可以挂接若干个数字温度传感器,每个传感器有一个唯一的地址编码。微控制器通过对器件的寻址,就可以读取某一个传感器上的温度值,从而简化了信号采集系统的电路结构。DS18B20功能特点是:

采用单总线技术,与单片机通信只要一根I/O线,在一根线上挂接多DS18B20。

每只DS18B20只有一个独有的、不可修改的64位序列号,根据序列号访问对应的器件。 低压供电,电源范围从3~5V,可以本地供电,也可以直接从数据线上窃取电源(寄生式供电)。

测量范围为-55℃~+125℃,在-10℃~85℃范围内误差为±0.5℃。

可编程数据为9~12位,转换12位温度时间为750ms (最大)。

用户可设定报警上下限温度。

报警搜索命令可识别和寻址哪个器件的温度超出预定值。

DS18B20的分辨率可由用户通过EEPROM 设置为9~12位。

DS18B20可将检测到的温度值直接转化成数字量,并通过串行通信的方式与主控制器进行数据通信。

DS18B20的引脚:

DS18B20采用3脚(或8脚)封装,如图3所示。其中,VCC 和GND 是电源和接地引脚,DQ 是数据引脚。从图中看到,DS18B20以串行通信方式与微控制器进行数据通信,读出或写入数据仅需要一根I/O接口线。

3.3DS18B20的内部结构及功能

DS18B20的内部结构如图4所示。主要包括:寄生电源、温度传感器、64位激光ROM 和单总线接口、存放中间数据的暂存器RAM 、用于存储用户设定温度上下限值的TH 和TL 触发器、存储于控制逻辑、8位循环冗余校验码(CRC )发生器等7部分。

温度传感器

DS18B20测量温度时使用特有的温度测量技术,将被测温度转换成数值信号,测量结果存入温度寄存器中。温度和数字量的关系如表1所示。

寄生电源

寄生电源有二极管VD1、VD2、寄生电容C 和电源检测电路组成,如图5所示。电源检测电路用于判定供电方式。DS18B20有两种供电:3.0~5.5V的电源供电方式和寄生电源供电方式(直接从数据线获取电源)。

若采用外部电源给器件供电,外部电源接VCC 引脚通过VD2向器件供电,如图6所示。 寄生电源宫殿式,VCC 端接地,器件从单线总线上获取电源,如图7所示。在I/O线呈低电平时,改由电容C 上的电压继续向电器供电。该寄生电源有两个有点:第一,检测远程温度时无需本地电源;第二,缺少正常电源时也能读RAM 。

3.64位只读存储器ROM

ROM 由64位二进制数字组成,共分为8个字节,字节0的内容是该产品的厂家代号28H ,字节1~6的内容是48位器件序列号,字节7是ROM 前56位的CRC 校验码。由于64位ROM 码具有唯一性,在使用时作为该器件的地址,通过读ROM 命令可以将它读出来。DS18B20内部存储器由ROM 、RAMH 和E ²ROM 组成,如图8所示。

4. 高速暂存器RAM

RAM 是由9个字节的高速暂存器和非易失性电擦写E ²ROM 组成。其中字节0、1存储当前温度,字节2、3存储上线先报警温度TH 、TL 字节4是配置存储器,字节8时RAM 前64位的CRC 校验码。RAM 中E ²ROM 用于存储TH 、TL 配置寄存器的值。数据先写入RAM ,经校验后再传给E ²ROM 。通过DS18B20功能命令对RAM 进行操作。

DS18B20的温度测量范围是-55~+125℃,分辨率的默认值是12位。表2温度存储格式与配

置寄存器控制字的格式。由表2可知,检测温度有两个字节组成,字节1的高5位S 代表符号位,字节0的低4位是小数部分,中间7位是整数部分;字节4是配置寄存器控制字的格式,当R0R1的值为00B 、10B 、11B 时,对应的分辨率位9、10、11、12位,转换时间为93ms 、187ms 、375ms 、750ms 。

当主机发出温度转换命令(44H )时,启动温度转换过程,转换时间最长750ms 。主机通过读暂存器功能命令(BEH ),将温度值读出。通过写暂存器功能命令,改变分辨率的设置。

5. 温度报警信号

DS18B20完成温度转换后,就把测得的温度值与TH 、TL 作比较,若T > TH 或T <TL ,则将该器件内的报警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。一旦某测温点越线,主机利用报警搜索命令,即可识别正在报警的器件,并读出其序号,而不必考虑非报警器件。

6.CRC 发生器

在64位ROM 的最高有效字节中存有循环冗余校验码(CRC )。主机根据ROM 的前56位来计算CRC 值,并和存入DS18B20中的CRC 值作比较,以判断主机收到的ROM 数据是否正确。 CRC 的函数表达式为:CRC=X8+X5+X4+1

此外,DS18B20尚需依上式为暂存器中的数据来产生一个8位CRC 传送给主机,作为数据校检用。

3.4DS18B20命令集

1.ROM 操作指令

ROM 操作指令如表所示。

2.RAM 操作指令

RAM 操作指令如表所示。

3.5DS18B20的的通信协议

数字是温度传感器和模拟传感器最大的区别,是将温度信号直接转化成数字信号,然后通过传信通信的方式输出。因此掌握DS18B20的通信协议是使用该器件的关键。所有的DS18B20器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲时隙;写“0”、读“1”时隙。与DS18B20的通信,是通过操作时隙完成单总线上的数据传输。发送所有的命令和数据时,都是字节的低位在前,高位在后。 复位和应答脉冲时隙

每个通信周期起始于微控制器发出的复位脉冲,其后紧跟DS18B20发出的应答脉冲,如图所示。在写时隙期间,主机向DS18B20器件写入数据,而在读时隙期间,主机读入来自DS18B20的数据。在每一个时隙,总线只能传输一位数据。

写时隙

当主机将单总线DQ 从逻辑高(空闲状态)拉为逻辑低时,即启动一个写时隙。所有的写时隙必须在60~120μs 完成,且在每个循环之间至少需要1μs 的恢复时间。写0和写1时隙如图所示在写0时隙器件,微控制器在整个时隙中将总线拉低;而写1时隙期间,微控制器将总线拉低,然后在时隙起始后15μs 之内释放总线。

读时隙

DS18B20器件仅在主机发出读时隙时,才向主机传输数据。所以在主机发出读数据命令后,必须马上产生读时隙,以便DS18B20能够传输数据。所有读时隙至少需要60μs 。且在两次独立的读时隙期间,至少需要1μs 的恢复时间。每个读时隙都由主机发起,至少拉低总线1μs 。读时隙如图所示,在主机发起读时隙之后,DS18B20器件才开始在总线上发送“0”或“1”。若DS18B20发送“1”,则保持总线为高电平。若发送“0”,则拉低总线当发送0时,DS18B20在该时隙结束后,释放总线,由上拉电阻将总线拉回至空闲高电平状态。DS18B20

发出的数据,在起始时隙之后保持有效时间15μs 。因而主机在读时隙期间,必须释放总线。并且在时隙起始后的15μs 之内采样总线状态。

3.6DS18B20的编程

设置合适的时隙,是保证传感器工作的前提条件。下面是时钟频率=12MHz,DS18B20的复位、读一个字节和写一个字节的程序:

1.DS18B20的复位程序

DQ EQU P1.0

RST: NOP

L0: CLR DQ

MOV R2,#160

L1: NOP

DJNZ R2,L1

SETB DQ

MOV R2,#20

L4: DJNZ R2,L4

CLR C

ORL C,DQ

JC L3

MOV R6,#30

L5: ORL C,DQ

JC L3

DJNZ R6,L5

SJMP L0

L3: MOV R2,#120

L2: DJNZ R2,L2

RET

2. 读一个字节子程序;读入数据在A 累加器中

READ: MOV R6,#8

RE1: CLR DQ

MOV R4,#4

NOP

SETB DQ

RE2: DJNZ R4,RE2

MOV C,DQ

RRC A

MOV R5,#20

RE3: DJNZ R5,RE3

DJNZ R6,RE1

MOV 3DH,A

SETB DQ

RET

3. 写一个字节子程序;要写入DS18B20的数据在A 累加器中

WR: MOV R3,#8

WR1: SETB DQ

RRC A

CLR DQ

WR2: DJNZ R4,WR3

MOV DQ,C

MOV R4,#20

WR3: DJNZ R4,WR3

DJNZ R3,WR1

SETB DQ

RET

延时1000ms 子程序

YS1000: MOV 50H,#08H

YS125: MOV 51H,#0FAH

YS5: MOV 52H,#0FAH

YS1: DJNZ 52H,YS1

DJNZ 51H,YS5

DJNZ 50H,YS125

RET

四程序设计

数字式温度计的应用程序由主程序、LED 显示子程序、键盘输入程序和温度检测程序组成。其中,LED 显示子程序、键盘输入程序可以参考电子时钟系统的程序,稍加修改即可使用。下面主要介绍温度检测程序和主程序的设计。

4.1系统存储空间的分配

本系统在运行中所需存储容量不是很大,所以不再扩展外部数据存储器,只用内部的RAM 即可。其中,00H~1FH作为通用寄存器使用,20H~2FH作为位标志使用,60H~7FH作为堆栈区使用,30H~3FH作为系统运行时的存储单元使用,40H~4FH作为系统的显示缓冲区。

4.2主程序设计

系统的主程序主要用来初始化一些系统参数,对DS18B20的配置数据进行一系列的设定。另外对DS18B20的状态不断的查询,以读取当前的温度值,并对温度符号处理,温度值的BCD 码处理后,将其段码送显示缓冲区,以备定时扫描服务程序处理。

4.3程序设计框图

图是当系统中只有一只温度传感器时,读温度并显示温度的框图。按照设计要求,需要有随时输入上下限温度的功能,当温度高于上限或低于下限时,进行声音报警。这一功能与电子时钟系统中,设置当前时间或者闹钟时间的功能相似,可以参考或模仿其方法,进行相应的程序设计,将这个温度计的程序功能进一步完善。

4.4设计程序

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP T0_SEV

ORG 0030H

T0_SEV: PUSH A :LED动态扫描子程序

PUSH PSW

CLR TRO

SETB RS0

CLR ET0

MOV R2,#04H

MOV R0,#40H

MOV R1,#44H

GO_ON: MOV A,@R1

ADD A,@R0

MOV P1,A

LCALL DELAY_1MS

FLASH: INC R0

INC R1

DJNZ R2,GO_ON

MOV P1,#0F0H

POP PSW

POP A

RET;

DELAY_1MS: MOV R3,#02H

AgAIN: MOV R4,#0F8H

DELAY: DJNZ R4,DELAY

DJNZ R3,AGAIN

RET

RESET: NOP

L0: CLR P3.7

MOV R2,#200

L1: NOP

DJNZ R2,L1

SETB P3.7

MOV R2,#30

L4: DJNZ R2,L4

CLR C

ORL C,P3.7

JC L3

MOV R6,#80

L5: ORL C,P3.7

JC L3

DJNZ R6,L5

RET

WRITE: MOV R3,#8

WR1: SETB P3.7

MOV R4,#8

RRC A

CLR P3.7

WR2: DJNZ R4,WR2 ;复位DS18B20 ; 写一个字节子程序

MOV P3.7,C

MOV R4,#20

WR3: DJNZ R4,WR3

DJNZ R3,WR1

SETB P3.7

RET

READ: MOV R6,#8 ; 读一个字节子程序 RE1: CLR P3.7

MOV R4,#6

NOP

SETB P3.7

RE2: DJNZ R4,RE2

MOV C,P3.7

RRC A

MOV R5,#30

RE3: DJNZ R5,RE3

DJNZ R6,RE1

MOV 3DH,A

SETB P3.7

RET

DEL1000:MOV 50H,#08H

DEL100: MOV 51H,#0FAH

DEL10: MOV 52H,#0FA

DEL1: DJNZ 52H,DEL1

DJNZ 51H,DEL10

DJNZ 50H,DEL1000

RET

MAIN: MOV SP ,#60H

MOV 30H,#29H

MOV 31H,#00H

CLR RS1

CLR RS0

MOV 44H,#80H

MOV 45H,#90H

MOV 46H,#0a0H

MOV 47H,#0b0H

RDTMP:CLR RS0

CLR RS1

LCALL RESET

MOV A,#0CCH

LCALL WRITE

MOV A,#44H

LCALL WRITE

MOV R7,#0FFH ; 延时1000ms 子程序 ; 主程序 ;读温度 ;调用复位子程序 ;写跳过 ROM 命令 ;启动温度转换 ;调用一个字节子程序

LL: LCALL T0_SEV ;调用动态显示子程序 DJNZ R7,LL

LCALL RESET

MOV A,#0CCH

LCALL WRITE

MOV A,#0BEH ;发读存储器命令 LCALL WRITE

LCALL READ ;读温度

MOV A,3DH

MOV 32H,A

LCALL READ

MOV A,3DH

MOV 33H,A

MOV 20H,A

ANL 33H,#0FH

ANL 32H,#0F0H

CLR A

ADD A,32H

ADD A,33H

SWAP A

NO_ZERO: MOV 43H,#00H

AA: MOV B,#10

DIV AB

ANL A,#0FH

ANL B,#0FH

MOV 40H,A

MOV 41H,B

CLR A

W50: JNB 03H,W25

ADD A,#25H

W25: JNB 02H,W13

ADD A,#13H

W06: JNB 00H,ZA

ADD A,#06H

DA A

ZA: MOV B,A

ANL A,#0FH

MOV 43H,A

MOV A,B

ANL A,#0F0H

SWAP A

MOV 42H,A

CC: LCALL T0_SEV

LJMP RDTMP ;温度存储在32H 、33H 单元 ;将温度值转换成BCD 码 ;对温度值的小数进行数据处理;调用动态显示子程序 ;循环

ZZ: END


相关内容

  • 单片机毕业设计题目
  • 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MSC1211的温度智能温度传感器 9. 机器视觉系统 ...

  • 自动化毕业设计论文题目
  • 自 动 化 毕 业 设 计 论 文 题 目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MSC12 ...

  • 通信工程毕业设计题目精选
  • 不管怎样,生活还是要继续向前走去.有的时候伤害和失败不见得是一件坏事,它会让你变得更好,孤单和失落亦是如此.每件事到最后一定会变成一件好事,只要你能够走到最后. 通信工程毕业设计题目精选 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激 ...

  • 电气自动化设计论文题目大全
  • 机电一体化 毕 业 设 计 论 文 题 目 第1-100个电气自动化毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数 ...

  • 电气自动化毕业设计论文题目
  • 电 气 自 动 化 毕 业 设 计 论 文 题 目 第1-100个电气自动化毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机 ...

  • PLC毕业设计论文题目
  • P L C 第1-100个PLC毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. 基于MS ...

  • 智能仪器课程设计报告
  • 智能仪器课程设计报告 设计题目: 数字温度计显示设计 专业班级: 2011级电子1班 姓 名: 徐睿昀 学 号: [1**********]8 指导教师: 刘宝成 完成日期:2014年10月10日 数字温度计显示设计 摘要:随着现代化信息技术的飞速发展,单片机技术已经十分普及,在实时检测和自动控制的 ...

  • 简易数字温度计的设计
  • 赣南师院 物理与电子信息学院 数字电路课程设计报告书 姓名: 班级: 时间: 2011 年 6 月10 日 数字温度计的设计 一. 总体方案的选择 1. 拟定系统方案框图 (1) 方案一: 本方案采用AD590单片集成两段式敢问电流源温度传感器对温度进行采集,采集的电压经过放大电路将信号放大,然后经 ...

  • [数字式温度计的设计]毕业设计[1]
  • 摘 要 随着人们生活水平的不断提高, 单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作.科研.生活.提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展. 本设计所介绍的 ...