⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ir_yinyue.ls1

📁 Keil C51单片机基础实验源程序
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     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 + -