数字温度传感器DS18B20汇编程序例子

数字温度传感器DS18B20汇编程序例子

ID:38705126

大小:41.50 KB

页数:5页

时间:2019-06-17

数字温度传感器DS18B20汇编程序例子_第1页
数字温度传感器DS18B20汇编程序例子_第2页
数字温度传感器DS18B20汇编程序例子_第3页
数字温度传感器DS18B20汇编程序例子_第4页
数字温度传感器DS18B20汇编程序例子_第5页
资源描述:

《数字温度传感器DS18B20汇编程序例子》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、;DS18B20温度传感器和7个LED数码显示程序(原创程序,请支持)ORG0000H;LED数码管采用动态,P0口接八个数据口,P2.0-P2.2采用3-8译码器控制七个LEDTXBITP2.3;DS18B20数据口接P2.3FLAGBIT10HTEMHEQU50H;整数部分TEMLEQU51H;小数部分MOVSP,#60HCLREAAJMPMAINORG0200HMAIN:;MOVR0,#10LCALLTMP;温度传感器设置LCALLCHANG;温度转换为十进制STR:LCALLDISPLAY;温度显示;DJNZR0,STRAJMPMAIN;////////

2、//////////////////TMP:;温度传感器DS18B20LCALLRESERTMOVA,#0CCHLCALLWRITEMOVA,#44HLCALLWRITE;LCALLDELAY750;延时750MsLCALLRESERTMOVA,#0CCHLCALLWRITEMOVA,#0BEHLCALLWRITELCALLREADMOV30H,ALCALLREADMOV31H,ARETDELAY750:;750USDELAYSETBRS0MOVR0,#20MS2:MOVR1,#20MS1:MOVR2,#20DJNZR2,$DJNZR1,MS1DJNZR0,MS

3、2CLRRS0RET;////////////////////////////CHANG:;温度转换为十进制PUSHAPUSHBMOVA,31HANLA,#07HSWAPAMOVB,AMOVA,30HANLA,#0F0HSWAPAADDA,BMOVTEMH,AMOVA,30HANLA,#0FHMOVTEML,AMOVA,31HJNBACC.3,POSI;区分正负温度;//////////////负温度转化MOVA,TEMLSWAPACPLAANLA,#0F0HADDA,#10HSWAPAMOV1FH,CMOVTEML,AMOVA,TEMHCPLASUBBA,#8

4、0HMOVC,1FHADDCA,#0MOV70H,#20AJMPNEGPOSI:MOVA,TEMHMOVB,#100DIVABMOV70H,AMOVA,BNEG:MOVB,#10DIVABMOV71H,AMOVA,BADDA,#10MOV72H,A;整数部分分离MOVA,TEMLMOVB,#5MULABMOVB,#10DIVABMOV76H,BMOV75H,AMOVA,TEMLMOVB,#2MULABADDA,75HMOVB,#10DIVABMOV75H,BMOV74H,AMOVA,TEMLMOVB,#6MULABADDCA,74HMOVB,#10DIVABMO

5、V74H,BMOV73H,A;小数部分分离POPBPOPARET;//////////////////////DISPLAY:;温度显示70H---76HXXX.XXXX;采用默认的12位,精度0.0625,-55~~+125SETBRS0MOVR0,#70HMOVR1,#7MOVR2,#0MOVDPTR,#TABLEDIS:MOVA,@R0MOVCA,@A+DPTRMOVP2,R2MOVP0,AINCR2INCR0LCALLDELAY1MSDJNZR1,DISCLRRS0RET;/////////////////////////DELAY1MS:SETBRS1

6、MOVR0,#100MS:MOVR1,#20DJNZR1,$DJNZR0,MSCLRRS1RET;////////////////////RESERT:;DS18B20初始化;SETBRS0SETBTXNOPCLRTXMOVR0,#240;RST:CLRTXDJNZR0,$;DELAY480USSETBTXMOVR1,#30;DELAY60USDJNZR1,$JNBTX,RE1CLRFLAGSETBTXRETRE1:SETBFLAGMOVR2,#200DJNZR2,$;DELAY400usSETBTXRET;///////////WRITE:;DS18B20写字

7、节;SETBRS0CLRCMOVR0,#8WW:MOVR1,#6MOVR2,#23RRCACLRTXDJNZR1,$;DELAY12USMOVTX,CDJNZR2,$;DELAY46USSETBTXNOPDJNZR0,WWSETBTX;CLRRS0RET;///////////READ:;DS18B20读字节;SETBRS0CLRCMOVR0,#8;八位RE:SETBTXMOVR1,#10;延时20usMOVR2,#15;延时30usCLRTXNOPSETBTX;此句最重要,读取数据的时候一定要释放总线,否则读不出暂存器数据DJNZR1,$MOVC,TXDJNZ

8、R2,$RRCADJNZ

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

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

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