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

📄 led.lis

📁 51单片机的
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0056 50901500          lds R5,_JS_003+2+1
 005A 20901200          lds R2,_JS_003
 005E 30901300          lds R3,_JS_003+1
 0062 240E              add R2,R20
 0064 351E              adc R3,R21
 0066 461E              adc R4,R22
 0068 571E              adc R5,R23
 006A FE01              movw R30,R28
 006C 2082              std z+0,R2
 006E 3182              std z+1,R3
 0070 4282              std z+2,R4
 0072 5382              std z+3,R5
 0074 FE01              movw R30,R28
 0076 2080              ldd R2,z+0
 0078 3180              ldd R3,z+1
 007A 4280              ldd R4,z+2
 007C 5380              ldd R5,z+3
 007E 30921300          sts _JS_003+1,R3
 0082 20921200          sts _JS_003,R2
 0086 50921500          sts _JS_003+2+1,R5
 008A 40921400          sts _JS_003+2,R4
 008E FE01              movw R30,R28
 0090 2080              ldd R2,z+0
 0092 3180              ldd R3,z+1
 0094 4280              ldd R4,z+2
 0096 5380              ldd R5,z+3
 0098 30921300          sts _JS_003+1,R3
 009C 20921200          sts _JS_003,R2
 00A0 50921500          sts _JS_003+2+1,R5
 00A4 40921400          sts _JS_003+2,R4
 00A8 06D0              xcall _TEST
 00AA                   .dbline -2
 00AA                   .dbline 143
 00AA           ;    //display_times();         //TEST USE
 00AA           ;   
 00AA           ;   
 00AA           ;    
 00AA           ; }
 00AA           L5:
 00AA 2496              adiw R28,4
 00AC 0E940000          xcall pop_gset2
 00B0 0E940000          xcall pop_lset
 00B4                   .dbline 0 ; func end
 00B4 1895              reti
 00B6                   .dbend
 00B6                   .dbfunc e TEST _TEST fV
                        .even
 00B6           _TEST::
 00B6 0E940000          xcall push_gset2
 00BA                   .dbline -1
 00BA                   .dbline 146
 00BA           ; /////////////////test/////////////////////////////////////
 00BA           ; void  TEST()
 00BA           ; {
 00BA                   .dbline 148
 00BA           ;   //LED_DISPLAY_V4=8;          //TEST
 00BA           ;   if (JS_003==10000)
 00BA 40E1              ldi R20,16
 00BC 57E2              ldi R21,39
 00BE 60E0              ldi R22,0
 00C0 70E0              ldi R23,0
 00C2 40901400          lds R4,_JS_003+2
 00C6 50901500          lds R5,_JS_003+2+1
 00CA 20901200          lds R2,_JS_003
 00CE 30901300          lds R3,_JS_003+1
 00D2 2416              cp R2,R20
 00D4 3506              cpc R3,R21
 00D6 4606              cpc R4,R22
 00D8 5706              cpc R5,R23
 00DA 21F4              brne L7
 00DC                   .dbline 149
 00DC           ;            {
 00DC                   .dbline 150
 00DC           ;            LED_DISPLAY_V5=14;
 00DC 8EE0              ldi R24,14
 00DE 80931F00          sts _LED_DISPLAY_V5,R24
 00E2                   .dbline 152
 00E2           ;              
 00E2           ;            }  
 00E2 20C0              xjmp L8
 00E4           L7:
 00E4                   .dbline 153
 00E4           ;     else if (JS_003==20000)  
 00E4 40E2              ldi R20,32
 00E6 5EE4              ldi R21,78
 00E8 60E0              ldi R22,0
 00EA 70E0              ldi R23,0
 00EC 40901400          lds R4,_JS_003+2
 00F0 50901500          lds R5,_JS_003+2+1
 00F4 20901200          lds R2,_JS_003
 00F8 30901300          lds R3,_JS_003+1
 00FC 2416              cp R2,R20
 00FE 3506              cpc R3,R21
 0100 4606              cpc R4,R22
 0102 5706              cpc R5,R23
 0104 79F4              brne L9
 0106                   .dbline 154
 0106           ;          {
 0106                   .dbline 155
 0106           ;          JS_003=0;  
 0106                   .dbline 156
 0106           ;          LED_DISPLAY_V5=13;
 0106 40E0              ldi R20,0
 0108 50E0              ldi R21,0
 010A 60E0              ldi R22,0
 010C 70E0              ldi R23,0
 010E 50931300          sts _JS_003+1,R21
 0112 40931200          sts _JS_003,R20
 0116 70931500          sts _JS_003+2+1,R23
 011A 60931400          sts _JS_003+2,R22
 011E 8DE0              ldi R24,13
 0120 80931F00          sts _LED_DISPLAY_V5,R24
 0124                   .dbline 157
 0124           ;          } 
 0124           L9:
 0124           L8:
 0124                   .dbline -2
 0124                   .dbline 158
 0124           ; }
 0124           L6:
 0124 0E940000          xcall pop_gset2
 0128                   .dbline 0 ; func end
 0128 0895              ret
 012A                   .dbend
 012A                   .dbfunc e timer2_init _timer2_init fV
                        .even
 012A           _timer2_init::
 012A                   .dbline -1
 012A                   .dbline 165
 012A           ; /////////////////////////timer2///////////////////////////////////////////////////////////////////
 012A           ; //TIMER2 initialize - prescale:32
 012A           ; // WGM: Normal
 012A           ; // desired value: 10uSec
 012A           ; // actual value: 10.000uSec (0.0%)
 012A           ; void timer2_init(void)
 012A           ; {
 012A                   .dbline 166
 012A           ;  TCCR2 = 0x00; //stop
 012A 2224              clr R2
 012C 25BC              out 0x25,R2
 012E                   .dbline 167
 012E           ;  ASSR  = 0x00; //set async mode
 012E 22BC              out 0x22,R2
 0130                   .dbline 168
 0130           ;  TCNT2 = 0xFB; //setup
 0130 8BEF              ldi R24,251
 0132 84BD              out 0x24,R24
 0134                   .dbline 169
 0134           ;  OCR2  = 0x05;
 0134 85E0              ldi R24,5
 0136 83BD              out 0x23,R24
 0138                   .dbline 170
 0138           ;  TCCR2 = 0x03; //start
 0138 83E0              ldi R24,3
 013A 85BD              out 0x25,R24
 013C                   .dbline -2
 013C                   .dbline 171
 013C           ; }
 013C           L11:
 013C                   .dbline 0 ; func end
 013C 0895              ret
 013E                   .dbend
                        .area vector(rom, abs)
                        .org 16
 0010 0C949F00          jmp _timer2_ovf_isr
                        .area text(rom, con, rel)
 013E                   .dbfile D:\WORK\ELECTR~1\proteus\M167LE~1\c\led.c
 013E                   .dbfunc e timer2_ovf_isr _timer2_ovf_isr fV
                        .even
 013E           _timer2_ovf_isr::
 013E 8A93              st -y,R24
 0140 8FB7              in R24,0x3f
 0142 8A93              st -y,R24
 0144                   .dbline -1
 0144                   .dbline 175
 0144           ; 
 0144           ; #pragma interrupt_handler timer2_ovf_isr:5
 0144           ; void timer2_ovf_isr(void)   //10us
 0144           ; {
 0144                   .dbline 176
 0144           ;  TCNT2 = 0xFB; //reload counter value
 0144 8BEF              ldi R24,251
 0146 84BD              out 0x24,R24
 0148                   .dbline -2
 0148                   .dbline 180
 0148           ;  //ICP_INT_JS();
 0148           ;  //ICP_INT_CLR_JS();
 0148           ;  
 0148           ; }
 0148           L12:
 0148 8991              ld R24,y+
 014A 8FBF              out 0x3f,R24
 014C 8991              ld R24,y+
 014E                   .dbline 0 ; func end
 014E 1895              reti
 0150                   .dbend
 0150                   .dbfunc e KEY_CHK _KEY_CHK fV
                        .even
 0150           _KEY_CHK::
 0150                   .dbline -1
 0150                   .dbline 184
 0150           ; /////////////////////////KEY_CHK/////////////////////////////////////////////////////////////
 0150           ; 
 0150           ; void KEY_CHK()
 0150           ; {
 0150                   .dbline 187
 0150           ; 
 0150           ;     
 0150           ; KEY_CHK_MODE();                  // 调用   KEY_CHK_MODE
 0150 03D0              xcall _KEY_CHK_MODE
 0152                   .dbline 188
 0152           ; KEY_CHK_MENU();                  // 调用   KEY_CHK_MENU
 0152 45D0              xcall _KEY_CHK_MENU
 0154                   .dbline 189
 0154           ; KEY_CHK_UP();                    // 调用   KEY_CHK_UP
 0154 45D0              xcall _KEY_CHK_UP
 0156                   .dbline 190
 0156           ; KEY_CHK_DOWN();                  // 调用   KEY_CHK_DOWN               
 0156                   .dbline -2
 0156                   .dbline 191
 0156           ; }
 0156           L13:
 0156                   .dbline 0 ; func end
 0156 4EC1              xjmp _KEY_CHK_DOWN
 0158                   .dbend
 0158                   .dbfunc e KEY_CHK_MODE _KEY_CHK_MODE fV
                        .even
 0158           _KEY_CHK_MODE::
 0158                   .dbline -1
 0158                   .dbline 194
 0158           ; //////////////////////////MODE///////////////////////////////////////////////////////////
 0158           ; void KEY_CHK_MODE()                   //100us /times
 0158           ; {
 0158                   .dbline 195
 0158           ;     KEY_BANK=KEY_INPUT;               // 取PINC值
 0158                   .dbline 196
 0158           ;     KEY_BANK&=0X01;                   // 取mode 值    
 0158                   .dbline 197
 0158           ; if (KEY_BANK==0)     //有按下 执行   
 0158 23B2              in R2,0x13
 015A 20923900          sts _KEY_BANK,R2
 015E 822D              mov R24,R2
 0160 8170              andi R24,1
 0162 80933900          sts _KEY_BANK,R24
 0166 8823              tst R24
 0168 29F5              brne L15
 016A                   .dbline 198
 016A           ;    {      //TEST--------OK------------->>>>  
 016A                   .dbline 199
 016A           ;        KEY_BANK=1;               
 016A                   .dbline 200
 016A           ;        JS_004=++JS_004;
 016A                   .dbline 201
 016A           ;        if (JS_004==1)
 016A 81E0              ldi R24,1
 016C 80933900          sts _KEY_BANK,R24
 0170 80911600          lds R24,_JS_004
 0174 8F5F              subi R24,255    ; addi 1
 0176 282E              mov R2,R24
 0178 20921600          sts _JS_004,R2
 017C 20921600          sts _JS_004,R2
 0180 8130              cpi R24,1
 0182 49F4              brne L17
 0184                   .dbline 202
 0184           ;                         {
 0184                   .dbline 204
 0184           ;                                 //LED_DISPLAY_V1=11;
 0184           ;                                 LED_DISPLAY_V2=0;
 0184                   .dbline 205
 0184           ;                                 LED_DISPLAY_V3=0;
 0184                   .dbline 206
 0184           ;                                 LED_DISPLAY_V4=1;                               
 0184 2224              clr R2
 0186 20921C00          sts _LED_DISPLAY_V2,R2
 018A 20921D00          sts _LED_DISPLAY_V3,R2
 018E 81E0              ldi R24,1
 0190 80931E00          sts _LED_DISPLAY_V4,R24
 0194                   .dbline 207
 0194           ;                         }
 0194 12C0              xjmp L16
 0196           L17:
 0196                   .dbline 208
 0196           ;        else if (JS_004==2)
 0196 80911600          lds R24,_JS_004
 019A 8230              cpi R24,2
 019C 71F4              brne L16
 019E                   .dbline 209
 019E           ;                          {
 019E                   .dbline 210
 019E           ;                                   JS_004&=0;
 019E                   .dbline 212
 019E           ;                                 //LED_DISPLAY_V1=10;
 019E           ;                                 LED_DISPLAY_V2=0;
 019E                   .dbline 213
 019E           ;                                 LED_DISPLAY_V3=0;
 019E                   .dbline 214
 019E           ;                                 LED_DISPLAY_V4=1;
 019E 2224              clr R2
 01A0 20921600          sts _JS_004,R2
 01A4 20921C00          sts _LED_DISPLAY_V2,R2
 01A8 20921D00          sts _LED_DISPLAY_V3,R2
 01AC 81E0              ldi R24,1
 01AE 80931E00          sts _LED_DISPLAY_V4,R24
 01B2                   .dbline 215
 01B2           ;                          }
 01B2                   .dbline 216
 01B2           ;    }

⌨️ 快捷键说明

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