




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于AT89C51的数字温度计设计与仿真摘 要随着科学技术的不断发展,温度的检测、控制应用于许多行业,数字温度计就是其中一例,它的反应速度快、操作简单,对环境要求不高,因此得到广泛的应用。传统的温度测量大多使用热敏电阻,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路将模拟信号转换成数字信号才能由单片机进行处理。本课题采用单片机作为主控芯片,利用DS18B20来实现测温,用LCD液晶显示器来实现温度显示。温度测量范围为0119,精确度0.1。可以手动设置温度上下限报警值,当温度超出所设报警值时将发出报警鸣叫声,并显示温度值,该温度计适用于人们的日常生活和工、农业生产领域。关键
2、词:数字温度计;DS18B20;AT89C51;LCD1602Digital Thermometers Design and Simulation Based on AT89C51Deng Lian Wei(Zhangjiajie College of Jishou University,Zhangjiajie,Hunan 427000)AbstractWith the continuous development of science and technology, the temperature detection and control used in many industries,
3、the digital thermometer is a case in which the reaction speed, simple operation, less demanding on the environment, it is widely used.Most of the traditional use of thermistor temperature measurement, but poor reliability of thermistors to measure temperature, low accuracy, and must go through a spe
4、cial interface circuit converts the analog signal to digital signal processing by the microcontroller. The subject of using SCM as the main chip, the use of DS18B20 to achieve temperature, with the LCD liquid crystal display to achieve the temperature display.Temperature measurement range is 0 119 ,
5、 accuracy of 0.1 . You can manually set the alarm value upper and lower temperature, when the temperature exceeds the set alarm when the alarm calls, and display temperature, the thermometer for people's daily lives and industrial and agricultural production areas.Keywords: Digital Thermometer;
6、DS18B20; AT89C51; LCD1602目 录第一章 绪 论11.1 前言11.2 课题的目的及意义11.3 该论文研究的内容1第二章 设计方案22.1 方案1:使用电阻元件22.2 方案2:使用温度传感器22.3 方案2的总体设计框图22.3.1 温度传感器22.3.2 1602LCD显示模块6第三章 硬件电路设计103.1 电路原理图103.2 LCD1602显示器与单片机的接口电路103.2.1 查看温度报警值113.2.2 报警状态显示113.3 DS18B20温度传感器与单片机的接口电路113.3.1 检测DS18B20状态123.4 按键与单片机的接口电路123.4.1
7、设定温度报警值13第四章 软件设计144.1 读出温度子程序154.2 温度转换子程序154.3 计算温度子程序164.4 显示数据刷新子程序164.5 电路仿真174.6 结果分析20总 结21参考文献22附 件23第一章 绪 论1.1 前言 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它给人们带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求也越来越高,要为现代人工作、科研、生活提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。单片机技术已经普及到我们生活,工作,科研等各个领域,已经成为一种非常成熟的技术。1
8、.2 课题的目的及意义数字温度计与传统温度计相比,具有结构简单、可靠性高、成本低、测量范围广、体积小、功耗低、显示直观等特点。该设计使用AT89C51,DS18B20以及通用液晶显示屏1602LCD等。通过本次设计能够更加了解数字温度计工作原理和熟悉单片机的发展与应用,巩固所学的知识,为以后工作与学习打下坚实的基础。数字温度计主要运用在工业生产和实验研究中,如电力、化工、机械制造、粮食存储等领域。温度是表征其对象和过程状态的重要参数之一。比如:发电厂锅炉温度必须控制在一定的范围之内,许多化学反应必须在适当的温度下才能进行。没有合适的温度环境,许多电子设备就不能正常工作。因此,温度的测量和控制是
9、非常重要的。1.3 该论文研究的内容通过对目前各种温度传感器的分析与研究,对温度传感器做出合理选择,并根据实际需要选择合适的主芯片和显示器,达到优化整体结构,提高温度检测精度,同时使系统具有测温范围广、体积小、功耗低、精度高、显示直观等优点,并保证系统结构简洁。本课题的研究重点将放在元器件介绍、硬件电路和程序设计这三个方面。通过研究,将设计出一款简洁实用、精确稳定、使用直观的便携式数字温度计。第二章 设计方案2.1 方案1:使用电阻元件由于本设计是测温电路,可以使用热敏电阻之类的器件,利用其感温效应将被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上
10、,可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较复杂,成本高。2.2 方案2:使用数字温度传感器在单片机电路设计中,大多使用数字温度传感器3,本课题中使用一只温度传感器DS18B20,此传感器可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。方案二电路比较实用,软件设计也比较简单,故采用了方案二。2.3 方案2的总体设计框图温度计电路设计总体方框图如图2.1所示,控制器采用单片机AT89C51,温度传感器采用DS18B20,用LCD液晶显示屏以串口传送数据实现温度显示8。图2.1 总体设计框图2.3.1 温度传感器DS18B20温度传感器是美国DALLAS半导体
11、公司最新推出的一种改进型智能温度传感器,是一线式数字式温度计芯片,体积更小、适用电压更宽、更经济。它具有结构简单,不需外接元件等特点。与传统的热敏电阻测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程获得912位的数字值,使系统设计更灵活、方便。1. DS18B20的性能特点如下6l 独特的单线接口仅需要一个端口引脚进行通信;l 多个DS18B20可以并联在惟一的三线上,实现多点组网功能;l 无须外部器件;l 可通过数据线供电,电压范围为3.05.5V;l 零待机功耗;l 温度用9或12位数字;l 用户可定义报警设置;l 报警搜索命令识别并标志超过程序限定温度(温度报警条件)
12、的器件;l 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。2. DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图2.2所示。图2.2 DS18B20外形图引脚定义: (1) DQ为数字信号输入/输出端; (2) GND为电源地; (3) VDD为外接供电电源输入端(在寄生电源接线方式时接地)。其内部结构框图如图2.3所示:图2.3 DS18B20内部
13、结构64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码11,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入用户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EEROM。高速暂存RAM的结构为8字节的存储器,结构如图2.4所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精
14、度的温度数值。该字节各位的定义如图2.4所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。温度 LSB温度 MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRC 图2.4 DS18B20字节定义DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的
15、正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示5。当符号位S0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2.1是一部分温度值对应的二进制温度数据。DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若TTH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索
16、命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。DS18B20的测温原理是这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。减法计数器1对低温度系数晶振产生的
17、脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值达到被测温度值。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据表2.1 一部分温
18、度对应值表温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H 2.3.2 1602LCD模块显示特性4单5V电源电压,低功耗、长寿命、高可靠性内置192种字符(160个5×7点阵字符和32个5×10点阵字符)具有64个字节的自定义字符RAM,可定义8个5
19、15;8点阵字符或四个5×11点阵字符显示方式:STN、半透、正显驱动方式:1/16DUTY,1/5BIAS视角方向:6点背光方式:底部LED通讯方式:4位或8位并口可选标准的接口特性,适配MC51和M6800系列MPU的操作时序1. 1602LCD模块引脚定义图2.5 1602LCD引脚外形图1602LCD采用标准的14脚(无背光)接口,各引脚功能说明如表2.2所示。表2.2 1602LCD引脚定义表管脚定义符号功能1Vss电源地(GND)2Vdd电源电压(5V)3VEELCD驱动电压(可调)4RS寄存器选择输入端,输入MPU选择模块内部寄存器类型号;RS=0,当MPU行进写模块操
20、作,指向指令寄存器;当MPU进行读模块操作,指向地址计数器;RS=1,无论MPU读操作还是写操作,均指向数据寄存器5R/W读写控制输入端,输入MPU选择读/写模块操作操作信号:R/W0 读操作;R/W1 写操作6E使能信号输入端,输入MPU读/写模块操作使能信号:读操作时,高电平有效;写操作时,下降沿有效7DB0数据输入/输出口,MPU与模块之间的数据传送通道8DB1数据输入/输出口,MPU与模块之间的数据传送通道9DB2数据输入/输出口,MPU与模块之间的数据传送通道10DB3数据输入/输出口,MPU与模块之间的数据传送通道11DB4数据输入/输出口,MPU与模块之间的数据传送通道12DB5
21、数据输入/输出口,MPU与模块之间的数据传送通道13DB6数据输入/输出口,MPU与模块之间的数据传送通道14DB7数据输入/输出口,MPU与模块之间的数据传送通道2.1602LCD液晶显示模块的控制命令1602LCD液晶模块内部的控制器共有11条控制命令,如表2.3所示表2.3 控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存
22、贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的(说明:1为高电平、0为低电平)。指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3: 光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:
23、控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。初始化程序:SET_LCD: ;对
24、LCD 做初始化设置及测试 CLR LCD_EN CALL INIT_LCD ;初始化 LCDINIT_LCD: ;8位I/O控制 LCD 接口初始化 MOV A,#38H ;双列显示,字形5*7点阵 CALL WCOM CALL DELAY1DELAY1: ;延时5ms MOV R6,#25DL2: MOV R7,#100 DJNZ R7,$ DJNZ R6,DL2 RETMOV A,#01H ;清除 LCD 显示屏第三章 硬件电路设计3.1 电路原理图本温度计大体分三个工作过程。首先,由DS18B20温度传感器芯片测量当前温度,并将结果送入单片机。然后,通过AT89C51单片机芯片对送入的
25、测量温度读数进行计算和转换,并将此结果送入液晶显示模块。最后,LCD 1602模块将送来的值显示于显示屏上。温度计的整体电路设计原理图如图3.1。从图中可以看到,本电路主要由DS18B20温度传感器芯片、通用LCD 1602 液晶显示模块和AT89C51单片机芯片组成。其中,DS18B20温度传感器芯片采用“一线制”与单片机相连9,它独立地完成温度测量并将结果送到单片机进行处理。本系统测温范围为0119,精度达0.1 。当温度超出所设上下限温度报警值时,系统不但会显示当时温度值,同时也会发出报警鸣叫声告知用户温度异常,并且可以手动设置上下限温度报警值。图3.1 电路原理图3.2 LCD1602
26、显示器与单片机的接口电路由于液晶显示数字温度使用方便、功耗低、显示直观、寿命长且便于实现小型化设计,另外该模块显示字符数量比以前的七段数码管LED(Light Emitting Diode)显示器要多得多。因此选用通用1602LCD显示模块10。图3.2 LCD1602与单片机接口电路3.2.1 查看温度报警值查看所设置的上下报警值。LCD 1602 此时显示:LOOK ALERT CODETH:060.0 TL:09.0 ;显示上下报警值,其中TH:060.0 是高位报警值,TL:09.0 是低位报警值3.2.2 报警状态显示(1) 当实际温度大于 TH 的设定值时,LCD1602 显示:D
27、S18B20 OKTEMP: 70.0 > H关闭继电器,蜂鸣器响,表示超温。(2) 当实际温度小于 TL 的设定值时,LCD1602 显示: DS18B20 OKTEMP: 08.0 < L蜂鸣器响,表示低于所设报警下限温度值。3.3 DS18B20温度传感器与单片机的接口电路本设计中DS18B20温度传感器与单片机接口电路采用外接电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。如图3.3所示。单 片 机DS18B20VDD+5VGND4.7kI/O图3.3 外接电源方式3.3.1 检测DS18B20状态(1) DS18B20正常时则显示: DS18B20
28、 OK TEMP: 25.0 ;显示实际温度(2) DS18B20不正常时则显示:DS18B20 ERROR TEMP: - ;显示这时要检查DS18B20是否连接好、接对,否则要更换一个新的 DS18B20 芯片。3.4 按键与单片机的接口电路此设计通过四个按键来查看温度计的温度变化,此四个按键分别定为K1、K2、K3、K4。如图3.4所示。图3.4 按键接口电路3.4.1 设定温度报警值K1 :进入设定温度报警值状态。LCD 1602 显示:RESET ALERT CODETH:060.0 TL:09.0K1 : 设定值加(UP)、减(DOWN)方式选择键(默认为减少)K2 : TH值设定
29、键K3 : TL值设定键K4 : 确定键 (退出设定状态)K2 或 K3 以减(DOWN)方式设定,当设定数值减到“0”时自动转换为加(UP)方式。K2 或 K3 以加(UP)方式设定,当设定数值 TH=120.0、TL=100.0 时,设定数值均变为“0”。K4:确定并退出设定温度报警值状态。将设定的温度报警值自动存入 DS18B20 的 EEROM 中,可永久保存,每次开机时自动从 DS18B20 的 EEROM 读出温度报警值。第四章 软件设计初始化 DS18B20存在? 显示DS18B20 ERROR 发报警搜索命显示温度 数据处理 读DS18B20 显示DS18B20 OK DS18
30、B20 温度超限? 鸣报警器有键按下吗? 按键处理 N N Y Y Y N 图4.1 主程序流程图本设计使用单片机C语言编写程序,使用Keil C51进行编译 12。主程序的主要功能是负责温度的实时显示、检测鸣警信号和按键信号,主程序流程图如图4.1所示。4.1 读出温度子程序读出温度子程序的主要功能是读出RAM中的字节,其程序流程图如图4.2所示。图4.2 读温度流程图4.2 温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如图4.3所示图4.3 温度转换流程
31、图4.3 计算温度子程序计算温度子程序从RAM中读取值进行BCD码的转换运算,其程序流程图如图4.4所示。图4.4 计算温度流程图4.4 显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图4.5所示。图4.5 显示数据刷新流程图4.5 电路仿真本课题电路运用Proteus进行仿真2,画好电路图,单击Play按钮,进入仿真状态,通过调节K2、K3按钮,出现如图4.6所示仿真图。图4.6 设定上下限温度值图4.7 显示温度在正常范围内图4.8 显示外界温度小于最低温度值图4.9 显示外界温度大于最高温度值4.6
32、结果分析对于图4.6,通过调节K2,K3按钮,可以调节控制温度范围的上下限,上限温度TH可调范围为0.0119.0,下限温度TL可调范围为0.099.0。在此图中,上限温度调为60.0,下限温度调为9.0。对于图4.7,所测温度在控制范围内,即9.0<59.0<60.0时,显示为59.0,蜂鸣器不发出报警声。对于图4.8,当传感器采集外界温度低于所设定温度的下限时,即6.0<9.0时,显示为6.0<L,则蜂鸣器发出报警声。对于图4.9,当传感器采集外界温度高于所设定温度的上限时,即70.0>60.0时,显示为70.0>H,则蜂鸣器发出报警声。总之,仿真结果基
33、本能够符合设计要求。总 结该论文主要介绍了数字温度计的设计过程,主要从元器件开始谈起,介绍了两个主要器件温度传感器DS18B20以及LCD1602显示屏,这两个元器件在生活和工业生产中得到了广泛的应用。然后从硬件和软件两个方面来介绍,硬件电路主要介绍DS18B20与单片机的接口电路,按键接口电路,显示屏LCD1602与单片机的接口电路。软件方面,主要阐述了程序流程图,温度子程序流程图,温度转换命令流程,温度计算子程序流程以及数据刷新子程序流程图。设计的具体功能也在仿真结果中得到现实的体现。通过这次毕业设计也使我对单片机技术有了更进一步的了解,实际操作和课本上的知识有很大的联系,一个看似很简单的
34、电路,要动手做出来就比较困难了,因为是设计让我们在以后的学习中要注意这点,要把课本上所学的知识跟实际联系起来。有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握,同时本次电路的设计巩固了所学知识,增强了学习的兴趣,考验了我们借助图书馆、互联网搜索、查阅相关资料,以及综合能力。从这次的毕业设计中,我真正地意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习更是如此,这就是我在这次毕业设计中的最大收获,为以后从事电子电路设计、研制电子产品方面的工作奠定了一定的基础。在设计过程中,得到了相关老师的大力帮助,尤其得到了向继文老师的精
35、心指导,给予了我无微不至的帮助。学院各位老师的那种诲人不倦,治学严谨的作风给我留下了深刻的印象,在此,对全体老师表示衷心的感谢!向各位老师致以最崇高的敬意!参考文献1 张培仁基于C语言编程MCS-51单片机原理与应用M北京:清华大学出版社,20032 严天峰单片机应用系统设计与仿真调试M北京:北京航空航天大学出版社,20053 明德刚DS18B20在单片机温控系统中的应用J贵州大学学报,2006年(1):1061104 李建忠单片机原理及应用M 陕西:西安电子科技大学出版社,2004.15 阎石数字电子技术基础(第四版)M 北京:高等教育出版社,19976 沙占友智能化集成温度传感器
36、原理与应用 M北京:机械工业出版社,20027 周航慈单片机应用程序设计技术M北京:北京航空航天大学出版社,20018 何立民MCS-51系列单片机应用系统设计M北京:北京航空航天大学出版社,19959 谢自美电子线路综合设计M 武汉:华中科技大学出版社, 200610 李朝青单片机原理及接口技术(简明修订版)M北京:北京航空航天大学出版社,199811 蒋根深,张明亮,解旭辉,李圣怡基于 DS18B20 的数字式温度控制系统M 控制工程,200312 蒋延彪单片机原理及应用M重庆:重庆大学出版社,2005附 件附件1:完整程序清单 TEMP_ZH DATA 24H ;实时温度值存放单元 TE
37、MPL DATA 25H ; TEMPH DATA 26H ; TEMP_TH DATA 27H ;高温报警值存放单元 TEMP_TL DATA 28H ;低温报警值存放单元 TEMPHC DATA 29H ; TEMPLC DATA 2AH K1 EQU P1.4 K2 EQU P1.5 K3 EQU P1.6 K4 EQU P1.7 BEEP EQU P3.7 RELAY EQU P1.3 LCD_X EQU 2FH ;LCD 地址变量 LCD_RS EQU P2.0 LCD_RW EQU P2.1 LCD_EN EQU P2.2 flag1 equ 20H.0 ;DS18B20是否存在标
38、记 KEY_UD EQU 20H.1 ;设定 KEY 的UP与DOWN 标记 date_line equ p3.3;= ORG 0000H JMP MAINMAIN: MOV SP,#60H MOV A,#00H MOV R0,#20H ;将 20H-2FH 单元清零 MOV R1,#10HCLEAR: MOV R0,A INC R0 DJNZ R1,CLEAR CALL SET_LCD CALL RE_18B20start: CALL RESET ;18B20复位子程序 JNB FLAG1,START1 ;DS18B20不存在 CALL MENU_OK CALL READ_E2 CALL T
39、EMP_BJ ;显示温度标记 JMP START2START1: CALL MENU_ERROR CALL TEMP_BJ ;显示温度标记 JMP $START2: CALL RESET JNB FLAG1,START1 ;DS1820不存在 MOV A,#0CCH ; 跳过ROM匹配 CALL WRITE MOV A,#44H ; 发出温度转换命令 CALL WRITE CALL RESET MOV A,#0CCH ; 跳过ROM匹配 CALL WRITE MOV A,#0BEH ; 发出读温度命令 CALL WRITE CALL READ call CONVTEMP Call DISPBC
40、D CALL CONV CALL TEMP_COMP CALL PROC_KEY ; 键扫描 SJMPSTART2;-PROC_KEY: JB K1,PROC_K1 ; 按键K1处理 CALL BEEP_BL JNB K1,$ MOV DPTR,#M_ALAX1 MOV A,#1 CALL LCD_PRINT CALL LOOK_ALARM JB K3,$ CALL BEEP_BL JMP PROC_K2PROC_K1: ; 按键K2处理 JB K2,PROC_END CALL BEEP_BL JNB K2,$ MOV DPTR,#RESET_A1 MOV A,#1 CALL LCD_PRIN
41、T CALL SET_ALARM CALL RE_18B20 ;将设定的TH,TL值写入DS18B20内 CALL WRITE_E2PROC_K2: CALL MENU_OK CALL TEMP_BJPROC_END: RET;=;设定报警值 TH、TL;=SET_ALARM: ;CALL RESET_ALARM CALL LOOK_ALARMAS0: JB K1,AS00 CALL BEEP_BL JNB K1,$ CPL 20H.1 ;UP/DOWN 标记AS00: JB 20H.1,ASZ01 ;20H.1=1,UP JMP ASJ01 ;20H.1=0,DOWNASZ01: JB K2
42、,ASZ02 ;TH值调整(增加) CALL BEEP_BL INC TEMP_TH MOV A,TEMP_TH CJNE A,#120,ASZ011 MOV TEMP_TH,#0ASZ011: CALL LOOK_ALARM MOV R5,#10 CALL DELAY JMP ASZ01ASZ02: JB K3,ASZ03 ;TL值调整(增加) CALL BEEP_BL INC TEMP_TL MOV A,TEMP_TL CJNE A,#99,ASZ021 MOV TEMP_TL,#00HASZ021: CALL LOOK_ALARM ; MOV R5,#10 CALL DELAY JMP ASZ02ASZ03: JB K4,AS0 ;确定调整 OK CALL BEEP_BL JNB K4,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 选修计算机考试题目及答案
- 刑事法律法规试题及答案
- 精神萎靡的临床护理
- 独家补充协议之企业重组补充协议
- 互联网信息内容合法监管与运营合同
- 留学归国人员创新创业团队孵化聘用合同
- 绿色建筑BIPV一体化项目施工管理及服务协议
- 新版消防考试题库及答案
- 食品行业叉车调度员派遣合同规范
- 基因治疗技术研发项目知识产权保护合作协议
- 2025-2030年中国聚脲涂料行业市场现状供需分析及投资评估规划分析研究报告
- 地七年级下册全册知识要点总复习-2024-2025学年七年级地理教学课件(人教版2024)
- 2025年教育行业工会工作计划
- 海洋能发电技术-中国海洋能发电技术(新能源发电技术)
- 【MOOC】大学体育(二)-华中科技大学 中国大学慕课MOOC答案
- 【MOOC】断层影像解剖学-山东大学 中国大学慕课MOOC答案
- 2024版《糖尿病健康宣教》课件
- 高中地理思维导图(高清 可以放大)
- 2024年四川省成都市中考历史试卷真题(含答案解析)
- 中学生英才计划面试常见问题
- 社区工作者经典备考题库(必背300题)
评论
0/150
提交评论