ds18b20数字温度传感器程序

ds18b20数字温度传感器程序

ID:14169936

大小:40.50 KB

页数:9页

时间:2018-07-26

ds18b20数字温度传感器程序_第1页
ds18b20数字温度传感器程序_第2页
ds18b20数字温度传感器程序_第3页
ds18b20数字温度传感器程序_第4页
ds18b20数字温度传感器程序_第5页
资源描述:

《ds18b20数字温度传感器程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、DS18B20数字温度传感器程序-----------------------Page1-----------------------;DS18B20数字温度传感器程序(有故障报警)张邦宏编写;伪指令赋值:B1820BIT00H;DS18B20应答标志DQBITP2.2;模拟串口通信总线RCAP2LEQU0CAH;T2定时/计数器扑捉寄存器SFR低字节地址RCAP2HEQU0CBH;T2定时/计数器扑捉寄存器SFR高字节地址TL2EQU0CCH;T2定时/计数器低字节地址TH2EQU0CDH;T2定时

2、/计数器高字节地址T2CONEQU0C8H;T2定时/计数器控制寄存器SFR地址T2MODEQU0C9H;T2定时/计数器方式寄存器SFR地址TR2EQU0C8H.2;T2定时/计数器TR2的位地址(启动/停止控制位)TF2EQU0C8H.7;T2定时/计数器TF2的位地址(溢出标志位);主程序:ORG0000HLJMPBZ0ORG30HBZ0:MOVSP,#50H;设置堆栈指针MOV70H,#00H;显示数据缓冲区清零MOV71H,#00HMOV72H,#00HMOV76H,#00H;数据缓冲器BZ

3、1:LCALLXSZMOV76H,29HLCALLBCDZLCALLCWZLCALLWDZSJMPBZ1;18B20测温子程序:CWZ:SETBDQ;复位通信总线B1:LCALLCH1820;调用DS18B20初始化子程序JBB1820,B2;检测DS18B20应答标志,有应答转B2LJMPB1;无应答,返回B1B2:LCALLXSZ;延时MOVA,#0CCH;跳过ROM命令LCALLXE1820;调用写DS18B20子程序MOVA,#44H;发出温度转换命令LCALLXE1820;调用写DS18B2

4、0子程序NOP;延时LCALLYS0B3:LCALLCH1820;调用DS18B20初始化子程序JBB1820,B4;检测DS18B20应答标志,有应答转B4LJMPB3;无应答,返回B3-----------------------Page2-----------------------B4:LCALLYS1;延时MOVA,#0CCH;跳过ROM命令LCALLXE1820;调用写DS18B20子程序MOVA,#0BEH;发出读温度命令LCALLXE1820;调用写DS18B20命令子程序LCALLD

5、U1820;调用读DS18B20两个字节数据子程序RET;DS18B20初始化程序CH1820:SETBDQ;串口数据线置高NOP;延时CLRDQ;串口数据线置低MOVR0,#80H;置定时常数512μSC1:DJNZR0,C1;延时SETBDQ;串口数据线置高MOVR0,#25H;置定时常数75μSC2:JNBDQ,C3;检测串口数据线,为0表示DS1820有应答,转C3DJNZR0,C2;等待DS1820应答(出低电平)LJMPC4;为1表示DS1820无应答(不存在),转C4C3:SETBB18

6、20;置标志位,表示DS1820存在SETBP1.1;关闭故障报警指示SETBP2.3LJMPC5;转C5C4:CLRB1820;清零DS1820存在标志位CLRP1.1;点亮报警指示灯,表示温度传感器通信失败,有故障LCALLYPZLCALLDL01SLJMPC7;转C7C5:MOVR0,#06BH;置定时常数215μSC6:DJNZR0,C6;延时C7:SETBDQ;串口数据线置高(复位)RET;写DS18B20子程序XE1820:MOVR2,#8;一个字节8位CLRC;清零CY位X1:CLRDQ

7、;总线拉低MOVR3,#6;置定时常数DJNZR3,$;延时13μSRRCA;A带进位右环移一位MOVDQ,C;写一位数据到总线MOVR3,#23;置定时常数DJNZR3,$;延时SETBDQ;释放总线(总线拉高)NOP;延时1μSDJNZR2,X1;8位数据未写完继续-----------------------Page3-----------------------SETBDQ;8位数据写完,总线复位(拉高)RET;读DS18B20中两个字节的温度数据DU1820:MOVR4,#2;读2字节MOV

8、R1,#27H;低字节地址D1:MOVR2,#8;一个字节为8位数据D2:CLRC;清零CY位SETBDQ;串口总线拉高NOP;延时NOPCLRDQ;串口总线拉低NOP;延时NOPNOPSETBDQ;串口总线拉高MOVR3,#7;定时常数DJNZR3,$;延时15μSMOVC,DQ;读一位数据MOVR3,#23;定时常数DJNZR3,$;延时93μSRRCA;A带进位右环移一位DJNZR2,D2;8位数据未读完继续MOV@R1,A;保存一个字节数据到温度

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

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

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