资源描述:
《数字温度传感器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