DS18B20的单片机多点温度.doc

上传人:pu****.1 文档编号:543865895 上传时间:2022-08-20 格式:DOC 页数:23 大小:60.01KB
返回 下载 相关 举报
DS18B20的单片机多点温度.doc_第1页
第1页 / 共23页
DS18B20的单片机多点温度.doc_第2页
第2页 / 共23页
DS18B20的单片机多点温度.doc_第3页
第3页 / 共23页
DS18B20的单片机多点温度.doc_第4页
第4页 / 共23页
DS18B20的单片机多点温度.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《DS18B20的单片机多点温度.doc》由会员分享,可在线阅读,更多相关《DS18B20的单片机多点温度.doc(23页珍藏版)》请在金锄头文库上搜索。

1、TIMER0 EQU 9216 ;TIMER0 10mS INTERRUPTTMSH EQU (65536-TIMER0)/ 256TMSL EQU (65536-TIMER0)MOD 256COUNTL EQU 1DH COUNTH EQU 1EH STACK EQU 60HBPS9600 EQU 0FDHTIME_FLAG BIT 2FH.0ORG 0000HLJMP STARTORG 000BHJMP T0_INT ;ENABLE TIMER0 OVERFLOW INTERRUPTORG 0010HSTART: MOV SP,#STACKLCALL SYSTEM_INIT LCALL T

2、_INITLCALL ENABLE_INTBEGIN: JNB p0.7,K0 ;判断按键是否按下,如果按下程序跳至K0LCALL FUW MOV A,#0CCH ;直访ROMLCALL WRITE1820 MOV A,#44H ;温度转换命令LCALL WRITE1820 LCALL INT ;温度转换完全,再次初使化ds1820MOV A,#55HLCALL WRITE ;送入匹配ROM命令JNB TIME_FLAG,LOOP1MOV R0,#4AHJMP LOOP2LOOP1: MOV R0,#42HLOOP2: MOV R7,#08HLOOP3: MOV A,R0 LCALL WRIT

3、E ;送入匹配ROM命令 INC R0 DJNZ R7,LOOP3 MOV A,#0BEH ;读便笺存储器 LCALL WRITE1820;- LCALL RD1820 LCALL JIS1820 LCALLSHU LJMPLOPK0: LCALL JPSR0 ;调用键盘输入子程序LOP: LJMP BEGINFUW:SETBp3.0NOPCLRp3.0 MOV R0,#0FAH DJNZ R0,$ SETBp3.0;然后拉高数据线NOPNOPNOPMOVR0,#18HLOOP25:JNBp3.0,LOOP35;等待DS18B20回应DJNZR0,LOOP25CLRp3.5;清标志位,表示DS

4、1820不存在LJMPLOOP55LOOP35:SETBp3.5;置标志位,表示DS1820存在MOVR0,#0FAHLOOP45:DJNZR0,LOOP45;时序要求延时一段时间LOOP55:SETBp3.0RET;写DS18B20的子程序(有具体的时序要求)WRITE1820: CLR EA MOVR2,#8;一共8位数据CLRCWR11:CLRp3.0MOVR3,#6DJNZR3,$RRCAMOVp3.0,CMOVR3,#23DJNZR3,$SETBp3.0NOPDJNZR2,WR11SETBp3.0SETB EARET;读出温度数据(低位在41H,高位在40H) RD1820: CLR

5、 EA MOVR4,#2;读取字节数MOVR1,#41H;低位存入41H,高位存入40Hloop70:MOVR2,#8;数据一共有8位loop12:CLRCSETBp3.0NOPNOPCLRp3.0NOPNOPNOPSETBp3.0MOVR3,#9loop22:DJNZR3,loop22MOVC,p3.0MOVR3,#23loop32:DJNZR3,loop32RRCADJNZR2,loop12MOVR1,ADECR1DJNZR4,loop70SETB EARET;数据处理子程序JIS1820 :MOVA,41HMOVR0,#04HLOOP50:RR ADJNZR0,LOOP50ANLA,#0

6、FHMOV31H,AMOVR0,#03HMOVA,41HLOOP01:RR ADJNZ R0,LOOP01ANLA,#01HMOVB,#05HMUL ABMOV32H,AMOVA,40HANLA,#07HMOVB,#16MULABADDA,31HMOVB,#10DIVABMOV34H,AMOVA,BMOV33H,AMOVA,34HMOVB,#10DIVABJNZERRORMOVA,40HJBACC.7,LOOP30MOV35H,#0AHLJMPLOOP40LOOP30:MOV35H,#0BHLJMPLOOP40ERROR:MOV 33H,#0CHMOV 34H,#0CHMOV 35H,#0CH

7、MOV 32H,#0CHBAOJ: MOV R0,#250BAO:SETBP3.7LCALL DALLYCLRP3.7LCALL DALLYDJNZ R0,BAOLOOP40:RET;键盘输入子程序JPSR0:MOV33H,#0AHMOV 34H,#0AHMOVR1,#34HMOV 35H,#0AHMOV32H,#0AHJPSR:ACALLKS1JNZLK1AJMPJPSRLK1:ACALLTM12SACALLKS1JNZLK2AJMPJPSRLK2:MOVR2,#0EFHMOVR4,#00HLK4:MOVA,R2MOVP2,AJBP0.0,LONEMOVA,#00HAJMPLKPLONE:J

8、BP0.1,LTWOMOVA,#04HAJMPLKPLTWO:JBP0.2,NEXTMOVA,#08HLKP:ADDA,R4PUSHACCLK3:ACALLKS1JNZLK3POPACCLJMPKENDNEXT:INCR4MOVA,R2JNBP2.7,JPSRRLAMOVR2,AAJMPLK4KEND:MOVR1,ADECR1CJNER1,#31H,JPSRMOV38H,34HMOV37H,33HMOV36H,32HLM:LCALLDSPLAYJBP0.7,LMLCALLTM12SMC:JNBP0.7,MCRETKS1:MOVP2,#00HMOVA,P0CPLAANLA,#0FHRET;延时子

9、程序TM12S:MOVR7,#18HTM9:MOVR6,#0FFHTM6:DJNZR6,TM6DJNZR7,TM9RET;数据比较子程序SHU:CLRCMOVA,38HCJNEA,34H,L1CLRCMOVA,37HCJNEA,33H,L2CLRCMOVA,36HCJNEA,32H,L3JG:LCALLBJLJMPWWL1:JC JGL2:JC JGL3:JC JGWW:NOPRET;报警子程序BJ:MOV33H,#0CHMOV34H,#0CHMOV35H,#0CHMOV32H,#0CHJING:MOVR3,#250J0G:SETBP3.7LCALLDALLYCLRP3.7LCALLDALLY

10、DJNZR3,J0GRET;动态显示子程序DSPLAY: MOVDPTR,#TAB;指定查表启始地址MOVR0,#1LOOP00:MOVR5,#5 ;显示1000次LOOP10:MOVA,32H ;显示小数位 MOVCA,A+DPTR;查小位数的7段代码MOVP1,A ;送出小位的7段代码CLRP3.1 ;开小位显示ACALLDALLY ;显示1MSSETBP3.1MOVA,33H ;取个位数MOVCA,A+DPTR;查个位数的7段代码MOVP1,A ;送出个位的7段代码CLRP3.2 ;开个位显示ACALLDALLY ;显示1MSSETBP3.2MOVA,34H ;取十位数MOVCA,A+D

11、PTR;查十位数的7段代码MOVP1,ACLRP3.3ACALLDALLYSETBP3.3MOVA,35HMOVCA,A+DPTRMOVP1,ACLRP3.4ACALLDALLYSETBP3.4DJNZR5,LOOP10;1000次没完循环DJNZR0,LOOP00;4个1000次没完循环 RETDALLY: MOV 14h,#6AH ;延时1MS子程序LOOP: NOPDJNZ 14h,LOOPRETTAB: DB 3FH ;0 P1.0 接数码管段码的A DB 06H;1 P1.1 接数码管段码的B DB 5BH;2 P1.2 接数码管段码的C DB 4FH;3 P1.3 接数码管段码的D DB 66H;4 P1.4 接数码管段码的E DB 6DH;5 P1.5 接数码管段码的F DB 7DH;6 P1.6 接数码管段码的G DB

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

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号