?? tcmain.src
字號(hào):
MOV A,@R0
MOV inbuf1,A
; inbuf1[1]=dis_8[LED_Three];
; SOURCE LINE # 407
MOV A,#LOW (dis_8)
ADD A,LED_Three
MOV R0,A
MOV A,@R0
MOV inbuf1+01H,A
; inbuf1[2]=dis_8[0];
; SOURCE LINE # 408
MOV inbuf1+02H,dis_8
; inbuf1[3]=0x0d;
; SOURCE LINE # 409
MOV inbuf1+03H,#0DH
; inbuf1[4]=0x0a;
; SOURCE LINE # 410
MOV inbuf1+04H,#0AH
; }
; SOURCE LINE # 411
; }
; SOURCE LINE # 412
?C0061:
;
; init_serialcomm(); //初始化串口
; SOURCE LINE # 414
ACALL init_serialcomm
;
; //while ( 1 )
; //{
; send_string_com(inbuf1,INBUF_LEN);
; SOURCE LINE # 418
MOV R3,#00H
MOV R2,#HIGH (inbuf1)
MOV R1,#LOW (inbuf1)
MOV R5,#05H
MOV R4,#00H
ACALL _send_string_com
;
; //轉(zhuǎn)LED字段
; if (LED_One) //超過(guò)百時(shí)十位的處理
; SOURCE LINE # 421
MOV A,LED_One
JZ ?C0065
; LED_Two = LEDDis[LED_Two];
; SOURCE LINE # 422
SJMP ?C0095
?C0065:
; else
; {
; SOURCE LINE # 424
; if (LED_Two == 0)
; SOURCE LINE # 425
MOV A,LED_Two
JNZ ?C0067
; LED_Two = LEDDis[10];
; SOURCE LINE # 426
MOV DPTR,#LEDDis+0AH
SJMP ?C0096
?C0067:
; else
; LED_Two = LEDDis[LED_Two];
; SOURCE LINE # 428
?C0095:
MOV R7,LED_Two
MOV A,R7
RLC A
SUBB A,ACC
MOV R6,A
MOV A,#LOW (LEDDis)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (LEDDis)
ADDC A,R6
MOV DPH,A
CLR A
?C0096:
MOVC A,@A+DPTR
MOV LED_Two,A
; }
; SOURCE LINE # 429
?C0066:
; if (Sign)
; SOURCE LINE # 430
MOV A,Sign
JZ ?C0069
; LED_One = LEDDis[11];
; SOURCE LINE # 431
MOV DPTR,#LEDDis+0BH
SJMP ?C0097
?C0069:
; else
; {
; SOURCE LINE # 433
; if (LED_One == 0)
; SOURCE LINE # 434
MOV A,LED_One
JNZ ?C0071
; LED_One = LEDDis[10];
; SOURCE LINE # 435
MOV DPTR,#LEDDis+0AH
SJMP ?C0098
?C0071:
; else
; LED_One = LEDDis[LED_One];
; SOURCE LINE # 437
MOV R7,LED_One
MOV A,R7
RLC A
SUBB A,ACC
MOV R6,A
MOV A,#LOW (LEDDis)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (LEDDis)
ADDC A,R6
MOV DPH,A
?C0097:
CLR A
?C0098:
MOVC A,@A+DPTR
MOV LED_One,A
; }
; SOURCE LINE # 438
?C0070:
; LED_Three = LEDDis[LED_Three];
; SOURCE LINE # 439
MOV R7,LED_Three
MOV A,R7
RLC A
SUBB A,ACC
MOV R6,A
MOV A,#LOW (LEDDis)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (LEDDis)
ADDC A,R6
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV LED_Three,A
; }
; SOURCE LINE # 440
RET
; END OF V2ToV
;
; void InitDS1820(void) //初始化DS1820
RSEG ?PR?InitDS1820?TCMAIN
InitDS1820:
USING 0
; SOURCE LINE # 442
; {
; SOURCE LINE # 443
; TMPort = 1; //拉高TMPort
; SOURCE LINE # 444
SETB P3_3
; _nop_(); //保持一個(gè)周期
; SOURCE LINE # 445
NOP
; TMPort = 0; //拉低TMPort
; SOURCE LINE # 446
CLR P3_3
; Delay_510(); //延時(shí) DS1820復(fù)位時(shí)間要500us的低電平
; SOURCE LINE # 447
ACALL Delay_510
; TMPort = 1; //拉高TMPort
; SOURCE LINE # 448
SETB P3_3
; _nop_(); //保持
; SOURCE LINE # 449
NOP
; _nop_();
; SOURCE LINE # 450
NOP
; _nop_();
; SOURCE LINE # 451
NOP
;
; Delay_110(); //延時(shí)110us 等待DS1820回應(yīng)
; SOURCE LINE # 453
ACALL Delay_110
; if (!TMPort) //回應(yīng)信號(hào)為低電平
; SOURCE LINE # 454
JB P3_3,?C0074
; DS1820ON = 1;
; SOURCE LINE # 455
SETB DS1820ON
SJMP ?C0075
?C0074:
; else
; DS1820ON = 0;
; SOURCE LINE # 457
CLR DS1820ON
?C0075:
; Delay_110(); //延時(shí)
; SOURCE LINE # 458
ACALL Delay_110
; Delay_110();
; SOURCE LINE # 459
ACALL Delay_110
; TMPort = 1; //拉高TMPort
; SOURCE LINE # 460
SETB P3_3
; }
; SOURCE LINE # 461
RET
; END OF InitDS1820
;
; void ROMDS1820(void) //跳過(guò)ROM匹配
RSEG ?PR?ROMDS1820?TCMAIN
ROMDS1820:
; SOURCE LINE # 463
; {
; SOURCE LINE # 464
; #pragma asm
; MOV A,#0CCH
MOV A,#0CCH
; MOV R2,#8
MOV R2,#8
; CLR C
CLR C
; WR1:
WR1:
; CLR P3_3
CLR P3_3
; MOV R3,#6
MOV R3,#6
; DJNZ R3,$
DJNZ R3,$
; RRC A
RRC A
; MOV P3_3,C
MOV P3_3,C
; MOV R3,#23
MOV R3,#23
; DJNZ R3,$
DJNZ R3,$
; SETB P3_3
SETB P3_3
; NOP
NOP
; DJNZ R2,WR1
DJNZ R2,WR1
; SETB P3_3
SETB P3_3
; #pragma endasm
; }
; SOURCE LINE # 482
RET
; END OF ROMDS1820
;
; void TMVDS1820(void) //溫度轉(zhuǎn)換指令
RSEG ?PR?TMVDS1820?TCMAIN
TMVDS1820:
; SOURCE LINE # 484
; {
; SOURCE LINE # 485
; #pragma asm
; MOV A,#44H
MOV A,#44H
; MOV R2,#8
MOV R2,#8
; CLR C
CLR C
; WR2:
WR2:
; CLR P3_3
CLR P3_3
; MOV R3,#6
MOV R3,#6
; DJNZ R3,$
DJNZ R3,$
; RRC A
RRC A
; MOV P3_3,C
MOV P3_3,C
; MOV R3,#23
MOV R3,#23
; DJNZ R3,$
DJNZ R3,$
; SETB P3_3
SETB P3_3
; NOP
NOP
; DJNZ R2,WR2
DJNZ R2,WR2
; SETB P3_3
SETB P3_3
; #pragma endasm
; }
; SOURCE LINE # 503
RET
; END OF TMVDS1820
;
; void TMRDS1820(void) //讀出溫度指令
RSEG ?PR?TMRDS1820?TCMAIN
TMRDS1820:
; SOURCE LINE # 505
; {
; SOURCE LINE # 506
; #pragma asm
; MOV A,#0BEH
MOV A,#0BEH
; MOV R2,#8
MOV R2,#8
; CLR C
CLR C
; WR3:
WR3:
; CLR P3_3
CLR P3_3
; MOV R3,#6
MOV R3,#6
; DJNZ R3,$
DJNZ R3,$
; RRC A
RRC A
; MOV P3_3,C
MOV P3_3,C
; MOV R3,#23
MOV R3,#23
; DJNZ R3,$
DJNZ R3,$
; SETB P3_3
SETB P3_3
; NOP
NOP
; DJNZ R2,WR3
DJNZ R2,WR3
; SETB P3_3
SETB P3_3
; #pragma endasm
; }
; SOURCE LINE # 524
RET
; END OF TMRDS1820
;
; void TMWDS1820(void) //寫入溫度限制指令
RSEG ?PR?TMWDS1820?TCMAIN
TMWDS1820:
; SOURCE LINE # 526
; {
; SOURCE LINE # 527
; #pragma asm
; MOV A,#04EH
MOV A,#04EH
; MOV R2,#8
MOV R2,#8
; CLR C
CLR C
; WR13:
WR13:
; CLR P3_3
CLR P3_3
; MOV R3,#6
MOV R3,#6
; DJNZ R3,$
DJNZ R3,$
; RRC A
RRC A
; MOV P3_3,C
MOV P3_3,C
; MOV R3,#23
MOV R3,#23
; DJNZ R3,$
DJNZ R3,$
; SETB P3_3
SETB P3_3
; NOP
NOP
; DJNZ R2,WR13
DJNZ R2,WR13
; SETB P3_3
SETB P3_3
; #pragma endasm
; }
; SOURCE LINE # 545
RET
; END OF TMWDS1820
;
; void TMREDS1820(void) //COPY RAM to E2PRAM
RSEG ?PR?TMREDS1820?TCMAIN
TMREDS1820:
; SOURCE LINE # 547
; {
; SOURCE LINE # 548
; #pragma asm
; MOV A,#48H
MOV A,#48H
; MOV R2,#8
MOV R2,#8
; CLR C
CLR C
; WR33:
WR33:
; CLR P3_3
CLR P3_3
; MOV R3,#6
MOV R3,#6
; DJNZ R3,$
DJNZ R3,$
; RRC A
RRC A
; MOV P3_3,C
MOV P3_3,C
; MOV R3,#23
MOV R3,#23
; DJNZ R3,$
DJNZ R3,$
; SETB P3_3
SETB P3_3
; NOP
NOP
; DJNZ R2,WR33
DJNZ R2,WR33
; SETB P3_3
SETB P3_3
; #pragma endasm
; }
; SOURCE LINE # 566
RET
; END OF TMREDS1820
;
; void TMERDS1820(void) //COPY E2PRAM to RAM
RSEG ?PR?TMERDS1820?TCMAIN
TMERDS1820:
; SOURCE LINE # 568
; {
; SOURCE LINE # 569
; #pragma asm
; MOV A,#0B8H
MOV A,#0B8H
; MOV R2,#8
MOV R2,#8
; CLR C
CLR C
; WR43:
WR43:
; CLR P3_3
CLR P3_3
; MOV R3,#6
MOV R3,#6
; DJNZ R3,$
DJNZ R3,$
; RRC A
RRC A
; MOV P3_3,C
MOV P3_3,C
; MOV R3,#23
MOV R3,#23
; DJNZ R3,$
DJNZ R3,$
; SETB P3_3
SETB P3_3
; NOP
NOP
; DJNZ R2,WR43
DJNZ R2,WR43
; SETB P3_3
SETB P3_3
; #pragma endasm
; }
; SOURCE LINE # 587
RET
; END OF TMERDS1820
;
; void WriteDS1820(void) //寫入溫度限制值
RSEG ?PR?WriteDS1820?TCMAIN
WriteDS1820:
; SOURCE LINE # 589
; {
; SOURCE LINE # 590
; #pragma asm
; MOV A,26H //發(fā)出4EH寫ROM指令后連發(fā)兩個(gè)字節(jié)分別為上下限
MOV A,26H
; MOV R2,#8
MOV R2,#8
; CLR C
CLR C
; WR23:
WR23:
; CLR P3_3
CLR P3_3
; MOV R3,#6
MOV R3,#6
; DJNZ R3,$
DJNZ R3,$
; RRC A
RRC A
; MOV P3_3,C
MOV P3_3,C
; MOV R3,#23
MOV R3,#23
; DJNZ R3,$
DJNZ R3,$
; SETB P3_3
SETB P3_3
; NOP
NOP
; DJNZ R2,WR23
DJNZ R2,WR23
; SETB P3_3
SETB P3_3
; #pragma endasm
; }
; SOURCE LINE # 608
RET
; END OF WriteDS1820
;
; void ReadDS1820(void) //讀出溫度值
RSEG ?PR?ReadDS1820?TCMAIN
ReadDS1820:
; SOURCE LINE # 610
; {
; SOURCE LINE # 611
; #pragma asm
; MOV R4,#3 ;// 將溫度高位和低位,高溫限制位從DS18B20中讀出
MOV R4,#3 ;
; MOV R1,#29H ; //低位存入29H(TEMPER_L),高位存入28H(TEMPER_H),高溫限制位存入27H(TMRomV)
MOV R1,#29H ;
; RE00:
RE00:
; MOV R2,#8
MOV R2,#8
; RE01:
RE01:
; CLR C
CLR C
; SETB P3_3
SETB P3_3
; NOP
NOP
; NOP
NOP
; CLR P3_3
CLR P3_3
; NOP
NOP
; NOP
NOP
; NOP
NOP
; SETB P3_3
SETB P3_3
; MOV R3,#09
MOV R3,#09
; RE10:
RE10:
; DJNZ R3,RE10
DJNZ R3,RE10
; MOV C,P3_3
MOV C,P3_3
; MOV R3,#23
MOV R3,#23
; RE20:
RE20:
; DJNZ R3,RE20
DJNZ R3,RE20
; RRC A
RRC A
; DJNZ R2,RE01
DJNZ R2,RE01
; MOV @R1,A
MOV @R1,A
; DEC R1
DEC R1
; DJNZ R4,RE00
DJNZ R4,RE00
; #pragma endasm
; }
; SOURCE LINE # 640
RET
; END OF ReadDS1820
;
; void Delay_510(void) //延時(shí)510微秒
RSEG ?PR?Delay_510?TCMAIN
Delay_510:
; SOURCE LINE # 642
; {
; SOURCE LINE # 643
; #pragma asm
; MOV R0,#7DH
MOV R0,#7DH
; MOV R1,#02H
MOV R1,#02H
; TSR1:
TSR1:
; DJNZ R0,TSR1
DJNZ R0,TSR1
; MOV R0,#7DH
MOV R0,#7DH
; DJNZ R1,TSR1
DJNZ R1,TSR1
; #pragma endasm
; }
; SOURCE LINE # 652
RET
; END OF Delay_510
;
; void Delay_110(void) //延時(shí)110微秒
RSEG ?PR?Delay_110?TCMAIN
Delay_110:
; SOURCE LINE # 654
; {
; SOURCE LINE # 655
; #pragma asm
; MOV R0,#19H
MOV R0,#19H
; MOV R1,#02H
MOV R1,#02H
; TSR2:
TSR2:
; DJNZ R0,TSR2
DJNZ R0,TSR2
; MOV R0,#19H
MOV R0,#19H
; DJNZ R1,TSR2
DJNZ R1,TSR2
; #pragma endasm
; }
; SOURCE LINE # 664
RET
; END OF Delay_110
;
; void Delay_10ms(void) //延時(shí)10ms
RSEG ?PR?Delay_10ms?TCMAIN
Delay_10ms:
; SOURCE LINE # 666
; {
; SOURCE LINE # 667
; #pragma asm
; MOV R0,#19H
MOV R0,#19H
; MOV R1,#0C8H
MOV R1,#0C8H
; TSR3:
TSR3:
; DJNZ R0,TSR3
DJNZ R0,TSR3
; MOV R0,#19H
MOV R0,#19H
; DJNZ R1,TSR3
DJNZ R1,TSR3
; #pragma endasm
; }
; SOURCE LINE # 676
RET
; END OF Delay_10ms
;
; void Delay_4s(void) //延時(shí)4s
RSEG ?PR?Delay_4s?TCMAIN
Delay_4s:
; SOURCE LINE # 678
; {
; SOURCE LINE # 679
; #pragma asm
; MOV R2,#28H
MOV R2,#28H
; TSR5:
TSR5:
; MOV R0,#0FAH
MOV R0,#0FAH
; MOV R1,#0C8H
MOV R1,#0C8H
; TSR4:
TSR4:
; DJNZ R0,TSR4
DJNZ R0,TSR4
; MOV R0,#0FAH
MOV R0,#0FAH
; DJNZ R1,TSR4
DJNZ R1,TSR4
; DJNZ R2,TSR5
DJNZ R2,TSR5
; #pragma endasm
; }
; SOURCE LINE # 691
RET
; END OF Delay_4s
END
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -