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

📄 1.ls1

📁 本设计采用ATMEL公司的AT89S52单片机和红外遥控技术实现近距离无线通信的软硬件系统。为了使受控设备识别信号
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     218     ;---- Variable 'i?140' assigned to Register 'R6/R7' ----
                     219     ;       {
                     220                             ; SOURCE LINE # 27
0004                 221     ?C0002:
                     222     ;         while(--i);        
                     223                             ; SOURCE LINE # 28
0004 EF              224             MOV     A,R7
0005 1F              225             DEC     R7
0006 7001            226             JNZ     ?C0087
0008 1E              227             DEC     R6
0009                 228     ?C0087:
0009 14              229             DEC     A
000A 4E              230             ORL     A,R6
000B 70F7            231             JNZ     ?C0002
                     232     ;           } 
                     233                             ; SOURCE LINE # 29
000D                 234     ?C0004:
000D 22              235             RET     
                     236     ; END OF _delay
                     237     
                     238     ; 
                     239     ; 
                     240     ; /*=========键盘扫描函数1==========*/ 
                     241     ; 
                     242     ;        uchar kbscan1()
                     243     
----                 244             RSEG  ?PR?kbscan1?1
0000                 245     kbscan1:
                     246             USING   0
                     247                             ; SOURCE LINE # 34
                     248     ;    {
                     249                             ; SOURCE LINE # 35
                     250     ;        uchar l=0;                     
                     251                             ; SOURCE LINE # 36
0000 E4              252             CLR     A
0001 F500     F      253             MOV     l?241,A
                     254     ;        P1=0xff;
                     255                             ; SOURCE LINE # 37
0003 7590FF          256             MOV     P1,#0FFH
A51 MACRO ASSEMBLER  1                                                                    06/10/2007 20:32:48 PAGE     5

                     257     ;        if(P1==0xff)            //没有键按下
                     258                             ; SOURCE LINE # 38
0006 E590            259             MOV     A,P1
0008 B4FF05          260             CJNE    A,#0FFH,?C0005
000B                 261     ?C0006:
                     262     ;        while(1)
                     263                             ; SOURCE LINE # 39
                     264     ;        {
                     265                             ; SOURCE LINE # 40
                     266     ;               if(P1!=0xff)
                     267                             ; SOURCE LINE # 41
000B E590            268             MOV     A,P1
000D F4              269             CPL     A
000E 60FB            270             JZ      ?C0006
                     271     ;               break;   
                     272                             ; SOURCE LINE # 42
                     273     ;        }
                     274                             ; SOURCE LINE # 43
0010                 275     ?C0005:
                     276     ; 
                     277     ;        if(P1!=0xff)        //有键按下
                     278                             ; SOURCE LINE # 45
0010 E590            279             MOV     A,P1
0012 F4              280             CPL     A
0013 6054            281             JZ      ?C0009
                     282     ;        {       
                     283                             ; SOURCE LINE # 46
                     284     ;         delay(0x04e1);                         //延时10毫秒
                     285                             ; SOURCE LINE # 47
0015 7FE1            286             MOV     R7,#0E1H
0017 7E04            287             MOV     R6,#04H
0019 120000   F      288             LCALL   _delay
                     289     ;         if(P1!=0xff)          //确有键按下
                     290                             ; SOURCE LINE # 48
001C E590            291             MOV     A,P1
001E F4              292             CPL     A
001F 6048            293             JZ      ?C0009
                     294     ;         {
                     295                             ; SOURCE LINE # 49
                     296     ;             switch(P1)         
                     297                             ; SOURCE LINE # 50
0021 AF90            298             MOV     R7,P1
0023 EF              299             MOV     A,R7
0024 2481            300             ADD     A,#081H
0026 603E            301             JZ      ?C0019
0028 24C0            302             ADD     A,#0C0H
002A 6035            303             JZ      ?C0018
002C 24E0            304             ADD     A,#0E0H
002E 602C            305             JZ      ?C0017
0030 24F0            306             ADD     A,#0F0H
0032 6023            307             JZ      ?C0016
0034 24F8            308             ADD     A,#0F8H
0036 601A            309             JZ      ?C0015
0038 24FC            310             ADD     A,#0FCH
003A 6011            311             JZ      ?C0014
003C 24FE            312             ADD     A,#0FEH
003E 6008            313             JZ      ?C0013
0040 14              314             DEC     A
0041 7026            315             JNZ     ?C0009
                     316     ;             {
                     317                             ; SOURCE LINE # 51
                     318     ;              case 0xfe:l=0x06;break;
                     319                             ; SOURCE LINE # 52
0043                 320     ?C0012:
0043 750006   F      321             MOV     l?241,#06H
0046 8021            322             SJMP    ?C0009
A51 MACRO ASSEMBLER  1                                                                    06/10/2007 20:32:48 PAGE     6

                     323     ;                  case 0xfd:l=0x5b;break;
                     324                             ; SOURCE LINE # 53
0048                 325     ?C0013:
0048 75005B   F      326             MOV     l?241,#05BH
004B 801C            327             SJMP    ?C0009
                     328     ;                  case 0xfb:l=0x4f;break;
                     329                             ; SOURCE LINE # 54
004D                 330     ?C0014:
004D 75004F   F      331             MOV     l?241,#04FH
0050 8017            332             SJMP    ?C0009
                     333     ;                  case 0xf7:l=0x66;break;
                     334                             ; SOURCE LINE # 55
0052                 335     ?C0015:
0052 750066   F      336             MOV     l?241,#066H
0055 8012            337             SJMP    ?C0009
                     338     ;                  case 0xef:l=0x6d;break;               
                     339                             ; SOURCE LINE # 56
0057                 340     ?C0016:
0057 75006D   F      341             MOV     l?241,#06DH
005A 800D            342             SJMP    ?C0009
                     343     ;                  case 0xdf:l=0x7d;break;
                     344                             ; SOURCE LINE # 57
005C                 345     ?C0017:
005C 75007D   F      346             MOV     l?241,#07DH
005F 8008            347             SJMP    ?C0009
                     348     ;                  case 0xbf:l=0x07;break;
                     349                             ; SOURCE LINE # 58
0061                 350     ?C0018:
0061 750007   F      351             MOV     l?241,#07H
0064 8003            352             SJMP    ?C0009
                     353     ;                  case 0x7f:l=0x01;break;       
                     354                             ; SOURCE LINE # 59
0066                 355     ?C0019:
0066 750001   F      356             MOV     l?241,#01H
                     357     ;                  default: break;                                         //读键值
                     358                             ; SOURCE LINE # 60
                     359     ;              } 
                     360                             ; SOURCE LINE # 61
                     361     ;                 }
                     362                             ; SOURCE LINE # 62
                     363     ;         }
                     364                             ; SOURCE LINE # 63
0069                 365     ?C0009:
                     366     ;         return l;
                     367                             ; SOURCE LINE # 64
0069 AF00     F      368             MOV     R7,l?241
                     369     ;   }
                     370                             ; SOURCE LINE # 65
006B                 371     ?C0021:
006B 22              372             RET     
                     373     ; END OF kbscan1
                     374     
                     375     ; 
                     376     ;               /*=========键盘扫描函数2==========*/ 
                     377     ; 
                     378     ;  
                     379     ; 
                     380     ;  uchar kbscan2()
                     381     
----                 382             RSEG  ?PR?kbscan2?1
0000                 383     kbscan2:
                     384             USING   0
                     385                             ; SOURCE LINE # 71
                     386     ;    {
                     387                             ; SOURCE LINE # 72
                     388     ;        uchar l=0;     
A51 MACRO ASSEMBLER  1                                                                    06/10/2007 20:32:48 PAGE     7

                     389                             ; SOURCE LINE # 73
0000 E4              390             CLR     A
0001 F500     F      391             MOV     l?342,A
                     392     ;        P1=0xff;
                     393                             ; SOURCE LINE # 74
0003 7590FF          394             MOV     P1,#0FFH
                     395     ;        if(P1==0xff)            //没有键按下
                     396                             ; SOURCE LINE # 75
0006 E590            397             MOV     A,P1
0008 B4FF05          398             CJNE    A,#0FFH,?C0022
000B                 399     ?C0023:
                     400     ;       while(1)
                     401                             ; SOURCE LINE # 76
                     402     ;        {
                     403                             ; SOURCE LINE # 77
                     404     ;               if(P1!=0xff)
                     405                             ; SOURCE LINE # 78
000B E590            406             MOV     A,P1
000D F4              407             CPL     A
000E 60FB            408             JZ      ?C0023
                     409     ;               break;
                     410                             ; SOURCE LINE # 79
                     411     ;                }
                     412                             ; SOURCE LINE # 80
0010                 413     ?C0022:
                     414     ;        if(P1!=0xff)        //有键按下
                     415                             ; SOURCE LINE # 81
0010 E590            416             MOV     A,P1
0012 F4              417             CPL     A
0013 6054            418             JZ      ?C0026
                     419     ;        {
                     420                             ; SOURCE LINE # 82
                     421     ;         delay(0x04e1);                         //延时10毫秒
                     422                             ; SOURCE LINE # 83
0015 7FE1            423             MOV     R7,#0E1H
0017 7E04            424             MOV     R6,#04H
0019 120000   F      425             LCALL   _delay
                     426     ;         if(P1!=0xff)          //确有键按下
                     427                             ; SOURCE LINE # 84
001C E590            428             MOV     A,P1
001E F4              429             CPL     A
001F 6048            430             JZ      ?C0026
                     431     ;         {
                     432                             ; SOURCE LINE # 85
                     433     ;             switch(P1)
                     434                             ; SOURCE LINE # 86
0021 AF90            435             MOV     R7,P1
0023 EF              436             MOV     A,R7
0024 2481            437             ADD     A,#081H
0026 603E            438             JZ      ?C0036
0028 24C0            439             ADD     A,#0C0H
002A 6035            440             JZ      ?C0035
002C 24E0            441             ADD     A,#0E0H
002E 602C            442             JZ      ?C0034
0030 24F0            443             ADD     A,#0F0H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -