📄 spoker.src
字号:
SETB IN4
; START=0;
; SOURCE LINE # 222
CLR START
; time1=1;
; SOURCE LINE # 223
MOV time1,#01H
; time2=1;
; SOURCE LINE # 224
MOV time2,#01H
; counter1=170;
; SOURCE LINE # 225
MOV counter1,#0AAH
; counter2=30;
; SOURCE LINE # 226
MOV counter2,#01EH
?C0037:
; //BACK=0;
; while(1)
; SOURCE LINE # 228
; {
; SOURCE LINE # 229
; LEDG=~LEDG;
; SOURCE LINE # 230
CPL LEDG
; EA=1;
; SOURCE LINE # 231
SETB EA
; avge=pingjun();
; SOURCE LINE # 232
LCALL pingjun
MOV avge+03H,R7
MOV avge+02H,R6
MOV avge+01H,R5
MOV avge,R4
; BCD_H_L(avge-200,0);
; SOURCE LINE # 233
MOV A,R7
ADD A,#038H
MOV R7,A
MOV A,R6
ADDC A,#0FFH
MOV R6,A
CLR A
MOV R5,A
LCALL _BCD_H_L
; a=IN0;
; SOURCE LINE # 234
MOV C,IN0
CLR A
RLC A
MOV a?,A
; bb=IN1;
; SOURCE LINE # 235
MOV C,IN1
CLR A
RLC A
MOV bb,A
; c=IN2;
; SOURCE LINE # 236
MOV C,IN2
CLR A
RLC A
MOV c?,A
; d=IN3;
; SOURCE LINE # 237
MOV C,IN3
CLR A
RLC A
MOV d,A
; e=IN4;
; SOURCE LINE # 238
MOV C,IN4
CLR A
RLC A
MOV e,A
; if(black==1)
; SOURCE LINE # 239
MOV A,black
CJNE A,#01H,?C0039
; {
; SOURCE LINE # 240
; START=1;
; SOURCE LINE # 241
SETB START
; TR1=1;
; SOURCE LINE # 242
SETB TR1
; time2=0;
; SOURCE LINE # 243
CLR A
MOV time2,A
; judgement(80,20);
; SOURCE LINE # 244
MOV R5,#014H
MOV R7,#050H
LCALL _judgement
; }
; SOURCE LINE # 245
?C0039:
; if(keykey==1)
; SOURCE LINE # 246
MOV A,keykey
CJNE A,#01H,?C0037
; {
; SOURCE LINE # 247
; chazhi1=abs((int)(avge-avge0));
; SOURCE LINE # 248
CLR C
MOV A,avge+03H
SUBB A,avge0+03H
MOV R7,A
MOV A,avge+02H
SUBB A,avge0+02H
MOV R6,A
LCALL _abs
MOV chazhi1?852,R7
; if(chazhi1>=20)
; SOURCE LINE # 249
MOV A,chazhi1?852
CLR C
SUBB A,#014H
JC ?C0041
; {
; SOURCE LINE # 250
; START=1;
; SOURCE LINE # 251
SETB START
; counter2=30;
; SOURCE LINE # 252
MOV counter2,#01EH
; if(avge>(avge0+chazhi-3))
; SOURCE LINE # 253
MOV A,chazhi?851
ADD A,avge0+03H
MOV R7,A
CLR A
ADDC A,avge0+02H
MOV R6,A
CLR A
ADDC A,avge0+01H
MOV R5,A
CLR A
ADDC A,avge0
MOV R4,A
MOV A,R7
ADD A,#0FDH
MOV R7,A
MOV A,R6
ADDC A,#0FFH
MOV R6,A
MOV A,R5
ADDC A,#0FFH
MOV R5,A
MOV A,R4
ADDC A,#0FFH
MOV R4,A
MOV R3,avge+03H
MOV R2,avge+02H
MOV R1,avge+01H
MOV R0,avge
SETB C
LCALL ?C?ULCMP
JC ?C0042
; {
; SOURCE LINE # 254
; BACK=0;
; SOURCE LINE # 255
; judgement(50,0);
; SOURCE LINE # 256
LCALL L?0065
; }
; SOURCE LINE # 257
?C0042:
; if(avge<(avge0-chazhi))
; SOURCE LINE # 258
MOV R7,chazhi?851
XCH A,R3
MOV A,R7
XCH A,R3
CLR C
MOV A,avge0+03H
SUBB A,R3
MOV R7,A
MOV A,avge0+02H
SUBB A,#00H
MOV R6,A
MOV A,avge0+01H
SUBB A,#00H
MOV R5,A
MOV A,avge0
SUBB A,#00H
MOV R4,A
MOV R3,avge+03H
MOV R2,avge+02H
MOV R1,avge+01H
MOV R0,avge
CLR C
LCALL ?C?ULCMP
JC $ + 5H
LJMP ?C0037
; {
; SOURCE LINE # 259
;
; BACK=1;
; SOURCE LINE # 261
; judgement(50,0);
; SOURCE LINE # 262
;
; }
; SOURCE LINE # 264
; }
; SOURCE LINE # 265
SJMP ?C0064
?C0041:
; else if((chazhi1<20)&&(chazhi1>10))
; SOURCE LINE # 266
MOV A,chazhi1?852
CLR C
SUBB A,#014H
JNC ?C0045
MOV A,chazhi1?852
SUBB A,#0AH
JC ?C0045
; {
; SOURCE LINE # 267
; counter2=30;
; SOURCE LINE # 268
MOV counter2,#01EH
; if(avge>(avge0+chazhi-3))
; SOURCE LINE # 269
MOV A,chazhi?851
ADD A,avge0+03H
MOV R7,A
CLR A
ADDC A,avge0+02H
MOV R6,A
CLR A
ADDC A,avge0+01H
MOV R5,A
CLR A
ADDC A,avge0
MOV R4,A
MOV A,R7
ADD A,#0FDH
MOV R7,A
MOV A,R6
ADDC A,#0FFH
MOV R6,A
MOV A,R5
ADDC A,#0FFH
MOV R5,A
MOV A,R4
ADDC A,#0FFH
MOV R4,A
MOV R3,avge+03H
MOV R2,avge+02H
MOV R1,avge+01H
MOV R0,avge
SETB C
LCALL ?C?ULCMP
JC ?C0046
; {
; SOURCE LINE # 270
; START=1;
; SOURCE LINE # 271
SETB START
;
; BACK=0;
; SOURCE LINE # 273
; judgement(50,0);
; SOURCE LINE # 274
LCALL L?0065
; }
; SOURCE LINE # 275
?C0046:
; if(avge<(avge0-chazhi))
; SOURCE LINE # 276
MOV R7,chazhi?851
XCH A,R3
MOV A,R7
XCH A,R3
CLR C
MOV A,avge0+03H
SUBB A,R3
MOV R7,A
MOV A,avge0+02H
SUBB A,#00H
MOV R6,A
MOV A,avge0+01H
SUBB A,#00H
MOV R5,A
MOV A,avge0
SUBB A,#00H
MOV R4,A
MOV R3,avge+03H
MOV R2,avge+02H
MOV R1,avge+01H
MOV R0,avge
CLR C
LCALL ?C?ULCMP
JC $ + 5H
LJMP ?C0037
; {
; SOURCE LINE # 277
; START=1;
; SOURCE LINE # 278
SETB START
; BACK=1;
; SOURCE LINE # 279
?C0064:
SETB BACK
; judgement(50,0);
; SOURCE LINE # 280
LCALL L?0066
; }
; SOURCE LINE # 281
; }
; SOURCE LINE # 282
LJMP ?C0037
?C0045:
; else
; {
; SOURCE LINE # 284
; START=0;
; SOURCE LINE # 285
CLR START
; TR1=1;
; SOURCE LINE # 286
SETB TR1
; time1=0;
; SOURCE LINE # 287
CLR A
MOV time1,A
; time2=1;
; SOURCE LINE # 288
MOV time2,#01H
;
;
; }
; SOURCE LINE # 291
; }
; SOURCE LINE # 292
; //AMX0SL = 0x03;
; //state=(AD_IN(1,1));
; //result=(int)state;
; //BCDdisplay(result);
; //delayms(20);
; }
; SOURCE LINE # 298
LJMP ?C0037
; END OF main
CSEG AT 0004BH
LJMP PCA_ISR
; }
;
;
; /*PCA中断子程序*/
; void PCA_ISR (void) interrupt 9
RSEG ?PR?PCA_ISR?SPOKER
USING 0
PCA_ISR:
; SOURCE LINE # 303
; {
;
; CCF0 = 0; /*清匹配中断标志*/
; SOURCE LINE # 306
CLR CCF0
;
; }
; SOURCE LINE # 308
RETI
; END OF PCA_ISR
CSEG AT 0009BH
LJMP led
;
;
; /*键盘中断子程序*/
; void led(void) interrupt 19
RSEG ?PR?led?SPOKER
USING 0
led:
PUSH ACC
PUSH B
PUSH DPH
PUSH DPL
PUSH PSW
MOV A,R0
PUSH ACC
MOV A,R1
PUSH ACC
MOV A,R2
PUSH ACC
MOV A,R3
PUSH ACC
MOV A,R4
PUSH ACC
MOV A,R5
PUSH ACC
MOV A,R6
PUSH ACC
MOV A,R7
PUSH ACC
USING 0
; SOURCE LINE # 312
; {
; uchar key;
; EA=0;
; SOURCE LINE # 315
CLR EA
;
; key=CH452_Read();
; SOURCE LINE # 317
LCALL CH452_Read
MOV key?1053,R7
;
; if(0x62==key)
; SOURCE LINE # 319
MOV A,key?1053
CJNE A,#062H,?C0051
; {
; SOURCE LINE # 320
; delayms(2);
; SOURCE LINE # 321
MOV R7,#02H
MOV R6,#00H
LCALL _delayms
; avge0=avge;
; SOURCE LINE # 322
MOV avge0+03H,avge+03H
MOV avge0+02H,avge+02H
MOV avge0+01H,avge+01H
MOV avge0,avge
; black=0;
; SOURCE LINE # 323
MOV black,#00H
; BCD_H_L(avge0-200,1);
; SOURCE LINE # 324
MOV A,avge0+03H
ADD A,#038H
MOV R7,A
MOV A,avge0+02H
ADDC A,#0FFH
MOV R6,A
MOV R5,#01H
LCALL _BCD_H_L
; }
; SOURCE LINE # 325
?C0051:
; if(0x63==key)
; SOURCE LINE # 326
MOV A,key?1053
CJNE A,#063H,?C0052
; {
; SOURCE LINE # 327
; delayms(2);
; SOURCE LINE # 328
MOV R7,#02H
MOV R6,#00H
LCALL _delayms
; black=1;
; SOURCE LINE # 329
MOV black,#01H
; //START=1;
; }
; SOURCE LINE # 331
?C0052:
; EA=1;
; SOURCE LINE # 332
SETB EA
; }
; SOURCE LINE # 333
POP ACC
MOV R7,A
POP ACC
MOV R6,A
POP ACC
MOV R5,A
POP ACC
MOV R4,A
POP ACC
MOV R3,A
POP ACC
MOV R2,A
POP ACC
MOV R1,A
POP ACC
MOV R0,A
POP PSW
POP DPL
POP DPH
POP B
POP ACC
RETI
; END OF led
CSEG AT 0001BH
LJMP TIMER1_ISR
;
; /*定时器中断子程序*/
; void TIMER1_ISR (void) interrupt 3 using 1
RSEG ?PR?TIMER1_ISR?SPOKER
USING 1
TIMER1_ISR:
PUSH ACC
PUSH B
PUSH DPH
PUSH DPL
PUSH PSW
USING 1
MOV PSW,#08H
; SOURCE LINE # 336
; {
;
; TF1=0;
; SOURCE LINE # 339
CLR TF1
; TH1=0x7D;
; SOURCE LINE # 340
MOV TH1,#07DH
; TL1=0xFB;
; SOURCE LINE # 341
MOV TL1,#0FBH
; if(time1==1)
; SOURCE LINE # 342
MOV A,time1
CJNE A,#01H,?C0054
; {
; SOURCE LINE # 343
; if(--counter1==0)
; SOURCE LINE # 344
DJNZ counter1,?C0054
; {
; SOURCE LINE # 345
; TR1=0;
; SOURCE LINE # 346
CLR TR1
; time1=0;
; SOURCE LINE # 347
MOV time1,#00H
; keykey=1;
; SOURCE LINE # 348
MOV keykey,#01H
; black=0;
; SOURCE LINE # 349
MOV black,#00H
; }
; SOURCE LINE # 350
;
; }
; SOURCE LINE # 352
?C0054:
; if(time2==1)
; SOURCE LINE # 353
MOV A,time2
CJNE A,#01H,?C0058
; { if(--counter2==0)
; SOURCE LINE # 354
DJNZ counter2,?C0058
; {
; SOURCE LINE # 355
; TR1=0;
; SOURCE LINE # 356
CLR TR1
; time2=0;
; SOURCE LINE # 357
MOV time2,#00H
; confirm();
; SOURCE LINE # 358
LCALL confirm
;
; }
; SOURCE LINE # 360
; }
; SOURCE LINE # 361
; } ; SOURCE LINE # 362
?C0058:
POP PSW
POP DPL
POP DPH
POP B
POP ACC
RETI
; END OF TIMER1_ISR
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -