📄 embed.src
字号:
; break;
; SOURCE LINE # 197
SJMP ?C0097
; case 5:
; SOURCE LINE # 198
?C0026:
; P2=P2|CON[5];
; SOURCE LINE # 199
MOV DPTR,#CON+05H
?C0097:
CLR A
MOVC A,@A+DPTR
ORL P2,A
; break;
; SOURCE LINE # 200
;
; }
; SOURCE LINE # 202
; }
; SOURCE LINE # 203
?C0027:
RET
; END OF _show
; uint READ(void)
RSEG ?PR?READ?EMBED
READ:
USING 0
; SOURCE LINE # 204
; {
; SOURCE LINE # 205
; uint i;
; for(i=0;i<130;i++)
; SOURCE LINE # 207
;---- Variable 'i?546' assigned to Register 'R6/R7' ----
CLR A
MOV R7,A
MOV R6,A
?C0028:
; {
; SOURCE LINE # 208
; if(!P3_2) break;
; SOURCE LINE # 209
JNB P3_2,?C0029
; }
; SOURCE LINE # 210
?C0030:
INC R7
CJNE R7,#00H,?C0086
INC R6
?C0086:
MOV A,R7
XRL A,#082H
ORL A,R6
JNZ ?C0028
?C0029:
; if(i==130)
; SOURCE LINE # 211
MOV A,R7
XRL A,#082H
ORL A,R6
JNZ ?C0032
; {
; SOURCE LINE # 212
; return 1;
; SOURCE LINE # 213
MOV R6,A
MOV R7,#01H
RET
; }
; SOURCE LINE # 214
?C0032:
; else
; {
; SOURCE LINE # 216
; return 0;
; SOURCE LINE # 217
CLR A
MOV R6,A
MOV R7,A
; }
; SOURCE LINE # 218
; }
; SOURCE LINE # 219
?C0033:
RET
; END OF READ
; /*
; void setplay(char h2bit ,char m2bit,char l2bit)
; {
; array[5]=h2bit/10%10;
; array[4]=h2bit%10;
; array[3]=m2bit/10%10;
; array[2]=m2bit%10;
; array[1]=l2bit/10%10;
; array[0]=l2bit%10;
; }
; //*/
; void setplay(char h2bit ,char m2bit,char l2bit)
RSEG ?PR?_setplay?EMBED
_setplay:
USING 0
; SOURCE LINE # 231
;---- Variable 'h2bit?647' assigned to Register 'R7' ----
;---- Variable 'l2bit?649' assigned to Register 'R3' ----
;---- Variable 'm2bit?648' assigned to Register 'R5' ----
; {
; SOURCE LINE # 232
; array[5]=h2bit/10%10;
; SOURCE LINE # 233
MOV A,R7
MOV B,#0AH
LCALL ?C?SCDIV
MOV R6,A
MOV B,#0AH
LCALL ?C?SCDIV
MOV R6,B
MOV A,R6
MOV DPL,A
RLC A
SUBB A,ACC
MOV array+0AH,A
MOV array+0BH,DPL
; array[4]=h2bit%10;
; SOURCE LINE # 234
MOV A,R7
MOV B,#0AH
LCALL ?C?SCDIV
MOV R7,B
MOV A,R7
RLC A
SUBB A,ACC
MOV array+08H,A
MOV array+09H,R7
; array[3]=m2bit/10%10;
; SOURCE LINE # 235
MOV A,R5
MOV B,#0AH
LCALL ?C?SCDIV
MOV R7,A
MOV B,#0AH
LCALL ?C?SCDIV
MOV R7,B
MOV A,R7
RLC A
SUBB A,ACC
MOV array+06H,A
MOV array+07H,R7
; array[2]=m2bit%10;
; SOURCE LINE # 236
MOV A,R5
MOV B,#0AH
LCALL ?C?SCDIV
MOV R7,B
MOV A,R7
RLC A
SUBB A,ACC
MOV array+04H,A
MOV array+05H,R7
; array[1]=l2bit/10%10;
; SOURCE LINE # 237
MOV A,R3
MOV B,#0AH
LCALL ?C?SCDIV
MOV R7,A
MOV B,#0AH
LCALL ?C?SCDIV
MOV R7,B
MOV A,R7
RLC A
SUBB A,ACC
MOV array+02H,A
MOV array+03H,R7
; array[0]=l2bit%10;
; SOURCE LINE # 238
MOV A,R3
MOV B,#0AH
LCALL ?C?SCDIV
MOV R7,B
MOV A,R7
RLC A
SUBB A,ACC
MOV array,A
MOV array+01H,R7
; }
; SOURCE LINE # 239
RET
; END OF _setplay
; void check()
RSEG ?PR?check?EMBED
check:
USING 0
; SOURCE LINE # 240
; {
; SOURCE LINE # 241
; uchar i,m,l;
; uint temp1,temp2;
; // setplay(10,3,7);
; temp1=(uint)IRCODE[0]&0x00FF;
; SOURCE LINE # 245
MOV R7,IRCODE
MOV temp1?753,#00H
MOV temp1?753+01H,R7
; for(i=0;i<29;i++)
; SOURCE LINE # 246
CLR A
MOV i?750,A
?C0036:
; {
; SOURCE LINE # 247
; temp2=0x00FF&RED[i];
; SOURCE LINE # 248
MOV A,i?750
ADD A,ACC
ADD A,#LOW (RED)
MOV DPL,A
CLR A
ADDC A,#HIGH (RED)
MOV DPH,A
MOV R6,#00H
MOV A,#01H
MOVC A,@A+DPTR
;---- Variable 'temp2?754' assigned to Register 'R6/R7' ----
; if(temp1==temp2)
; SOURCE LINE # 249
CJNE A,temp1?753+01H,?C0038
MOV A,R6
CJNE A,temp1?753,?C0038
; {
; SOURCE LINE # 250
; m=i+1;
; SOURCE LINE # 251
MOV A,i?750
INC A
;---- Variable 'm?751' assigned to Register 'R5' ----
MOV R5,A
; setplay(0,m,l);
; SOURCE LINE # 252
MOV R3,l?752
CLR A
MOV R7,A
LCALL _setplay
; }
; SOURCE LINE # 253
; }
; SOURCE LINE # 254
?C0038:
INC i?750
MOV A,i?750
CLR C
SUBB A,#01DH
JC ?C0036
; }
; SOURCE LINE # 255
?C0040:
RET
; END OF check
; void main()
RSEG ?PR?main?EMBED
main:
USING 0
; SOURCE LINE # 256
; {
; SOURCE LINE # 257
; uint LED=0xFF7F;
; SOURCE LINE # 258
MOV LED?855,#0FFH
MOV LED?855+01H,#07FH
; initial();
; SOURCE LINE # 259
LCALL initial
?C0041:
;
; while(1)
; SOURCE LINE # 261
; {
; SOURCE LINE # 262
; getKey();//获得按键输入
; SOURCE LINE # 263
LCALL getKey
; if(key_down)
; SOURCE LINE # 264
MOV A,key_down
JZ ?C0041
; {
; SOURCE LINE # 265
; key_down=0;
; SOURCE LINE # 266
CLR A
MOV key_down,A
; P3_0=!P3_0;
; SOURCE LINE # 267
CPL P3_0
; }
; SOURCE LINE # 268
;
; /*
; P1=LED;//7个跑马灯
; LED=LED>>1;
;
;
; if(!rbit)
; P1=IRCODE[1];//7个跑马灯
; //*/
; /*
; if(LED==0x01FE) // 0x01FE 0x00FF
; {
; LED=0xFF7F;
; }
; //*/
; }
; SOURCE LINE # 284
SJMP ?C0041
; END OF main
CSEG AT 0000BH
LJMP TIME0
; }
;
; /*/////////////////////////////////////////////////////////////
; 各中断函数的具体处理
; //*/
; void TIME0() interrupt 1 //
RSEG ?PR?TIME0?EMBED
USING 0
TIME0:
PUSH ACC
PUSH B
PUSH DPH
PUSH DPL
PUSH PSW
MOV PSW,#00H
PUSH AR0
PUSH AR1
PUSH AR2
PUSH AR3
PUSH AR4
PUSH AR5
PUSH AR6
PUSH AR7
USING 0
; SOURCE LINE # 290
; {
; TH0=0xF8; TL0=0xCC;//100usFFA4 1msFC66 2msF8CC 4msF199 5msEE00 10msDC00 40ms7000 2^16-XX*1000*0.9216
; SOURCE LINE # 292
MOV TH0,#0F8H
MOV TL0,#0CCH
; if(Num_Of_Circle ++==200)
; SOURCE LINE # 293
INC Num_Of_Circle+01H
MOV A,Num_Of_Circle+01H
MOV R6,Num_Of_Circle
JNZ ?C0088
INC Num_Of_Circle
?C0088:
DEC A
XRL A,#0C8H
ORL A,R6
JNZ ?C0045
; {
; SOURCE LINE # 294
; if(!rbit)
; SOURCE LINE # 295
JB rbit,?C0046
; check();
; SOURCE LINE # 296
LCALL check
?C0046:
; Num_Of_Circle=0;
; SOURCE LINE # 297
MOV Num_Of_Circle,#00H
MOV Num_Of_Circle+01H,#00H
; rbit=1;
; SOURCE LINE # 298
SETB rbit
; IRCODE[1]=0x00;
; SOURCE LINE # 299
MOV IRCODE+01H,#00H
; IRCODE[0]=0x00;
; SOURCE LINE # 300
MOV IRCODE,#00H
; }
; SOURCE LINE # 301
?C0045:
; P2_7=!P2_7;
; SOURCE LINE # 302
CPL P2_7
;
; //动态显示四位数据
; show(display,array[display]);
; SOURCE LINE # 305
MOV A,display+01H
ADD A,ACC
ADD A,#LOW (array)
MOV R0,A
MOV A,@R0
MOV R4,A
INC R0
MOV A,@R0
MOV R5,A
MOV R7,display+01H
MOV R6,display
LCALL _show
; if(display==5)
; SOURCE LINE # 306
MOV A,display+01H
XRL A,#05H
ORL A,display
JNZ ?C0047
; {
; SOURCE LINE # 307
; display=0;
; SOURCE LINE # 308
MOV display,A
MOV display+01H,A
; }
; SOURCE LINE # 309
SJMP ?C0049
?C0047:
; else
; display +=1;
; SOURCE LINE # 311
INC display+01H
MOV A,display+01H
JNZ ?C0089
INC display
?C0089:
;
; }
; SOURCE LINE # 313
?C0049:
POP AR7
POP AR6
POP AR5
POP AR4
POP AR3
POP AR2
POP AR1
POP AR0
POP PSW
POP DPL
POP DPH
POP B
POP ACC
RETI
; END OF TIME0
CSEG AT 0001BH
LJMP TIME1
;
; void TIME1() interrupt 3
RSEG ?PR?TIME1?EMBED
USING 0
TIME1:
; SOURCE LINE # 315
; {
; }
; SOURCE LINE # 317
RETI
; END OF TIME1
CSEG AT 00003H
LJMP EX0INT
;
; void EX0INT() interrupt 0 //低电平340us ,‘0’高电平730us ,‘1’高电平1.8ms 11100010
RSEG ?PR?EX0INT?EMBED
USING 0
EX0INT:
PUSH ACC
PUSH DPH
PUSH DPL
PUSH PSW
MOV PSW,#00H
PUSH AR0
PUSH AR4
PUSH AR5
PUSH AR6
PUSH AR7
USING 0
; SOURCE LINE # 319
; {
; uint i;
; EX0=0;
; SOURCE LINE # 322
CLR EX0
; if(rbit)
; SOURCE LINE # 323
JB rbit,$ + 6H
LJMP ?C0051
; {
; SOURCE LINE # 324
; for(i=0;i<16;i++)
; SOURCE LINE # 325
;---- Variable 'i?1156' assigned to Register 'R4/R5' ----
CLR A
MOV R5,A
MOV R4,A
?C0052:
; {
; SOURCE LINE # 326
; Delay();
; SOURCE LINE # 327
LCALL Delay
; if(!P3_2)
; SOURCE LINE # 328
JNB P3_2,$ + 6H
LJMP ?C0076
; {
; SOURCE LINE # 329
?C0056:
; while(!P3_2) ;
; SOURCE LINE # 330
JNB P3_2,?C0056
?C0057:
; if( READ())
; SOURCE LINE # 331
LCALL READ
MOV A,R7
ORL A,R6
JNZ $ + 5H
LJMP ?C0076
; {
; SOURCE LINE # 332
; switch(i)
; SOURCE LINE # 333
MOV A,R4
JZ $ + 5H
LJMP ?C0076
MOV A,R5
CJNE A,#010H,?C0090
?C0090:
JC $ + 5H
LJMP ?C0076
MOV DPTR,#?C0091
MOV R0,A
ADD A,R0
ADD A,R0
JMP @A+DPTR
?C0091:
LJMP ?C0060
LJMP ?C0061
LJMP ?C0062
LJMP ?C0063
LJMP ?C0064
LJMP ?C0065
LJMP ?C0066
LJMP ?C0067
LJMP ?C0068
LJMP ?C0069
LJMP ?C0070
LJMP ?C0071
LJMP ?C0072
LJMP ?C0073
LJMP ?C0074
LJMP ?C0075
; {
; SOURCE LINE # 334
; case 0:
; SOURCE LINE # 335
?C0060:
; IRCODE[1]=IRCODE[1]|0x80;
; SOURCE LINE # 336
ORL IRCODE+01H,#080H
; break;
; SOURCE LINE # 337
SJMP ?C0076
; case 1:
; SOURCE LINE # 338
?C0061:
; IRCODE[1]=IRCODE[1]|0x40;
; SOURCE LINE # 339
ORL IRCODE+01H,#040H
; break;
; SOURCE LINE # 340
SJMP ?C0076
; case 2:
; SOURCE LINE # 341
?C0062:
; IRCODE[1]=IRCODE[1]|0x20;
; SOURCE LINE # 342
ORL IRCODE+01H,#020H
; break;
; SOURCE LINE # 343
SJMP ?C0076
; case 3:
; SOURCE LINE # 344
?C0063:
; IRCODE[1]=IRCODE[1]|0x10;
; SOURCE LINE # 345
ORL IRCODE+01H,#010H
; break;
; SOURCE LINE # 346
SJMP ?C0076
; case 4:
; SOURCE LINE # 347
?C0064:
; IRCODE[1]=IRCODE[1]|0x08;
; SOURCE LINE # 348
ORL IRCODE+01H,#08H
; break;
; SOURCE LINE # 349
SJMP ?C0076
; case 5:
; SOURCE LINE # 350
?C0065:
; IRCODE[1]=IRCODE[1]|0x04;
; SOURCE LINE # 351
ORL IRCODE+01H,#04H
; break;
; SOURCE LINE # 352
SJMP ?C0076
; case 6:
; SOURCE LINE # 353
?C0066:
; IRCODE[1]=IRCODE[1]|0x02;
; SOURCE LINE # 354
ORL IRCODE+01H,#02H
; break;
; SOURCE LINE # 355
SJMP ?C0076
; case 7:
; SOURCE LINE # 356
?C0067:
; IRCODE[1]=IRCODE[1]|0x01;
; SOURCE LINE # 357
ORL IRCODE+01H,#01H
; break;
; SOURCE LINE # 358
SJMP ?C0076
; case 8:
; SOURCE LINE # 359
?C0068:
; IRCODE[0]=IRCODE[0]|0x80;
; SOURCE LINE # 360
ORL IRCODE,#080H
; break;
; SOURCE LINE # 361
SJMP ?C0076
; case 9:
; SOURCE LINE # 362
?C0069:
; IRCODE[0]=IRCODE[0]|0x40;
; SOURCE LINE # 363
ORL IRCODE,#040H
; break;
; SOURCE LINE # 364
SJMP ?C0076
; case 10:
; SOURCE LINE # 365
?C0070:
; IRCODE[0]=IRCODE[0]|0x20;
; SOURCE LINE # 366
ORL IRCODE,#020H
; break;
; SOURCE LINE # 367
SJMP ?C0076
; case 11:
; SOURCE LINE # 368
?C0071:
; IRCODE[0]=IRCODE[0]|0x10;
; SOURCE LINE # 369
ORL IRCODE,#010H
; break;
; SOURCE LINE # 370
SJMP ?C0076
; case 12:
; SOURCE LINE # 371
?C0072:
; IRCODE[0]=IRCODE[0]|0x08;
; SOURCE LINE # 372
ORL IRCODE,#08H
; break;
; SOURCE LINE # 373
SJMP ?C0076
; case 13:
; SOURCE LINE # 374
?C0073:
; IRCODE[0]=IRCODE[0]|0x04;
; SOURCE LINE # 375
ORL IRCODE,#04H
; break;
; SOURCE LINE # 376
SJMP ?C0076
; case 14:
; SOURCE LINE # 377
?C0074:
; IRCODE[0]=IRCODE[0]|0x02;
; SOURCE LINE # 378
ORL IRCODE,#02H
; break;
; SOURCE LINE # 379
SJMP ?C0076
; case 15:
; SOURCE LINE # 380
?C0075:
; IRCODE[0]=IRCODE[0]|0x01;
; SOURCE LINE # 381
ORL IRCODE,#01H
; break;
; SOURCE LINE # 382
; }
; SOURCE LINE # 383
; }
; SOURCE LINE # 384
; }
; SOURCE LINE # 385
?C0076:
; while(P3_2) ;//等下一位
; SOURCE LINE # 386
JB P3_2,?C0076
; }
; SOURCE LINE # 387
?C0054:
INC R5
CJNE R5,#00H,?C0092
INC R4
?C0092:
MOV A,R5
XRL A,#010H
ORL A,R4
JZ $ + 5H
LJMP ?C0052
?C0053:
; SBUF=IRCODE[0];
; SOURCE LINE # 388
MOV SBUF,IRCODE
; P1=IRCODE[1];
; SOURCE LINE # 389
MOV P1,IRCODE+01H
; rbit=0;
; SOURCE LINE # 390
CLR rbit
; }
; SOURCE LINE # 391
?C0051:
; EX0=1;
; SOURCE LINE # 392
SETB EX0
; }
; SOURCE LINE # 393
POP AR7
POP AR6
POP AR5
POP AR4
POP AR0
POP PSW
POP DPL
POP DPH
POP ACC
RETI
; END OF EX0INT
CSEG AT 00013H
LJMP EX1INT
;
;
; void EX1INT() interrupt 2
RSEG ?PR?EX1INT?EMBED
USING 0
EX1INT:
; SOURCE LINE # 396
; {
; }
; SOURCE LINE # 398
RETI
; END OF EX1INT
CSEG AT 00023H
LJMP SERIAL
;
; void SERIAL() interrupt 4
RSEG ?PR?SERIAL?EMBED
USING 0
SERIAL:
PUSH PSW
MOV PSW,#00H
PUSH AR7
USING 0
; SOURCE LINE # 400
; {
; uchar temp;
; //*
; if(TI)
; SOURCE LINE # 404
JNB TI,?C0080
; TI=0;
; SOURCE LINE # 405
CLR TI
?C0080:
; if(RI)
; SOURCE LINE # 406
JNB RI,?C0082
; {
; SOURCE LINE # 407
; RI=0;
; SOURCE LINE # 408
CLR RI
; temp=SBUF;
; SOURCE LINE # 409
;---- Variable 'temp?1357' assigned to Register 'R7' ----
MOV R7,SBUF
; SBUF=temp;
; SOURCE LINE # 410
MOV SBUF,R7
; }
; SOURCE LINE # 411
; //*/
; }
; SOURCE LINE # 413
?C0082:
POP AR7
POP PSW
RETI
; END OF SERIAL
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -