?? gressy.src
字號:
AJMP ?C0010
; {
; SOURCE LINE # 84
; /* PowerUp();
; Delay(5);
; PowerUp();
; Delay(10);
; */
; RECERROR=1;
; SOURCE LINE # 90
SETB RECERROR
; SetRec(addrl,addrh);
; SOURCE LINE # 91
MOV C,EA
MOV EAB,C
CLR EA
CLR SS
CLR SS
MOV R7,addrl?046
LCALL _SendByte
MOV R7,addrh?045
LCALL _SendByte
MOV R7,#0A0H
LCALL _SendByte
; // Delay(1);
; Rec();
; SOURCE LINE # 93
LCALL ?C0047
CLR A
MOV R7,A
LCALL _SendByte
MOV R7,#0B0H
LCALL _SendByte
MOV C,EAB
MOV EA,C
SETB SS
; RECLED=0;
; SOURCE LINE # 94
CLR RECLED
; td=6000-20;
; SOURCE LINE # 95
MOV td,#017H
MOV td+01H,#05CH
?C0016:
; while(STSP&&td&&REC){if(RECERR) RECERROR=0;};
; SOURCE LINE # 96
MOV A,INPORT
CPL A
MOV R7,A
JNB ACC.2,?C0019
MOV A,td+01H
ORL A,td
JZ ?C0019
MOV A,R7
JNB ACC.0,?C0019
JNB ACC.7,?C0016
CLR RECERROR
SJMP ?C0016
?C0019:
; while((!STSP)&&td&&REC){if(RECERR) RECERROR=0;};
; SOURCE LINE # 97
MOV A,INPORT
CPL A
MOV R7,A
JB ACC.2,?C0020
MOV A,td+01H
ORL A,td
JZ ?C0020
MOV A,R7
JNB ACC.0,?C0020
JNB ACC.7,?C0019
CLR RECERROR
SJMP ?C0019
?C0020:
; Stop();
; SOURCE LINE # 98
LCALL L?0048
CLR A
MOV R7,A
LCALL _SendByte
MOV R7,#070H
LCALL _SendByte
MOV C,EAB
MOV EA,C
SETB SS
; RECLED=1;
; SOURCE LINE # 99
SETB RECLED
; Delay(20);
; SOURCE LINE # 100
LCALL L?0051
?C0022:
; // StopPwrdn();
; // Delay(1);
; while(STSP);
; SOURCE LINE # 103
MOV A,INPORT
CPL A
JB ACC.2,?C0022
; }
; SOURCE LINE # 104
; }
; SOURCE LINE # 105
?C0010:
; ledchange=0;
; SOURCE LINE # 106
CLR ledchange?041
; if(oldLAST&&LAST)
; SOURCE LINE # 107
JNB oldLAST?042,?C0024
MOV A,INPORT
CPL A
JNB ACC.3,?C0024
; {
; SOURCE LINE # 108
; if(ledno>1) ledno--;else ledno=1;
; SOURCE LINE # 109
SETB C
MOV A,ledno?040
XRL A,#080H
SUBB A,#081H
JC ?C0025
DEC ledno?040
SJMP ?C0026
?C0025:
MOV ledno?040,#01H
?C0026:
; ledchange=1;
; SOURCE LINE # 110
SETB ledchange?041
; }
; SOURCE LINE # 111
?C0024:
; if(oldNEXT&&NEXT)
; SOURCE LINE # 112
JNB oldNEXT?043,?C0027
MOV A,INPORT
CPL A
JNB ACC.4,?C0027
; {
; SOURCE LINE # 113
; if(ledno<MAXNO) ledno++;else ledno=MAXNO;
; SOURCE LINE # 114
CLR C
MOV A,ledno?040
XRL A,#080H
SUBB A,#088H
JNC ?C0028
INC ledno?040
SJMP ?C0029
?C0028:
MOV ledno?040,#08H
?C0029:
; ledchange=1;
; SOURCE LINE # 115
SETB ledchange?041
; }
; SOURCE LINE # 116
?C0027:
; oldLAST=!LAST;
; SOURCE LINE # 117
MOV A,INPORT
CPL A
MOV C,ACC.3
CPL C
MOV oldLAST?042,C
; oldNEXT=!NEXT;
; SOURCE LINE # 118
MOV C,ACC.4
CPL C
MOV oldNEXT?043,C
; }
; SOURCE LINE # 119
AJMP ?C0001
?C0003:
; else
; {
; SOURCE LINE # 121
; // StopPwrdn();
; Stop();
; SOURCE LINE # 123
LCALL L?0048
CLR A
MOV R7,A
LCALL _SendByte
MOV R7,#070H
LCALL _SendByte
; Delay(20);
; SOURCE LINE # 124
LCALL L?0050
; SMG=~0;
; SOURCE LINE # 125
MOV P2,#0FFH
; isplay=0;isrecord=0;ledchange=0;
; SOURCE LINE # 126
CLR isplay
CLR isrecord
CLR ledchange?041
; }
; SOURCE LINE # 127
;
; }
; SOURCE LINE # 129
AJMP ?C0001
; END OF main
; }
; void Initial(void)
RSEG ?PR?Initial?REC
Initial:
; SOURCE LINE # 131
; {
; SOURCE LINE # 132
; P0=P1=P2=P3=0xff;
; SOURCE LINE # 133
MOV P3,#0FFH
MOV P2,#0FFH
MOV P1,#0FFH
MOV P0,#0FFH
; // RECLED=1;
; INPORT=P1;
; SOURCE LINE # 135
MOV INPORT,P1
; TMOD=0X11;
; SOURCE LINE # 136
MOV TMOD,#011H
; TR0=1;
; SOURCE LINE # 137
SETB TR0
; EX0=ET0=1;
; SOURCE LINE # 138
SETB ET0
SETB EX0
; EA=1;
; SOURCE LINE # 139
SETB EA
; TL0=T10MS & 256;
; SOURCE LINE # 140
CLR A
MOV TL0,A
; TH0=T10MS/256;
; SOURCE LINE # 141
MOV TH0,#0B2H
; }
; SOURCE LINE # 142
RET
; END OF Initial
; void SendByte(char sd)
RSEG ?PR?_SendByte?REC
L?0047:
USING 0
MOV C,EAB
MOV EA,C
SETB SS
L?0048:
MOV C,EA
MOV EAB,C
CLR EA
CLR SS
CLR SS
CLR A
MOV R7,A
_SendByte:
USING 0
; SOURCE LINE # 143
;---- Variable 'sd?247' assigned to Register 'R7' ----
; {
; SOURCE LINE # 144
; char i;
; unsigned char shd;
; for(shd=1,i=0;i<8;i++,shd<<=1)
; SOURCE LINE # 147
;---- Variable 'shd?249' assigned to Register 'R6' ----
MOV R6,#01H
;---- Variable 'i?248' assigned to Register 'R5' ----
CLR A
MOV R5,A
?C0033:
CLR C
MOV A,R5
XRL A,#080H
SUBB A,#088H
JNC ?C0034
; {
; SOURCE LINE # 148
;
; SCLK=0;
; SOURCE LINE # 150
CLR SCLK
; MOSI=shd&sd?1:0;
; SOURCE LINE # 151
MOV A,R7
ANL A,R6
JZ ?C0036
SJMP ?C0037
?C0036:
CLR C
?C0037:
MOV MOSI,C
; SCLK=0;
; SOURCE LINE # 152
CLR SCLK
; SCLK=0;
; SOURCE LINE # 153
CLR SCLK
; SCLK=0;
; SOURCE LINE # 154
CLR SCLK
; SCLK=0;
; SOURCE LINE # 155
CLR SCLK
; SCLK=0;
; SOURCE LINE # 156
CLR SCLK
; SCLK=0;
; SOURCE LINE # 157
CLR SCLK
; SCLK=0;
; SOURCE LINE # 158
CLR SCLK
; SCLK=1;
; SOURCE LINE # 159
SETB SCLK
; SCLK=1;
; SOURCE LINE # 160
SETB SCLK
; SCLK=1;
; SOURCE LINE # 161
SETB SCLK
; SCLK=1;
; SOURCE LINE # 162
SETB SCLK
; SCLK=1;
; SOURCE LINE # 163
SETB SCLK
; SCLK=1;
; SOURCE LINE # 164
SETB SCLK
; SCLK=1;
; SOURCE LINE # 165
SETB SCLK
; }
; SOURCE LINE # 166
INC R5
MOV A,R6
ADD A,ACC
MOV R6,A
SJMP ?C0033
?C0034:
; MOSI=0;
; SOURCE LINE # 167
CLR MOSI
; SCLK=0;
; SOURCE LINE # 168
CLR SCLK
; }
; SOURCE LINE # 169
RET
; END OF _SendByte
CSEG AT 00003H
LJMP PowerOff
; void PowerOff (void) interrupt INT0INT
RSEG ?PR?PowerOff?REC
USING 0
PowerOff:
; SOURCE LINE # 170
; {
; // StopPwrdn();
; EA=0;
; SOURCE LINE # 173
CLR EA
; ET0=0;
; SOURCE LINE # 174
CLR ET0
; P0=P1=P2=P3=0;
; SOURCE LINE # 175
MOV P3,#00H
MOV P2,#00H
MOV P1,#00H
MOV P0,#00H
; PCON|=0x2;
; SOURCE LINE # 176
ORL PCON,#02H
; }
; SOURCE LINE # 177
RETI
; END OF PowerOff
CSEG AT 0000BH
LJMP Time10ms
; void Time10ms (void) interrupt TIMER0INT
RSEG ?PR?Time10ms?REC
USING 0
Time10ms:
PUSH ACC
PUSH PSW
MOV PSW,#00H
PUSH AR5
PUSH AR6
PUSH AR7
USING 0
; SOURCE LINE # 178
; {
; static char cn=100;
; static char InP1=0,InP2=0;
; char InP,InP3;
; TL0=T10MS & 256;
; SOURCE LINE # 183
MOV TL0,#00H
; TH0=T10MS/256;
; SOURCE LINE # 184
MOV TH0,#0B2H
;
; InP=INPORT^P1;
; SOURCE LINE # 186
MOV A,INPORT
XRL A,P1
MOV R7,A
;---- Variable 'InP?453' assigned to Register 'R7' ----
; InP3=InP&InP2;
; SOURCE LINE # 187
ANL A,InP2?452
MOV R6,A
;---- Variable 'InP3?454' assigned to Register 'R6' ----
; InP2=InP&InP1&(~InP3);
; SOURCE LINE # 188
MOV A,InP1?451
ANL A,R7
MOV R5,A
MOV A,R6
CPL A
ANL A,R5
MOV InP2?452,A
; InP1=InP&(~InP3);
; SOURCE LINE # 189
MOV A,R6
CPL A
ANL A,R7
MOV InP1?451,A
; InP^=INPORT;
; SOURCE LINE # 190
MOV A,INPORT
XRL AR7,A
; InP&=InP3;
; SOURCE LINE # 191
MOV A,R6
ANL AR7,A
; INPORT&=~InP3;
; SOURCE LINE # 192
MOV A,R6
CPL A
ANL INPORT,A
; INPORT|=InP;
; SOURCE LINE # 193
MOV A,R7
ORL INPORT,A
;
; if(td) td--;
; SOURCE LINE # 195
MOV A,td+01H
ORL A,td
JZ ?C0040
MOV A,td+01H
DEC td+01H
JNZ ?C0046
DEC td
?C0046:
?C0040:
;
; if(!(--cn))
; SOURCE LINE # 197
DJNZ cn?450,?C0042
; {
; SOURCE LINE # 198
; cn=100;
; SOURCE LINE # 199
MOV cn?450,#064H
; SMG^=0x80;
; SOURCE LINE # 200
XRL P2,#080H
; }
; SOURCE LINE # 201
; }
; SOURCE LINE # 202
?C0042:
POP AR7
POP AR6
POP AR5
POP PSW
POP ACC
RETI
; END OF Time10ms
; void Delay(int a)
RSEG ?PR?_Delay?REC
L?0049:
USING 0
L?0050:
MOV C,EAB
MOV EA,C
SETB SS
L?0051:
MOV R7,#014H
MOV R6,#00H
_Delay:
; SOURCE LINE # 203
;---- Variable 'a?555' assigned to Register 'R6/R7' ----
; {
; SOURCE LINE # 204
; td=a;
; SOURCE LINE # 205
MOV td,R6
MOV td+01H,R7
?C0043:
; while(td);
; SOURCE LINE # 206
MOV A,td+01H
ORL A,td
JNZ ?C0043
; }
; SOURCE LINE # 207
?C0045:
RET
; END OF _Delay
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -