📄 da-ad.src
字号:
; SOURCE LINE # 97
MOV R7,#090H
LCALL _IRcvByte
MOV A,R7
MOV B,#02H
MUL AB
MOV D+04H,B
MOV D+05H,A
; break;
; SOURCE LINE # 98
SJMP ?C0012
;
; case 3: ISendByte(PCF8591,0x40);
; SOURCE LINE # 100
?C0016:
MOV R5,#040H
MOV R7,#090H
LCALL _ISendByte
; D[3]=IRcvByte(PCF8591)*2; //ADC3 模数转换4
; SOURCE LINE # 101
MOV R7,#090H
LCALL _IRcvByte
MOV A,R7
MOV B,#02H
MUL AB
MOV D+06H,B
MOV D+07H,A
; break;
; SOURCE LINE # 102
SJMP ?C0012
;
; case 4: DACconversion(PCF8591,0x40, D[4]/4); //DAC 数模转换
; SOURCE LINE # 104
?C0017:
MOV A,D+09H
MOV R6,D+08H
MOV R0,#02H
?C0035:
XCH A,R6
CLR C
RRC A
XCH A,R6
RRC A
DJNZ R0,?C0035
MOV R3,A
MOV R5,#040H
MOV R7,#090H
LCALL _DACconversion
; break;
; SOURCE LINE # 105
; }
; SOURCE LINE # 106
?C0012:
;
; // D[4]=400; //数字--->>模拟输出
; D[4]=D[3];
; SOURCE LINE # 109
MOV D+08H,D+06H
MOV D+09H,D+07H
; if(++AD_CHANNEL>4) AD_CHANNEL=0;
; SOURCE LINE # 110
INC AD_CHANNEL
MOV A,AD_CHANNEL
SETB C
SUBB A,#04H
JC ?C0018
CLR A
MOV AD_CHANNEL,A
?C0018:
;
; /********以下将AD的值送到LED数码管显示*************/
;
; LedOut[0]=Disp_Tab[D[1]%10000/1000];
; SOURCE LINE # 114
MOV R6,D+02H
MOV R7,D+03H
MOV R4,#027H
MOV R5,#010H
LCALL ?C?UIDIV
MOV R6,#03H
MOV R7,#0E8H
XCH A,R7
XCH A,R5
XCH A,R7
XCH A,R6
XCH A,R4
XCH A,R6
LCALL ?C?UIDIV
MOV A,#LOW (Disp_Tab)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (Disp_Tab)
ADDC A,R6
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV R7,A
CLR A
MOV R4,A
MOV R5,A
MOV R6,A
MOV DPTR,#LedOut
LCALL ?C?LSTXDATA
; LedOut[1]=Disp_Tab[D[1]%1000/100];
; SOURCE LINE # 115
MOV R6,D+02H
MOV R7,D+03H
MOV R4,#03H
MOV R5,#0E8H
LCALL ?C?UIDIV
MOV R6,#00H
MOV R7,#064H
XCH A,R7
XCH A,R5
XCH A,R7
XCH A,R6
XCH A,R4
XCH A,R6
LCALL ?C?UIDIV
MOV A,#LOW (Disp_Tab)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (Disp_Tab)
ADDC A,R6
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV R7,A
CLR A
MOV R4,A
MOV R5,A
MOV R6,A
MOV DPTR,#LedOut+04H
LCALL ?C?LSTXDATA
; LedOut[2]=Disp_Tab[D[1]%100/10]&0x7f;
; SOURCE LINE # 116
MOV R6,D+02H
MOV R7,D+03H
MOV R4,#00H
MOV R5,#064H
LCALL ?C?UIDIV
MOV R6,#00H
MOV R7,#0AH
XCH A,R7
XCH A,R5
XCH A,R7
XCH A,R6
XCH A,R4
XCH A,R6
LCALL ?C?UIDIV
MOV A,#LOW (Disp_Tab)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (Disp_Tab)
ADDC A,R6
MOV DPH,A
CLR A
MOVC A,@A+DPTR
ANL A,#07FH
MOV R7,A
CLR A
MOV R4,A
MOV R5,A
MOV R6,A
MOV DPTR,#LedOut+08H
LCALL ?C?LSTXDATA
; LedOut[3]=Disp_Tab[D[1]%10];
; SOURCE LINE # 117
MOV R6,D+02H
MOV R7,D+03H
MOV R4,#00H
MOV R5,#0AH
LCALL ?C?UIDIV
MOV A,#LOW (Disp_Tab)
ADD A,R5
MOV DPL,A
MOV A,#HIGH (Disp_Tab)
ADDC A,R4
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV R7,A
CLR A
MOV R4,A
MOV R5,A
MOV R6,A
MOV DPTR,#LedOut+0CH
LCALL ?C?LSTXDATA
;
; LedOut[4]=Disp_Tab[D[0]%10000/1000];
; SOURCE LINE # 119
MOV R6,D
MOV R7,D+01H
MOV R4,#027H
MOV R5,#010H
LCALL ?C?UIDIV
MOV R6,#03H
MOV R7,#0E8H
XCH A,R7
XCH A,R5
XCH A,R7
XCH A,R6
XCH A,R4
XCH A,R6
LCALL ?C?UIDIV
MOV A,#LOW (Disp_Tab)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (Disp_Tab)
ADDC A,R6
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV R7,A
CLR A
MOV R4,A
MOV R5,A
MOV R6,A
MOV DPTR,#LedOut+010H
LCALL ?C?LSTXDATA
; LedOut[5]=Disp_Tab[D[0]%1000/100]&0x7f;
; SOURCE LINE # 120
MOV R6,D
MOV R7,D+01H
MOV R4,#03H
MOV R5,#0E8H
LCALL ?C?UIDIV
MOV R6,#00H
MOV R7,#064H
XCH A,R7
XCH A,R5
XCH A,R7
XCH A,R6
XCH A,R4
XCH A,R6
LCALL ?C?UIDIV
MOV A,#LOW (Disp_Tab)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (Disp_Tab)
ADDC A,R6
MOV DPH,A
CLR A
MOVC A,@A+DPTR
ANL A,#07FH
MOV R7,A
CLR A
MOV R4,A
MOV R5,A
MOV R6,A
MOV DPTR,#LedOut+014H
LCALL ?C?LSTXDATA
; LedOut[6]=Disp_Tab[D[0]%100/10];
; SOURCE LINE # 121
MOV R6,D
MOV R7,D+01H
MOV R4,#00H
MOV R5,#064H
LCALL ?C?UIDIV
MOV R6,#00H
MOV R7,#0AH
XCH A,R7
XCH A,R5
XCH A,R7
XCH A,R6
XCH A,R4
XCH A,R6
LCALL ?C?UIDIV
MOV A,#LOW (Disp_Tab)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (Disp_Tab)
ADDC A,R6
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV R7,A
CLR A
MOV R4,A
MOV R5,A
MOV R6,A
MOV DPTR,#LedOut+018H
LCALL ?C?LSTXDATA
; LedOut[7]=Disp_Tab[D[0]%10];
; SOURCE LINE # 122
MOV R6,D
MOV R7,D+01H
MOV R4,#00H
MOV R5,#0AH
LCALL ?C?UIDIV
MOV A,#LOW (Disp_Tab)
ADD A,R5
MOV DPL,A
MOV A,#HIGH (Disp_Tab)
ADDC A,R4
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV R7,A
CLR A
MOV R4,A
MOV R5,A
MOV R6,A
MOV DPTR,#LedOut+01CH
LCALL ?C?LSTXDATA
;
;
; for( i=0; i<8; i++)
; SOURCE LINE # 125
CLR A
MOV i?347,A
?C0019:
CLR C
MOV A,i?347
XRL A,#080H
SUBB A,#088H
JC $ + 5H
LJMP ?C0010
; { P1 = LedOut[i];
; SOURCE LINE # 126
MOV R7,i?347
MOV A,R7
RLC A
SUBB A,ACC
MOV R6,A
MOV A,R7
MOV R0,#02H
?C0036:
CLR C
RLC A
XCH A,R6
RLC A
XCH A,R6
DJNZ R0,?C0036
ADD A,#LOW (LedOut)
MOV DPL,A
MOV A,#HIGH (LedOut)
ADDC A,R6
MOV DPH,A
INC DPTR
INC DPTR
INC DPTR
MOVX A,@DPTR
MOV P1,A
;
; switch(i)
; SOURCE LINE # 128
MOV A,i?347
CJNE A,#08H,?C0037
?C0037:
JNC ?C0022
MOV DPTR,#?C0038
MOV R0,A
ADD A,R0
ADD A,R0
JMP @A+DPTR
?C0038:
LJMP ?C0023
LJMP ?C0024
LJMP ?C0025
LJMP ?C0026
LJMP ?C0027
LJMP ?C0028
LJMP ?C0029
LJMP ?C0030
; {
; SOURCE LINE # 129
; case 0:LS138A=0; LS138B=0; LS138C=0; break;
; SOURCE LINE # 130
?C0023:
CLR LS138A
SJMP ?C0039
; case 1:LS138A=1; LS138B=0; LS138C=0; break;
; SOURCE LINE # 131
?C0024:
SETB LS138A
?C0039:
CLR LS138B
CLR LS138C
SJMP ?C0022
; case 2:LS138A=0; LS138B=1; LS138C=0; break;
; SOURCE LINE # 132
?C0025:
CLR LS138A
SJMP ?C0040
; case 3:LS138A=1; LS138B=1; LS138C=0; break;
; SOURCE LINE # 133
?C0026:
SETB LS138A
?C0040:
SETB LS138B
CLR LS138C
SJMP ?C0022
; case 4:LS138A=0; LS138B=0; LS138C=1; break;
; SOURCE LINE # 134
?C0027:
CLR LS138A
SJMP ?C0041
; case 5:LS138A=1; LS138B=0; LS138C=1; break;
; SOURCE LINE # 135
?C0028:
SETB LS138A
?C0041:
CLR LS138B
SETB LS138C
SJMP ?C0022
; case 6:LS138A=0; LS138B=1; LS138C=1; break;
; SOURCE LINE # 136
?C0029:
CLR LS138A
SJMP ?C0042
; case 7:LS138A=1; LS138B=1; LS138C=1; break;
; SOURCE LINE # 137
?C0030:
SETB LS138A
?C0042:
SETB LS138B
SETB LS138C
;
; }
; SOURCE LINE # 139
?C0022:
;
; for (j = 0 ; j<90 ;j++) { ;}
; SOURCE LINE # 141
;---- Variable 'j?348' assigned to Register 'R7' ----
CLR A
MOV R7,A
?C0031:
INC R7
CJNE R7,#05AH,?C0031
; }
; SOURCE LINE # 142
?C0021:
INC i?347
LJMP ?C0019
; END OF main
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -