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

📄 misc.lis

📁 AVR单片机C语言程序设计实例精粹
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 00CE           ;             else if(bLED3_Status = cON_Status)
 00CE 81E0              ldi R24,1
 00D0 80930200          sts L6,R24
 00D4 8823              tst R24
 00D6 D1F0              breq L9
 00D8                   .dbline 89
 00D8           ;             {
 00D8                   .dbline 90
 00D8           ;                 LED_OFF(cLED3);
 00D8 06E0              ldi R16,6
 00DA 92DF              xcall _LED_OFF
 00DC                   .dbline 91
 00DC           ;                 bLED3_Status = cOFF_Status;
 00DC 2224              clr R2
 00DE 20920200          sts L6,R2
 00E2                   .dbline 92
 00E2           ;             }
 00E2                   .dbline 93
 00E2           ;             break;
 00E2 14C0              xjmp L9
 00E4           L26:
 00E4                   .dbline 96
 00E4           ;         }
 00E4           ;         case cLED4 :
 00E4           ;         {
 00E4                   .dbline 97
 00E4           ;             if(bLED4_Status == cOFF_Status)
 00E4 20900300          lds R2,L7
 00E8 2220              tst R2
 00EA 31F4              brne L27
 00EC                   .dbline 98
 00EC           ;             {
 00EC                   .dbline 99
 00EC           ;                 LED_ON(cLED4);
 00EC 07E0              ldi R16,7
 00EE 95DF              xcall _LED_ON
 00F0                   .dbline 100
 00F0           ;                 bLED4_Status = cON_Status;
 00F0 81E0              ldi R24,1
 00F2 80930300          sts L7,R24
 00F6                   .dbline 101
 00F6           ;             }
 00F6 0AC0              xjmp L9
 00F8           L27:
 00F8                   .dbline 102
 00F8 81E0              ldi R24,1
 00FA 80930300          sts L7,R24
 00FE 8823              tst R24
 0100 29F0              breq L9
 0102                   .dbline 103
 0102                   .dbline 104
 0102 07E0              ldi R16,7
 0104 7DDF              xcall _LED_OFF
 0106                   .dbline 105
 0106 2224              clr R2
 0108 20920300          sts L7,R2
 010C                   .dbline 106
 010C                   .dbline 107
 010C                   .dbline 109
 010C           L9:
 010C                   .dbline -2
 010C                   .dbline 111
 010C           ;             else if(bLED4_Status = cON_Status)
 010C           ;             {
 010C           ;                 LED_OFF(cLED4);
 010C           ;                 bLED4_Status = cOFF_Status;
 010C           ;             }
 010C           ;             break;
 010C           ;         }
 010C           ;         default : break;
 010C           ;     }
 010C           ; }
 010C           L3:
 010C 0E940000          xcall pop_gset1
 0110                   .dbline 0 ; func end
 0110 0895              ret
 0112                   .dbsym r Index 20 c
 0112                   .dbend
                        .area data(ram, con, rel)
 0004                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
 0004           L32:
 0004                   .blkb 2
                        .area idata
 0004 0100              .word 1
                        .area data(ram, con, rel)
 0006                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
                        .area text(rom, con, rel)
 0112                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
 0112                   .dbfunc e swGet_Key1 _swGet_Key1 fi
 0112                   .dbsym s wKeyStatus L32 i
                        .even
 0112           _swGet_Key1::
 0112                   .dbline -1
 0112                   .dbline 120
 0112           ; 
 0112           ; //****************************************************************
 0112           ; // Function    : swGet_Key1
 0112           ; // Input       : none
 0112           ; // Output      : true - Key1 active; false - Key1 - passitive
 0112           ; // Description : Key1 Detection,rising edge active
 0112           ; //****************************************************************
 0112           ; INT16U swGet_Key1(void)
 0112           ; {
 0112                   .dbline 122
 0112           ;       static INT16U wKeyStatus = 1;
 0112           ;       if(wKeyStatus == 1)
 0112 80910400          lds R24,L32
 0116 90910500          lds R25,L32+1
 011A 8130              cpi R24,1
 011C E0E0              ldi R30,0
 011E 9E07              cpc R25,R30
 0120 49F4              brne L33
 0122                   .dbline 123
 0122           ;       {
 0122                   .dbline 124
 0122           ;               if((PINB & (1 << cKey1)) == 0) //Key Pressed
 0122 B099              sbic 0x16,0
 0124 1AC0              rjmp L34
 0126                   .dbline 125
 0126           ;               {
 0126                   .dbline 126
 0126           ;                       wKeyStatus = 0;
 0126 2224              clr R2
 0128 3324              clr R3
 012A 30920500          sts L32+1,R3
 012E 20920400          sts L32,R2
 0132                   .dbline 127
 0132           ;               }
 0132                   .dbline 128
 0132           ;       }
 0132 13C0              xjmp L34
 0134           L33:
 0134                   .dbline 129
 0134           ;       else if(wKeyStatus == 0)
 0134 20900400          lds R2,L32
 0138 30900500          lds R3,L32+1
 013C 2220              tst R2
 013E 69F4              brne L37
 0140 3320              tst R3
 0142 59F4              brne L37
 0144           X3:
 0144                   .dbline 130
 0144           ;       {
 0144                   .dbline 131
 0144           ;               if(PINB & (1 << cKey1))       //Key Released
 0144 B09B              sbis 0x16,0
 0146 09C0              rjmp L39
 0148                   .dbline 132
 0148           ;               {
 0148                   .dbline 133
 0148           ;                       wKeyStatus = 1;
 0148 81E0              ldi R24,1
 014A 90E0              ldi R25,0
 014C 90930500          sts L32+1,R25
 0150 80930400          sts L32,R24
 0154                   .dbline 134
 0154           ;                       return(true);
 0154 01E0              ldi R16,1
 0156 10E0              ldi R17,0
 0158 02C0              xjmp L31
 015A           L39:
 015A                   .dbline 136
 015A           ;               }
 015A           ;       }
 015A           L37:
 015A           L34:
 015A                   .dbline 137
 015A           ;       return(false);
 015A 0027              clr R16
 015C 1127              clr R17
 015E                   .dbline -2
 015E           L31:
 015E                   .dbline 0 ; func end
 015E 0895              ret
 0160                   .dbend
                        .area data(ram, con, rel)
 0006                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
 0006           L42:
 0006                   .blkb 2
                        .area idata
 0006 0100              .word 1
                        .area data(ram, con, rel)
 0008                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
                        .area text(rom, con, rel)
 0160                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
 0160                   .dbfunc e swGet_Key2 _swGet_Key2 fi
 0160                   .dbsym s wKeyStatus L42 i
                        .even
 0160           _swGet_Key2::
 0160                   .dbline -1
 0160                   .dbline 147
 0160           ; }
 0160           ; 
 0160           ; //******************************************************************************
 0160           ; // Function    : swGet_Key2
 0160           ; // Input       : none
 0160           ; // Output      : true - Key2 active; false - Key2 - passitive
 0160           ; // Description : Key1 Detection,rising edge active
 0160           ; //******************************************************************************
 0160           ; INT16U swGet_Key2(void)
 0160           ; {
 0160                   .dbline 149
 0160           ;       static INT16U wKeyStatus = 1;
 0160           ;       if(wKeyStatus == 1)
 0160 80910600          lds R24,L42
 0164 90910700          lds R25,L42+1
 0168 8130              cpi R24,1
 016A E0E0              ldi R30,0
 016C 9E07              cpc R25,R30
 016E 49F4              brne L43
 0170                   .dbline 150
 0170           ;       {
 0170                   .dbline 151
 0170           ;               if((PINB & (1 << cKey2)) == 0) //Key Pressed
 0170 B199              sbic 0x16,1
 0172 1AC0              rjmp L44
 0174                   .dbline 152
 0174           ;               {
 0174                   .dbline 153
 0174           ;                       wKeyStatus = 0;
 0174 2224              clr R2
 0176 3324              clr R3
 0178 30920700          sts L42+1,R3
 017C 20920600          sts L42,R2
 0180                   .dbline 154
 0180           ;               }
 0180                   .dbline 155
 0180           ;       }
 0180 13C0              xjmp L44
 0182           L43:
 0182                   .dbline 156
 0182           ;       else if(wKeyStatus == 0)
 0182 20900600          lds R2,L42
 0186 30900700          lds R3,L42+1
 018A 2220              tst R2
 018C 69F4              brne L47
 018E 3320              tst R3
 0190 59F4              brne L47
 0192           X4:
 0192                   .dbline 157
 0192           ;       {
 0192                   .dbline 158
 0192           ;               if(PINB & (1 << cKey2))       //Key Released
 0192 B19B              sbis 0x16,1
 0194 09C0              rjmp L49
 0196                   .dbline 159
 0196           ;               {
 0196                   .dbline 160
 0196           ;                       wKeyStatus = 1;
 0196 81E0              ldi R24,1
 0198 90E0              ldi R25,0
 019A 90930700          sts L42+1,R25
 019E 80930600          sts L42,R24
 01A2                   .dbline 161
 01A2           ;                       return(true);
 01A2 01E0              ldi R16,1
 01A4 10E0              ldi R17,0
 01A6 02C0              xjmp L41
 01A8           L49:
 01A8                   .dbline 163
 01A8           ;               }
 01A8           ;       }
 01A8           L47:
 01A8           L44:
 01A8                   .dbline 164
 01A8           ;       return(false);
 01A8 0027              clr R16
 01AA 1127              clr R17
 01AC                   .dbline -2
 01AC           L41:
 01AC                   .dbline 0 ; func end
 01AC 0895              ret
 01AE                   .dbend
                        .area data(ram, con, rel)
 0008                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
 0008           L52:
 0008                   .blkb 2
                        .area idata
 0008 0100              .word 1
                        .area data(ram, con, rel)
 000A                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
                        .area text(rom, con, rel)

⌨️ 快捷键说明

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