版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计任务书LCD )题 目:基于 DS18B20 的多点温度采集系统设计( 系(部): 信息科学和电气工程学院实习地点:班 级:学生姓名: 学号:指导教师:时间: 2012年 月 日 到 2012年 月 日山东交通学院摘要单片机已在各行业得到广泛使用, 为适应更多的使用领域, 厂 家采取了在一块单片机芯片上集成多种功能部件和大容量存储器的 方法。因而,整个使用系统不需要扩展,而体积变小、可靠性增高, 使单片机成为真正意义上的单片机系统。本设计是基于 STC89C52 单片机和 DS185B20实现温度的测量 系统,单片机在本系统中作为温度输入和显示控制器件, DS18B20 被用作温度数据
2、的采集和温度输出器件。 本系统采用单总线操作, 线 路简单,测量值精确,可实现多点测量,并对温度超过限制值,产生 报警和数据采集。 本系统被广泛使用于温度控制、 温度检测、温度采、 消防等系统中。关键词 单片机;数据转换;温度显示;目录.课程设计总体说明 TOC o 1-5 h z HYPERLINK l bookmark12 o Current Document 目的 1 HYPERLINK l bookmark14 o Current Document 1.2基本功能 11.3扩展功能 HYPERLINK l bookmark18 o Current Document 1.4 课题所达到的
3、功能目标 1 HYPERLINK l bookmark20 o Current Document 1.5 单片机的选择 1硬件系统说明 21 硬件总体设计方案 2 HYPERLINK l bookmark22 o Current Document 硬件设计目标 2 HYPERLINK l bookmark8 o Current Document 硬件功能模块划分 2 HYPERLINK l bookmark24 o Current Document 主控芯片和关键元器件的选型、接口和引脚介绍 2 HYPERLINK l bookmark38 o Current Document 2. 软件设计
4、 6流程图 6 HYPERLINK l bookmark42 o Current Document 软件调试说明 7 HYPERLINK l bookmark44 o Current Document 1. 软件性能测试 7 HYPERLINK l bookmark46 o Current Document 四课题开发总结 10五用户操作说明 11 HYPERLINK l bookmark50 o Current Document 六 .参考资料 11附录:程序 12一、课题总体设计说明1.1 、目的(1)本实验要实现的是通过 DS18B20温度传感器采集温度并在 LCD 上显 示 ,并学会使
5、用单片机控制 DS18B20 此类单总线器件,并对数字温度传感器 DS18B0 进行时序分析。(2)更进一步了解 LCD1602 的使用。(3)掌握单片机和 PC 的远程通信。1.2 、基本功能( 1)以数字传感器 DS1820作为前端采集温度,经过单片机处理后,将外部 的温度显示在液晶屏上。(2)可用通过独立式按键来设定温度的上限值和下限值,当坏境温度超过 上限值或低于下限值时会自动提示, 并在液晶屏上提示温度大于上限值或温度小 于下限值。(3)当单片机检测到 DS18B20存在时会在在 LCD1602 上显示“ DS18B20 Succes”,反之则显示“ DS18B20 is Wrong
6、 ,TEMP is No on ”。1.3 、 扩展功能以数字传感器 DS1820 作为前端采集温度,经过单片机处理后,再通过串口 通信,把实时温度值、上限值和下限值显示在用 VB语言编辑的计算机软件的界 面上并显示出实时温度的变化曲线, 当实时温度超过所设定的上限值和下限值时 会在用 VB语言编辑的计算机软件的界面上提示当前温度超过上限值或下限值, 模拟实现设备和计算机的通信,通过计算机对设备的温度检测以及实时监控。、课题所达到的功能目标(1)能在 LCD1602上准确的显示出实时温度;(2)独立式按键能设置报警温度的上限值、下限值和查看所设定的上限值、 下限值;(3)当温度大于上限值或低于
7、下限值时在液晶屏上自动提示;(4)通过串口和 PC机连接,能够把实时温度值、上限值和下限值显示在用 VB 语言编辑的计算机软件的界面上并显示出实时温度的变化曲线,当实时温度 超过所设定的上限值和下限值时会在用 VB语言编辑的计算机软件的界面上提示 当前温度超过上限值或下限值。1.5 、单片机的选择本系统采用了 51 单片机,其体积小巧,携带方便,价格便宜。且 USB接口 通讯及供电,通讯速度快,无须外接电源。 51 单片机有一个全双工的串通信 口,非常适合和电脑进行通信。 二、硬件设计说明、 硬件总体设计方案1.1 、 硬件设计目标本系统中通过温度传感器 DS18B20的数据线 DQ和主控芯片
8、 51 单片机的 P3.3 相连接, DS18B20将采集到的数据送给单片机,经过单片机出来后,显示在 或低于下限值时会数据线和单片机 P0口的液晶 LCD上。,当坏境温过示上模8位自动温提度示检,测并模在块液晶屏上提示温度大于上限值或温度小于下限值 值和下限值的查看和设定。串口经过 接到单片机的 RXD和 TXD来实现和用 VB LCD的 RS、 R/W、E分别接到单片 令和通数信据模的块控制接到单片机的 P1.0P1.4MAX232的电平转换后 R1 语言编辑的计算机软件的界,来实现对上限OU主T和控芯T1片 IN 面间的通信。液晶机的 P控2.制0模P2块.2 来实现单片机控制液晶的1.
9、2 、 硬件功能模块划分。 4 个按键 K1K4(1)AT89S51:实现对整个系统的控制。(2)DS18B20、LCD1602:温度传感器 DS18B20的数据线 DQ和主控芯片 51 单片 机的 P3.3 相连接, DS18B20将采集到的数据送给单片机,经过单片机处理后, 显示在 8 位数据线和单片机 P0 口的液晶 LCD上。(3)按键输入:对报警温度上限值 TH和下限值 TL 的设置。( 4)串口通信:实现和和用 VB语言编辑的计算机软件的界面间的通信。1.3 、主控芯片和关键元器件的选型、接口和连接方式定义1.3.1 、主控芯片和关键元器件的选型(1)主控芯片: AT89S51(
10、2)温度采集: DS18B20( 3)按键:独立式按键( K1K4)( 4)显示: LCD1602(5)串口:通过 MAX232和单片机的 10脚 11脚相连、AT89S51引脚结构, 见图 1-1图 1-1 单片机封装及引脚结构引脚功能说明:VCC:供电电压。GND:接地。P0 口:P0口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL门电流。当 P0 口的管脚第一次写 1时,被定义为高阻输入。P0能够用于外部程序数据 存储器 , 它可以被定义为数据 / 地址的低八位。在 FIASH编程时, P0 口作为原码输入口, 当 FIASH进行校验时, P0 输出原码,此时 P0外部必须
11、接上拉电阻。 P1口:P1口是一个内部提供上拉电阻的 8位双向I/O 口,P1口缓冲器能接收输 出 4TTL门电流。 P1口管脚写入 1后,被内部上拉为高,可用作输入, P1口被外 部下拉为低电平时, 将输出电流, 这是由于内部上拉的缘故。 在 FLASH编程和校 验时, P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的 8 位双向 I/O 口,P2口缓冲器可接收,输出 4个 TTL门电流,当 P2口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输 入。并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。这是由于内部 上拉的缘故。 P2口当用于外部 程序存储器 或 16 位
12、地址外部数据 存储器进行存 取时, P2 口输出地址的高八位。在给出地址“ 1”时,它利用内部上拉优势,当 对外部八位地址数据 存储器 进行读写时, P2口输出其 特殊功能寄存器 的内容。 P2 口在 FLASH编程和校验时接收高八位地址信号和 控制信号 。 P3口:P3口管脚是 8个带内部上拉电阻的双向 I/O 口,可接收输出 4个 TTL门 电流。当 P3口写入“1”后,它们被内部上拉为高电平, 并用作输入。 作为输入, 由于外部下拉为低电平, P3口将输出电流( ILL )这是由于上拉的缘故。P3 口也可作为 AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(
13、串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0 (外部中断 0)P3.3 /INT1 (外部中断 1)P3.4 T0 (记时器 0 外部输入)P3.5 T1 (记时器 1 外部输入)P3.6 /WR(外部数据存储器 写选通)P3.7 /RD (外部数据存储器 读选通)P3 口同时为闪烁编程和编程校验接收一些 控制信号 。 RST:复位输入。当振荡器复位器件时,要保持 RST脚两个 机器周期 的高电平时 间。ALE/PROG:当访问外部 存储器 时,地址锁存 允许的 输出电平 用于锁存地址的低 位字节。在 FLASH编程 期间,此 引脚 用于输入 编程 脉冲。在平时, ALE
14、 端以不 变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6 。因此它可用作对外 部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据 存储器 时, 将跳过一个 ALE脉冲。如想禁止 ALE的输出可在 SFR8EH地址上置 0。此时, ALE 只有在执行 MOV,X MOVC指令是 ALE才起作用。另外,该 引脚 被略微拉高。如果 微处理器 在外部执行状态 ALE禁止,置位无效。/PSEN:外部 程序存储器 的选通信号。在由外部程序 存储器 取指期间,每个 机 器周期 两次/PSEN有效。但在访问 外部数据 存储器时,这两次有效的 /PSEN信号 将不出现。/EA/VPP :当/
15、EA 保持低电平时,则在此期间外部程序 存储器 (0000H-FFFFH), 不管是否有内部程序存储器。注意加密方式 1 时, /EA 将内部锁定为 RESE;T 当 /EA 端保持高电平时,此间内部程序存储器。在 FLASH编程期间,此引脚也用于 施加 12V编程电源( VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。、 DS18B20 数字温度传感器介绍功能介绍DALLAS最新单线数字温度传感器 DS18B20的“一线器件”体积更小、适用 电压更宽、更经济 Dallas 半导体公司的数字化温度传感器 DS1820是世界上第 一片支持
16、“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、DS1822 “一线总线”字化温度传感器总线”接口,测量温度范围为 - 55同 DS1820一样, DS18B20也 支持“一线C+125C, - 10+85C 范围内 , 精度为现场温度直接以“一线总线”的数性。适合于恶劣环境的现场 制、测温类消费电子产品等。 3V5.5V 的电压范围,使系 更便宜,体积更小。 程序设定 912 位的分辨率, 宽的电压适用范围。分辨率 EEPROM中,掉电依然保存。 性能价格比也非常出色!0.5C。DS1822的精度较差为 2
17、 C 字方式传输,大大提高了系统的抗干扰 温度测量,如:境控制、设备或过程控 和前一代产品不同,新的产品支持 统设计更灵活、方便。而且新一代产品 DS18B20、 DS1822 的特性 DS18B20可以 精度为 0.5 C。可选更小的方式,更 设定,及用户设定的报警温度存储在 DS18B20的性能是新一代产品中最好的!DS1822DS18B2软0 件兼容,是 DS18B20的简化版本。省略了存储用户定义报警温 度、分辨率参数的 EEPRO,M精度降低为 2C,适用于对性能要求不高,成本 控制严格的使用,是经济型产品。 继“一线总线”的早期产品后, DS1820开辟 了温度传感器技术的新概念。
18、 DS18B20和 DS1822使电压、特性及封装有更多的 选择,让我们可以构建适合自己的经济的测温系统。 DS18B20的内部结构 DS18B20 内部结构主要由四部分组成: 64位光刻 ROM、温度传感器、 非挥发的温度报警触 发器 TH和 TL、配置寄存器。 DS18B20的管脚排列如下 : DQ 为数字信号输入 /输 出端;GND为电源地;VDD为外接供电电源输入端 (在寄生电源接线方式时接地) 。 光刻 ROM中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20的地 址序列码。 64位光刻 ROM的排列是:开始 8 位(28H)是产品类型标号,接着的 48 位是该
19、DS18B20自身的序列号,最后 8 位是前面 56 位的循环冗余校验码 (CRC=X8+X5+X4)+。1 光刻 ROM的作用是使每一个 DS18B20都各不相同,这样就 可以实现一根总线上挂接多个 DS18B20的目的。 DS18B20中的温度传感器可完成 对温度的测量,以 12位转化为例 :用 16位符号扩展的二进制补码读数形式提供, 以 0.0625 /LSB 形式表达,其中 S 为符号位,见表 2-1 。表 2-1DS18B20 内部温度表示形式这是 12位转化后得到的 12位数据,存储在 18B20的两个 8 比特的 RAM中, 二进制中的前面 5位是符号位,如果测得的温度大于 0
20、,这 5位为 0,只要将测 到的数值乘于 0.0625 即可得到实际温度; 如果温度小于 0,这 5 位为 1,测到的 数值需要取反加 1再乘于 0.0625 即可得到实际温度。例如+125 的数 字输 出为 07D0H, +25.0625 的数字 输出 为 0191H, -25.0625 的数字输出为 FF6FH,-55 的数字输出为 FC90H。见表 2-2表 2-2DS18B20转化温度形式实际温度值数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.0625 0000 0001 10
21、01 00010191H+10.125 0000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.5 1111 1111 1111 1000FFF8H-10.125 1111 1111 0101 1110FF5EH-25.0625 1111 1110 0110 1111FE6EH-551111 1100 1001 0000FC90H1.3.2 、接口和连接方式定义(1) 液晶 LCD1602的数据和指令选择控制端 RS接到单片机的 P2.0, 读写控制 R /W接到单片节的 P2.1,数据读写
22、控制位 E接到单片机的 P2.2,8 位数据线 DB0DB7接到单片机的 P0 口。4 个按键 K1K4分别接到单片机的 P1.0P1.3 。DS18B20 的 DQ接到单片机的 P3.3.2、软件设计(1)流程图三、软件调试说明1 、软件性能测试( 1)软件性能测试时用 Proteus 将画好的仿真图调人用 Keil 编译后的 Temp.hex 文件,开始仿真,测试每个按键的功能是否以及实时温度和上下限报 警是否和预期计划的一致。2)软件性能测试结果如下图:四、课题开发总结1 、总结整个课题的任务完成情况,是否和预期规划的相符合, 设计出来的作品性能如何、优缺点本系统完成的和预期计划相吻合,
23、预期所有功能基本实现,作品性能好,突 出的优点是本作品的硬件电路做的相当美观,且电路相当稳定,不仅实现了 LCD 的显示同样也很好的在 VB6.0 人机界面上绘制出温度变化曲线, 根据我们设定的 上限提示温度和下线提示温度, 判断当前温度有无高温提示或低温提示, 如果温 度超限,则给出相应的提示信息。并达到了远程功能。、 硬件宏观上的设计要点,达到的性能指标,存在的问题 硬件的设计要点,达到的性能指标和计划预期的一样,没有存在什么问题, 可以说此硬件做的相当完美。、 软件宏观上的设计要点,达到的性能指标、开发编译工具和方法、存 在的问题(1)软件设计要点,达到的性能指标几乎达到计划预期的,在设
24、计这个系 统的过程还学会了串口调试工具。(2)整个电路的设计仿真过程中除了运用了单片机相关软件外还利用了以 下软件 Multisim8 :用于电路的设计和仿真 串口调试助手和模拟串口:用于串口的调试和仿真 VB6.0:用于数据的显示和显示温度变化的曲线Protel:电路板的设计五、用户操作说明 第一步:将电路板上的串口和电脑的串口相连接; 第二步:将电路板接上 +5V的电源(此时电源指示灯会点亮,会在 LCD1602 上显示实时温度,如图 1 所示);第三步: 在 VB界面上点击打开串口 (此时会在 VB界面上显示实时温度, 上 限温度,下限温度和实时温度变化的曲线,如图 2 所示)。 附:本
25、系统有四个控制按键功能如下K1: 用于查看上下限温度和温度加减切换K2 :用于上限温度的调节K3 :用于下限温度的调节,并兼查看上下限温度时的返回K4 :设定好上限温度和下限温度时的确定键如,当要调上限温度时:首先按下 K2,再按 K2 时上限温度就加 1,如果要 减 1 就按下切换按键 K1,再按 K2 即变为减。六、参考资料单片机原理及使用教程 范立南 2006 年 1 月 单片机原理及使用教程 刘瑞新 2003 年 07 月附:程序:TEMP_ZHEQU24H;实测温度值存放单元TEMPLEQU25HTEMPHEQU26HTEMP_THEQU27H;高温报警值存放单元TEMP_TLEQU
26、28H;低温报警值存放单元TEMPHCEQU29H;正、负温度值标记TEMPLCEQU2AHTEMPFCEQU2BHK1EQU P1.4;查询按键K2EQU P1.5;设置 /调整键K3EQU P1.6;调整键K4EQU P1.7;确定键BEEPEQU P3.7RELAYEQU P1.3;指示灯LCD_XEQU2FH;LCD 字符显示位置LCD_RSEQUP2.0;LCD 寄存器选择信号LCD_RWEQUP2.1;LCD 读写信号LCD_ENEQUP2.2;LCD 允许信号FLAG1EQU20H.0;DS18B20 是否存在标志KEY_UDEQU20H.1;设定按键的增、减标志DQEQU P3
27、.3;DS18B20 数据信号ORG0000HLJMPMAINORG0030HMAIN:MOVSP,#60HMOVA,#00HMOVR0,#20H;将 20H2FH 单元清零MOVR1,#10HCLEAR:MOVR0,AINC R0DJNZ R1,CLEAR LCALL SET_LCDLCALL RE_18B20START:LCALLRST;调用 18B20 复位子程序JNBFLAG1,START1;DS1820 不存在LCALLMENU_OK;DS1820 存在,调用显示正确信息子程序MOVTEMP_TH,#055H;设置 TH 初值 85 度MOVTEMP_TL,#019H;设置 TL 初
28、值 25 度LCALL RE_18B20A;调用暂存器操作子程序LCALLWRITE_E2;写入 DS18B20LCALLTEMP_BJ;显示温度标记JMPSTART2START1:LCALLMENU_ERROR;调用显示出错信息子程序LCALLTEMP_BJ;显示温度标记SJMP$START2:LCALLRST;调用 DS18B20 复位子程序JNB FLAG1,START1;DS18B20 不存在MOVA,#0CCH;跳过 ROM 匹配命令LCALLWRITEMOVA,#44H;温度转换命令LCALLWRITELCALLRSTMOVA,#0CCH;跳过 ROM 匹配LCALLWRITEMO
29、VA,#0BEH;读温度命令LCALLWRITELCALLREAD;调用 DS18B20 数据读取操作子程序LCALL CONVTEMP;调用温度数据 BCD 码处理子程序LCALL DISPBCD;调用温度数据显示子程序LCALL CONV;调用 LCD 显示处理子程序LCALL TEMP_COMPLCALL PROC_KEYSJMP START2;调用实测温度值和设定温度值比较子程序;调用键扫描子程序;循环键扫描子程序 *PROC_KEY:JB K1,PROC_K1DPTR,#M_ALAX1A,#1LCD_PRINTLOOK_ALARMLCALL BEEP_BLJNB K1,$MOVMOV
30、LCALLLCALLBEEP_BLLCALLBEEP_BLJNB K2,$MOVDPTR,#RST_AMOVA,#1LCALLLCD_PRINTLCALLSET_ALARMLCALLRE_18B20LCALLWRITE_E2PROC_K2: LCALLMENU_OKLCALLTEMP_BJPROC_END:RETJB K3,$LCALLJMP PROC_K2PROC_K1: JB K2,PROC_END;将设定的 TH,TL 值写入 DS18B20SET_ALARM:LCALLAS0:AS00:ASZ01:ASZ011:JB LCALL JNB CPL JB JMP JB LCALL INC
31、MOV CJNE MOV LCALL MOV LCALL设定温度报警值 TH 、TL * LOOK_ALARMK1,AS00 BEEP_BLK1,$20H.1 20H.1,ASZ01ASJ01K2,ASZ02BEEP_BL;UP/DOWN 标记;20H.1=1 ,增加 ;20H.1=0 ,减小 ;TH 值调整 (增加 )TEMP_TH A,TEMP_TH A,#120,ASZ011 TEMP_TH,#0 LOOK_ALARMR5,#10DELAYJMP ASZ01ASZ02:JB K3,ASZ03;TL 值调整 (增加 )LCALLBEEP_BLINC TEMP_TLMOVA,TEMP_TLC
32、JNEA,#99,ASZ021MOVTEMP_TL,#00HASZ021:LCALLLOOK_ALARMMOV R5,#10LCALL DELAYJMP ASZ02ASZ03:JB K4,AS0; 确定调整LCALLBEEP_BLJNBK4,$RETASJ01:JB K2,ASJ02;TH 值调整(减少)LCALLBEEP_BLDECTEMP_THMOVA,TEMP_THCJNEA,#0FFH,ASJ011;TL 值调整(减少)实测温度值和设定温度值比较子程序A,TEMP_THSUBBA,TEMP_ZHJCCHULI1MOVA,TEMPFCCJNEA,#0BH,COMPSJMPCHULI2MO
33、VA,TEMP_ZHSUBBA,TEMP_TLJC CHULI2MOVDPTR,#BJ5LCALLTEMP_BJ3CLRRELAYRETMOVDPTR,#BJ3LCALLTEMP_BJ3SETBRELAYLCALLBEEP_BLRETMOVDPTR,#BJ4LCALLTEMP_BJ3SETBRELAYLCALLBEEP_BLRETCOMP:CHULI1:CHULI2:;减数 被减数,则;借位标志位 C=1,转;减数 被减数,则 ;借位标志位 C=1 ,转JMP ASJ022ASJ011:LCALL LOOK_ALARMMOV R5,#10LCALL DELAYLCALL BEEP_BLDECT
34、EMP_TLMOVA,TEMP_TLCJNEA,#0FFH,ASJ021JMPASJ022ASJ021:LCALL LOOK_ALARMMOVR5,#10LCALL DELAYJMPAS0ASJ022:CPL20H.1JMPASZ01ASJ03:JMPRETASZ03RST_A1:DB SET ALERT CODE ,0ASJ02:TEMP_COMP:MOVJMP AS0JB K3,ASJ03TEMP_BJ3: MOV A,#0CEHLCALL WCOMMOV R1,#0MOV R0,#2BBJJ3: MOV A,R1MOVC A,A+DPTRLCALL WDATA INC R1DJNZ R0
35、,BBJJ3RET TOC o 1-5 h z BJ3:DBHBJ4:DBd AOI/I :QV3d0乙醐SG 冯一Y亘;o甥疑随丄旧8 w viva丄者少一皿:TY?19l畀制冯臺編另:卑來(W)冯臺丄场壷編另osa8isa Y亘券丑:丄日占 oa日丄ms idMsd zNra dON oa日丄ms $d ZNra HO#乜占 AOI/I ooa aoi/i VOdd $d ZNra zo#1 AOI/I oa dio:心 mo dlO 时员 AOI/I :31ld/V HOOHOOHOOHOOHOOH乙H乙l/HOO SQ :0丄VQ_Q丄日占viva-ssd ZNrad ONI舉滋Y亘;
36、viva/vHV01Bid G+00OAOI/IdVaoi/i :viva_sH00#跖AOI/Iviva-Cl#占丄 dGAOI/IH00#7 占AOI/Il/IOO/VHV01HO17#TAOI/I:viva_3do is * lAIV 90QOH舌甘( 丄日占31ld/VHV01WM回凶慕旬最蛰圍跟阴宙皿;H8ao#VAOI/I31ld/VHV013153 lAIOdHOOOSVAOI/I丄SBnvoi-avEd*(吉* 丿 |/|)J33屈重( 丄日占31ld/VHV01i/io占旳低凶韶W最蛰野獣阴宙胳劲蜃皿:HO17#TAOI/I31ld/VHV013153 lAIOdHOOOSV
37、AOI/I丄SB11001:乙日日丄IBM 丄日占31ld/VHV01HdZVAOI/I31ld/VHV01(刨丄最M)n:f 丄 _dl/im 丄0AOI/I31ld/VHV01(刨丁最 M)H1:H 丄 _dl/im 丄0AOI/I31ld/VHV01SETB DQMOV R3,#09DJNZ R3,$MOV C,DQMOV R3,#3CH DJNZ R3,$ RRC ADJNZ R2,RE01MOV R1,AINC R1DJNZ R4,RE00 RET;开始读总线释放;延时 18 微妙;从 DS18B20 总线读得一位; 等待 100 微妙; 把读得的位值环移给 A ;读下一位CONVT
38、EMP:温度值 BCD 码处理子程序 * MOV A,TEMPH;判温度是否零下TEMPC1:TEMPC11:ANLA,#08HJZ TEMPC1CLRCMOVA,TEMPLCPLAADDA,#01HMOVTEMPL,AMOVA,TEMPHCPLAADDCA,#00HMOVTEMPH,A;温度零上转;二进制数求补(双字节);取反加;负温度标志MOVA,TEMPHCSWAPAMOVTEMPHC,AMOVA,TEMPLANLA,#0FH;乘 0.0625MOVDPTR,#TEMPDOTTABMOVCA,A+DPTRMOVTEMPLC,A;TEMPLC LOW= 小数部分BCDMOVA,TEMPL;
39、整数部分ANLA,#0F0H;取出高四位SWAPAMOVTEMPL,AMOVA,TEMPH;取出低四位ANLA,#0FHSWAPAORLA,TEMPL;重新组合MOVTEMP_ZH,ALCALLHEX2BCD1MOVTEMPL,AANLA,#0F0HSWAPAORLA,TEMPHC;TEMPHC LOW = 十位数BCDMOVTEMPHC,AMOVA,TEMPLANLA,#0FHSWAPA;TEMPLC HI = 个位数 BCDORLA,TEMPLCMOVTEMPLC,AMOVA,R4JZ TEMPC12ANLA,#0FHSWAPAMOVR4,A;正温度标志TEMPHC,#0AHTEMPFC,
40、#0AHMOV TEMPHC,#0BHMOV TEMPFC,#0BHSJMP TEMPC11MOVMOVMOVA,TEMPHC;TEMPHC HI =百位数 BCDANLA,#0FHORLA,R4MOVTEMPHC,ATEMPC12:RET二 -十进制转换子程序HEX2BCD1:MOV B,#064HDIVABMOVR4,AMOVA,#0AHXCHA,BDIVABSWAPAORLA,BRETTEMPDOTTAB:DB00H,00H,01H,01H,02H,03H,03H,04H ;小数部分码表DBLOOK_ALARM:MOV LCALL MOV LCALL MOV MOV LCALL MOV
41、LCALL MOV MOV LCALL RET M_ALAX1: DB M_ALAX2: DB05H,05H,06H,06H,07H,08H,08H,09H 查询温度报警值子程序 MOV DPTR,#M_ALAX2 A,#2LCD_PRINTA,#0C6HTEMP_BJ1A,TEMP_THLCD_X,#3SHOW_DIG2HA,#0CEHTEMP_BJ1A,TEMP_TLLCD_X,#12SHOW_DIG2L;指针指到显示信息区;显示在第二行;加载 TH 数据 ;设置显示位置 ;显示数据;加载 TL 数据 ;设置显示位置 ;显示数据 LOOK ALERT CODE,0,0TH:TL:TEMP_
42、BJ1: LCALL WCOMMOVMOVMOVMOVBBJJ2:DPTR,#BJ2R1,#0R0,#2A,R1;指针指到显示信息区BJ2:MOVC A,A+DPTR LCALL WDATA INC R1 DJNZ R0,BBJJ2 RET DB 00H,C LCD显示子程序 *SHOW_DIG2H: MOV B,#100 ABA,#30H B B,LCD_XLCDP2 B A,#0AH A,B ABA,#30H LCD_X B B,LCD_XLCDP2DIV ADD PUSH MOV LCALL POP MOV XCH DIV ADD INC PUSH MOV LCALLPOP BINC L
43、CD_XMOVA,BMOVB,LCD_XADDA,#30HLCALLLCDP2RETSHOW_DIG2L:MOV B,#100 DIV ABMOV A,#0AHXCH A,BDIV ABADD A,#30H PUSH BMOV B,LCD_XLCALL LCDP2 POP BINC LCD_XMOV A,BMOV B,LCD_XADD A,#30HLCALL LCDP2 RET显示区DISPBCD:MOVA,TEMPLCANLA,#0FHMOV70H,AMOVA,TEMPLCSWAPAANLA,#0FHMOV71H,AMOVA,TEMPHCANLA,#0FHMOV72H,AMOVA,TEMPH
44、CSWAPAANLA,#0FHMOV73H,ADISPBCD2:RETLCDCONV: MOV A,73HMOV LCD_X,#6CJNE A,#1,CONV1JMP CONV2BCD 码温度值刷新子程序 *;小数位;个位;十位;百位理子程序 *;加载百位数据;设置位置CONV1:CJNE A,#0BH,CONV11MOVA,#-;- 号显示JMPCONV111CONV11:MOVA,# ;+ 号不显示CONV111:MOVB,LCD_XLCALLLCDP2JMPCONV3CONV2:LCALL SHOW_DIG2;显示数据CONV3:INCLCD_XMOVA,72H;十位LCALLSHOW_DIG2INCLCD_XMOVA,71H;个位LCALLSHOW_DIG2INCLCD_XMOVA,#.MOVB,LCD_XLCALLLCDP2MOVA,70H;加载小数点位INCLCD_X;设置显示位置LCALL SHOW_DIG2;显示数据RET第二行显示数字子程序SHOW_DIG2:ADD A,#30HMOV B,LCD_XLCALL LCDP2RET第二行显示数字子程序LCDP2:PUSHMOVACCA,B;设置显示地址ADD A,#0C0H; 设置 LCD 的第二行地址LCALLWCOM;写入命令POP ACC;由堆栈取出 ALCALLWDATA;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农学实验室工作制度
- 信访调解室工作制度
- 二级储血点工作制度
- 乡镇护路办工作制度
- 信访局法规工作制度
- 办公室护士工作制度
- 加油站带班工作制度
- 包虫病知识工作制度
- 区护理质控工作制度
- 医技检验科工作制度
- 2026年北京市西城区高三一模地理试卷(含答案)
- 2026山东国泽实业有限公司招聘驻济人员4人笔试备考试题及答案解析
- 2026年广东广州市高三一模高考生物试卷试题(含答案详解)
- 2023-2024学年广东深圳南山外国语学校八年级(下)期中语文试题及答案
- 《眼科临床诊疗指南(2025版)》
- 大连红星美凯龙考核制度
- LY/T 2253-2014造林项目碳汇计量监测指南
- GB/T 7826-2012系统可靠性分析技术失效模式和影响分析(FMEA)程序
- 植物生物技术:第七章 植物原生质体融合课件
- B737NG中文培训手册:21-空调
- 医院呼吸机的维护与保养培训
评论
0/150
提交评论