📄 ir_yinyue.ls1
字号:
438 ; SOURCE LINE # 71
439 ;---- Variable 'k?041' assigned to Register 'R6' ----
0002 7E14 440 MOV R6,#014H
0004 441 ?C0004:
0004 DEFE 442 DJNZ R6,?C0004
0006 443 ?C0003:
0006 DFFA 444 DJNZ R7,?C0001
445 ; }
446 ; SOURCE LINE # 72
0008 447 ?C0007:
0008 22 448 RET
449 ; END OF delay0_9ms
450
451 ;
452 ; //1ms
A51 MACRO ASSEMBLER IR_YINYUE 10/24/2006 16:41:18 PAGE 8
453 ; void delay1ms(void)
454
---- 455 RSEG ?PR?delay1ms?IR_YINYUE
0000 456 delay1ms:
457 USING 0
458 ; SOURCE LINE # 75
459 ; {
460 ; SOURCE LINE # 76
461 ; unsigned char i,j;
462 ; for(i=2;i>0;i--)
463 ; SOURCE LINE # 78
464 ;---- Variable 'i?142' assigned to Register 'R7' ----
0000 7F02 465 MOV R7,#02H
0002 466 ?C0008:
467 ; for(j=230;j>0;j--) ;
468 ; SOURCE LINE # 79
469 ;---- Variable 'j?143' assigned to Register 'R6' ----
0002 7EE6 470 MOV R6,#0E6H
0004 471 ?C0011:
0004 DEFE 472 DJNZ R6,?C0011
0006 473 ?C0010:
0006 DFFA 474 DJNZ R7,?C0008
475 ; }
476 ; SOURCE LINE # 80
0008 477 ?C0014:
0008 22 478 RET
479 ; END OF delay1ms
480
481 ;
482 ; //4.5ms
483 ; void delay4_5ms(void)
484
---- 485 RSEG ?PR?delay4_5ms?IR_YINYUE
0000 486 delay4_5ms:
487 USING 0
488 ; SOURCE LINE # 83
489 ; {
490 ; SOURCE LINE # 84
491 ; unsigned char i,j;
492 ; for(i=10;i>0;i--)
493 ; SOURCE LINE # 86
494 ;---- Variable 'i?244' assigned to Register 'R7' ----
0000 7F0A 495 MOV R7,#0AH
0002 496 ?C0015:
497 ; for(j=225;j>0;j--) ;
498 ; SOURCE LINE # 87
499 ;---- Variable 'j?245' assigned to Register 'R6' ----
0002 7EE1 500 MOV R6,#0E1H
0004 501 ?C0018:
0004 DEFE 502 DJNZ R6,?C0018
0006 503 ?C0017:
0006 DFFA 504 DJNZ R7,?C0015
505 ; }
506 ; SOURCE LINE # 88
0008 507 ?C0021:
0008 22 508 RET
509 ; END OF delay4_5ms
510
511 ;
512 ; //100ms
513 ; void delay100ms(void)
514
---- 515 RSEG ?PR?delay100ms?IR_YINYUE
0000 516 delay100ms:
517 USING 0
518 ; SOURCE LINE # 91
A51 MACRO ASSEMBLER IR_YINYUE 10/24/2006 16:41:18 PAGE 9
519 ; {
520 ; SOURCE LINE # 92
521 ; unsigned char i,j,k;
522 ; for(i=200;i>0;i--)
523 ; SOURCE LINE # 94
524 ;---- Variable 'i?346' assigned to Register 'R7' ----
0000 7FC8 525 MOV R7,#0C8H
0002 526 ?C0022:
527 ; for(j=20;j>0;j--)
528 ; SOURCE LINE # 95
529 ;---- Variable 'j?347' assigned to Register 'R6' ----
0002 7E14 530 MOV R6,#014H
0004 531 ?C0025:
532 ; for(k=10;k>0;k--) ;
533 ; SOURCE LINE # 96
534 ;---- Variable 'k?348' assigned to Register 'R5' ----
0004 7D0A 535 MOV R5,#0AH
0006 536 ?C0028:
0006 DDFE 537 DJNZ R5,?C0028
0008 538 ?C0027:
0008 DEFA 539 DJNZ R6,?C0025
000A 540 ?C0024:
000A DFF6 541 DJNZ R7,?C0022
542 ; }
543 ; SOURCE LINE # 97
000C 544 ?C0031:
000C 22 545 RET
546 ; END OF delay100ms
547
548 ;
549 ;
550 ; /*延时1/4拍时间即187ms*/
551 ;
552 ; void delay187ms()
553
---- 554 RSEG ?PR?delay187ms?IR_YINYUE
0000 555 delay187ms:
556 USING 0
557 ; SOURCE LINE # 102
558 ; {
559 ; SOURCE LINE # 103
560 ; unsigned char i,j,k;
561 ; for(i=200;i>0;i--)
562 ; SOURCE LINE # 105
563 ;---- Variable 'i?449' assigned to Register 'R7' ----
0000 7FC8 564 MOV R7,#0C8H
0002 565 ?C0032:
566 ; for(j=20;j>0;j--)
567 ; SOURCE LINE # 106
568 ;---- Variable 'j?450' assigned to Register 'R6' ----
0002 7E14 569 MOV R6,#014H
0004 570 ?C0035:
571 ; for(k=22;k>0;k--) ;
572 ; SOURCE LINE # 107
573 ;---- Variable 'k?451' assigned to Register 'R5' ----
0004 7D16 574 MOV R5,#016H
0006 575 ?C0038:
0006 DDFE 576 DJNZ R5,?C0038
0008 577 ?C0037:
0008 DEFA 578 DJNZ R6,?C0035
000A 579 ?C0034:
000A DFF6 580 DJNZ R7,?C0032
581 ; }
582 ; SOURCE LINE # 108
000C 583 ?C0041:
000C 22 584 RET
A51 MACRO ASSEMBLER IR_YINYUE 10/24/2006 16:41:18 PAGE 10
585 ; END OF delay187ms
586
---- 587 CSEG AT 00003H
0003 020000 588 LJMP t0
*** _________________________________________^
*** ERROR #A46 IN 588 (IR_yinyue.src, LINE 588): CODE-ADDRESS EXPECTED
589
590 ;
591 ;
592 ;
593 ;
594 ; /*延时1/4拍时间即187ms*/
595 ; /*
596 ; void delay187ms(void)
597 ; {
598 ; #pragma ASM
599 ; MOV R7,#02
600 ; D1: MOV R4,#187 //125
601 ; D2: MOV R3,#248
602 ; DJNZ R3,$
603 ; DJNZ R4,D2
604 ; DJNZ R7,D1
605 ; #pragma ENDASM
606 ; }
607 ;
608 ; */
609 ;
610 ; void t0(void) interrupt 0 using 2 //外部中断0的函数
611
---- 612 RSEG ?PR?t0?IR_YINYUE
613 USING 2
00B4 614 t0:
*** _________________________^
*** ERROR #A8 IN 614 (IR_yinyue.src, LINE 614): ATTEMPT TO DEFINE AN ALREADY DEFINED LABEL
0000 C0E0 615 PUSH ACC
0002 C0D0 616 PUSH PSW
617 USING 2
0004 75D010 618 MOV PSW,#010H
619 ; SOURCE LINE # 129
620 ; {
621 ; unsigned char i,j,k;
622 ; EA=0; //暂时关闭CPU的所有中断请求
623 ; SOURCE LINE # 132
0007 C2AF 624 CLR EA
625 ;
626 ; for(k=0;k<10;k++) //重复10次,目的是检测在9毫秒内如果出现高电平就退出解码程序
627 ; SOURCE LINE # 134
628 ;---- Variable 'k?554' assigned to Register 'R3' ----
0009 E4 629 CLR A
000A FB 630 MOV R3,A
000B 631 ?C0042:
632 ; { //aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
633 ; SOURCE LINE # 135
634 ;
635 ; delay0_9ms(); //延时0.9毫秒
636 ; SOURCE LINE # 137
000B 120000 F 637 LCALL delay0_9ms
638 ; if (IR==1) {k=10;break;} //延时0.9毫秒后判断P3.2脚是否出现高电平如果有就退出解码程序
639 ; SOURCE LINE # 138
000E 30B205 640 JNB IR,?C0045
0011 7B0A 641 MOV R3,#0AH
0013 020000 F 642 LJMP ?C0043
0016 643 ?C0045:
644 ; else if(k==9) //重复10次?
645 ; SOURCE LINE # 139
0016 EB 646 MOV A,R3
A51 MACRO ASSEMBLER IR_YINYUE 10/24/2006 16:41:18 PAGE 11
0017 6409 647 XRL A,#09H
0019 6003 648 JZ $ + 5H
001B 020000 F 649 LJMP ?C0044
650 ; { //bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
651 ; SOURCE LINE # 140
001E 652 ?C0048:
653 ; while(IR==0); //等待高电平避开9毫秒低电平引导脉冲
654 ; SOURCE LINE # 141
001E 30B2FD 655 JNB IR,?C0048
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -