DS18B20温度测量程序(汇编).doc

DS18B20温度测量程序(汇编).doc

ID:57395043

大小:18.00 KB

页数:5页

时间:2020-08-15

DS18B20温度测量程序(汇编).doc_第1页
DS18B20温度测量程序(汇编).doc_第2页
DS18B20温度测量程序(汇编).doc_第3页
DS18B20温度测量程序(汇编).doc_第4页
DS18B20温度测量程序(汇编).doc_第5页
资源描述:

《DS18B20温度测量程序(汇编).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ORG0000H;单片机内存分配申明!TEMPER_LEQU29H;用于保存读出温度的低8位TEMPER_HEQU28H;用于保存读出温度的高8位FLAG1   EQU38H;是否检测到DS18B20标志位a_bit   equ20h;数码管个位数存放内存位置b_bit   equ21h;数码管十位数存放内存位置  ;进行温度显示,这里我们考虑用网站提供的两位数码管来显示温度;显示范围00到99度,显示精度为1度;因为12位转化时每一位的精度为0.0625度,我们不要求显示小数所以可以抛弃29H的低4位;将28H中的低4位移入29H中的高4位,这样获得一个新字节,这个字

2、节就是实际测量获得的温度;这个转化温度的方法非常简洁无需乘于0.0625系数MAIN:      LCALLGET_TEMPER;调用读温度子程序           MOVA,29H           MOVC,40H;将28H中的最低位移入C           RRCA           MOVC,41H           RRCA           MOVC,42H           RRCA           MOVC,43H           RRCA           MOV29H,A           LCALLDISPLAY;调用数码

3、管显示子程序           JNBFLAG1,MM1CLRP1.0SJMPMAINMM1:       SETBP1.0           SJMPMAININIT_1820: SETBP2.2 ;这是DS18B20复位初始化子程序           NOP           CLRP2.2           MOVR1,#3;主机发出延时537微秒的复位低脉冲TSR1:      MOVR0,#107           DJNZR0,$           DJNZR1,TSR1           SETBP2.2;然后拉高数据线          

4、 NOP           NOP           NOP           MOVR0,#25HTSR2:      JNBP2.2,TSR3;等待DS18B20回应           DJNZR0,TSR2           LJMPTSR4;延时TSR3:      SETBFLAG1;置标志位,表示DS1820存在           LJMPTSR5TSR4:      CLRFLAG1;清标志位,表示DS1820不存在           LJMPTSR7TSR5:      MOVR0,#70TSR6:      DJNZR0,TSR6;时序要

5、求延时一段时间TSR7:      SETBP2.2           RETGET_TEMPER:SETBP2.2 ;读出转换后的温度值           LCALLINIT_1820;先复位DS18B20           JBFLAG1,TSS2           RET;判断DS1820是否存在?若DS18B20不存在则返回TSS2:      MOVA,#0CCH;跳过ROM匹配           LCALLWRITE_1820           MOVA,#44H;发出温度转换命令           LCALLWRITE_1820       

6、    LCALLDISPLAY ;这里通过调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒           LCALLINIT_1820;准备读温度前先复位           MOVA,#0CCH;跳过ROM匹配           LCALLWRITE_1820           MOVA,#0BEH;发出读温度命令           LCALLWRITE_1820           LCALLREAD_18200;将读出的温度数据保存到35H/36H           RETWRITE_1820:MOVR2,#8;写DS18B2

7、0的子程序(有具体的时序要求),一共8位数据           CLRCWR1:       CLRP2.2           MOVR3,#5           DJNZR3,$           RRCA           MOVP2.2,C           MOVR3,#21           DJNZR3,$           SETBP2.2           NOP           DJNZR2,WR1           SETBP2.2           RETREAD_18200:MOVR4,#

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。