DS18B20汇编程序.doc

上传人:ng****60 文档编号:2244330 上传时间:2019-05-02 格式:DOC 页数:5 大小:41.50KB
下载 相关 举报
DS18B20汇编程序.doc_第1页
第1页 / 共5页
DS18B20汇编程序.doc_第2页
第2页 / 共5页
DS18B20汇编程序.doc_第3页
第3页 / 共5页
DS18B20汇编程序.doc_第4页
第4页 / 共5页
DS18B20汇编程序.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、;DS18B20 温度传感器和 7 个 LED 数码显示程序(原创程序,请支持)ORG 0000H;LED 数码管采用动态,P0 口接八个数据口,P2.0-P2.2 采用 3-8 译码器控制七个 LEDTX BIT P2.3 ;DS18B20 数据口接 P2.3FLAG BIT 10HTEMH EQU 50H ;整数部分TEML EQU 51H ;小数部分MOV SP,#60HCLR EAAJMP MAINORG 0200HMAIN:;MOV R0,#10LCALL TMP;温度传感器设置LCALL CHANG;温度转换为十进制STR:LCALL DISPLAY;温度显示;DJNZ R0,ST

2、RAJMP MAIN;/TMP:;温度传感器 DS18B20LCALL RESERTMOV A,#0CCHLCALL WRITEMOV A,#44HLCALL WRITE;LCALL DELAY750;延时 750MsLCALL RESERTMOV A,#0CCHLCALL WRITEMOV A,#0BEHLCALL WRITELCALL READMOV 30H,ALCALL READMOV 31H,ARETDELAY750:;750USDELAYSETB RS0MOV R0,#20MS2:MOV R1,#20MS1:MOV R2,#20DJNZ R2,$DJNZ R1,MS1DJNZ R0,

3、MS2CLR RS0RET;/CHANG:;温度转换为十进制PUSH APUSH BMOV A,31HANL A,#07HSWAP AMOV B,AMOV A,30HANL A,#0F0HSWAP AADD A,BMOV TEMH,AMOV A,30HANL A,#0FHMOV TEML,AMOV A,31HJNB ACC.3,POSI;区分正负温度;/负温度转化MOV A,TEMLSWAP ACPL AANL A,#0F0HADD A,#10HSWAP AMOV 1FH,CMOV TEML,AMOV A,TEMHCPL ASUBB A,#80HMOV C,1FHADDC A,#0MOV 70

4、H,#20AJMP NEGPOSI:MOV A,TEMHMOV B,#100DIV ABMOV 70H,AMOV A,BNEG:MOV B,#10DIV ABMOV 71H,AMOV A,BADD A,#10MOV 72H,A;整数部分分离MOV A,TEMLMOV B,#5MUL ABMOV B,#10DIV ABMOV 76H,BMOV 75H,AMOV A,TEMLMOV B,#2MUL ABADD A,75HMOV B,#10DIV ABMOV 75H,BMOV 74H,AMOV A,TEMLMOV B,#6MUL ABADDC A,74HMOV B,#10DIV ABMOV 74H,

5、BMOV 73H,A;小数部分分离POP BPOP ARET;/DISPLAY:;温度显示 70H-76H XXX.XXXX;采用默认的 12 位,精度 0.0625,-55+125SETB RS0MOV R0,#70HMOV R1,#7MOV R2,#0MOV DPTR,#TABLEDIS:MOV A,R0MOVC A,A+DPTRMOV P2,R2MOV P0,AINC R2INC R0LCALL DELAY1MSDJNZ R1,DISCLR RS0RET;/DELAY1MS:SETB RS1MOV R0,#100MS:MOV R1,#20DJNZ R1,$DJNZ R0,MSCLR RS

6、1RET;/RESERT:;DS18B20 初始化;SETB RS0SETB TXNOPCLR TXMOV R0,#240;RST:CLR TXDJNZ R0,$;DELAY480USSETB TXMOV R1,#30;DELAY 60USDJNZ R1,$JNB TX,RE1CLR FLAGSETB TXRETRE1:SETB FLAGMOV R2,#200DJNZ R2,$ ;DELAY 400usSETB TXRET;/WRITE:;DS18B20 写字节;SETB RS0CLR CMOV R0,#8WW:MOV R1,#6MOV R2,#23RRC ACLR TXDJNZ R1,$;D

7、ELAY 12USMOV TX,CDJNZ R2,$;DELAY 46USSETB TXNOPDJNZ R0,WWSETB TX;CLR RS0RET;/READ:;DS18B20 读字节;SETB RS0CLR CMOV R0,#8;八位RE:SETB TXMOV R1,#10;延时 20usMOV R2,#15 ;延时 30usCLR TXNOPSETB TX;此句最重要,读取数据的时候一定要释放总线,否则读不出暂存器数据DJNZ R1,$MOV C,TXDJNZ R2,$RRC ADJNZ R0,RESETB TX;CLR RS0RET;/TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0-9 需要加点应用 ADD 80H 即可DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH;0.-9.DB 40H ;-END

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。