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

📄 led_m16.lst

📁 51单片机的
💻 LST
📖 第 1 页 / 共 5 页
字号:
(0205)   				  LED_DISPLAY_V3=0;
(0206)   				  LED_DISPLAY_V4=1;  				  
    0132 2422      CLR	R2
    0133 9220007C  STS	0x7C,R2
    0135 9220007D  STS	0x7D,R2
    0137 E081      LDI	R24,1
    0138 9380007E  STS	0x7E,R24
(0207)                         }
    013A C012      RJMP	0x014D
(0208)        else if (JS_004==2)
    013B 91800076  LDS	R24,0x76
    013D 3082      CPI	R24,2
    013E F471      BNE	0x014D
(0209)                          {
(0210)                                   JS_004&=0;
(0211)              	  	          //LED_DISPLAY_V1=10;
(0212)  	 	   	 	  LED_DISPLAY_V2=0;
(0213)   			 	  LED_DISPLAY_V3=0;
(0214)   			 	  LED_DISPLAY_V4=1;
    013F 2422      CLR	R2
    0140 92200076  STS	0x76,R2
    0142 9220007C  STS	0x7C,R2
    0144 9220007D  STS	0x7D,R2
    0146 E081      LDI	R24,1
    0147 9380007E  STS	0x7E,R24
(0215)                          }
(0216)    }
    0149 C003      RJMP	0x014D
(0217)    else
(0218)       KEY_BANK=0;
    014A 2422      CLR	R2
    014B 92200099  STS	0x99,R2
(0219)     
(0220) }
    014D 9508      RET
(0221) 
(0222) void KEY_PRESS_CHECK_OFF()
(0223) {
(0224)        KEY_BANK=KEY_INPUT;      // 取PINC值
(0225)        KEY_BANK&=0X01;    
(0226)      if  (KEY_BANK==0)          // V1有按下
_KEY_PRESS_CHECK_OFF:
    014E B223      IN	R2,0x13
    014F 92200099  STS	0x99,R2
    0151 2D82      MOV	R24,R2
    0152 7081      ANDI	R24,1
    0153 93800099  STS	0x99,R24
    0155 2388      TST	R24
    0156 F421      BNE	0x015B
(0227)          KEY_PAN_MODE_3=1;
    0157 E081      LDI	R24,1
    0158 9380009C  STS	0x9C,R24
    015A C003      RJMP	0x015E
(0228)      else                       // V1没有按下  
(0229)          KEY_PAN_MODE_3=0;
    015B 2422      CLR	R2
    015C 9220009C  STS	0x9C,R2
(0230) }
    015E 9508      RET
(0231) ///////////////////////////////MENU/////////////////////////////////////////////////////////////////
(0232) void KEY_CHK_MENU() 
(0233) {
(0234) }
_KEY_CHK_MENU:
    015F 9508      RET
_KEY_CHK_UP:
    0160 940E062D  CALL	push_gset2
    0162 9724      SBIW	R28,4
(0235) ///////////////////////////////UP///////////////////////////////////////////////////////////////////////
(0236) void KEY_CHK_UP() 
(0237) {
(0238)     KEY_BANK=KEY_INPUT;               // 取PINC值
(0239)     KEY_BANK=KEY_BANK>>2;
(0240)     KEY_BANK&=0X01;                   // 取DOWN 值
(0241)   if (KEY_BANK==0)              //press on  do it
    0163 B223      IN	R2,0x13
    0164 92200099  STS	0x99,R2
    0166 9426      LSR	R2
    0167 9426      LSR	R2
    0168 92200099  STS	0x99,R2
    016A 2D82      MOV	R24,R2
    016B 7081      ANDI	R24,1
    016C 93800099  STS	0x99,R24
    016E 2388      TST	R24
    016F F009      BEQ	0x0171
    0170 C08F      RJMP	0x0200
(0242)       {    
(0243)            
(0244)            JS_PRESS_OFF_UP==0;  
(0245)            
(0246)        if (JS_PRESS_ON_UP_1==0)            //press on  yes   first times
    0171 90200089  LDS	R2,0x89
    0173 2022      TST	R2
    0174 F4C9      BNE	0x018E
(0247)            {
(0248)            JS_PRESS_ON_UP_1=1;
(0249)            JS_PRESS_ON_UP=0;
(0250)            JS_PRESS_ON_UP_FAST=0;      
(0251)            JS_PRESS_ON_UP_10000=0;
(0252)            LED_DISPLAY_UP_DMX512();
    0175 E081      LDI	R24,1
    0176 93800089  STS	0x89,R24
    0178 E040      LDI	R20,0
    0179 E050      LDI	R21,0
    017A E060      LDI	R22,0
    017B E070      LDI	R23,0
    017C 93500081  STS	0x81,R21
    017E 93400080  STS	0x80,R20
    0180 93700083  STS	0x83,R23
    0182 93600082  STS	0x82,R22
    0184 2422      CLR	R2
    0185 2433      CLR	R3
    0186 9230008E  STS	0x8E,R3
    0188 9220008D  STS	0x8D,R2
    018A 9220008A  STS	0x8A,R2
    018C D0A2      RCALL	_LED_DISPLAY_UP_DMX512
(0253)            
(0254)               // JS_UP_MODE=++JS_UP_MODE;
(0255)               //   if (JS_UP_MODE==4)
(0256)               //   JS_UP_MODE=0;
(0257)            }  
    018D C09D      RJMP	0x022B
(0258)         else
(0259)         {
(0260)                if (JS_PRESS_ON_UP_10000==1)
    018E 9180008A  LDS	R24,0x8A
    0190 3081      CPI	R24,1
    0191 F4E9      BNE	0x01AF
(0261)                    {
(0262)                                       if (JS_PRESS_ON_UP_FAST==2000)
    0192 9180008D  LDS	R24,0x8D
    0194 9190008E  LDS	R25,0x8E
    0196 3D80      CPI	R24,0xD0
    0197 E0E7      LDI	R30,7
    0198 079E      CPC	R25,R30
    0199 F441      BNE	0x01A2
(0263)                                         {
(0264)                     			JS_PRESS_ON_UP_FAST=0;          
(0265)                     			LED_DISPLAY_UP_DMX512();
    019A 2422      CLR	R2
    019B 2433      CLR	R3
    019C 9230008E  STS	0x8E,R3
    019E 9220008D  STS	0x8D,R2
    01A0 D08E      RCALL	_LED_DISPLAY_UP_DMX512
(0266)                     			}
    01A1 C00D      RJMP	0x01AF
(0267)                			     else
(0268)                    			JS_PRESS_ON_UP_FAST=++JS_PRESS_ON_UP_FAST; 			
    01A2 9180008D  LDS	R24,0x8D
    01A4 9190008E  LDS	R25,0x8E
    01A6 9601      ADIW	R24,1
    01A7 9390008E  STS	0x8E,R25
    01A9 9380008D  STS	0x8D,R24
    01AB 9390008E  STS	0x8E,R25
    01AD 9380008D  STS	0x8D,R24
(0269)                    }
(0270)                    
(0271)                if (JS_PRESS_ON_UP==30000)
    01AF E340      LDI	R20,0x30
    01B0 E755      LDI	R21,0x75
    01B1 E060      LDI	R22,0
    01B2 E070      LDI	R23,0
    01B3 90400082  LDS	R4,0x82
    01B5 90500083  LDS	R5,0x83
    01B7 90200080  LDS	R2,0x80
    01B9 90300081  LDS	R3,0x81
    01BB 1624      CP	R2,R20
    01BC 0635      CPC	R3,R21
    01BD 0646      CPC	R4,R22
    01BE 0657      CPC	R5,R23
    01BF F481      BNE	0x01D0
(0272)                     {
(0273)                     JS_PRESS_ON_UP=0;          
(0274)                     JS_PRESS_ON_UP_10000=1; 
    01C0 E040      LDI	R20,0
    01C1 E050      LDI	R21,0
    01C2 E060      LDI	R22,0
    01C3 E070      LDI	R23,0
    01C4 93500081  STS	0x81,R21
    01C6 93400080  STS	0x80,R20
    01C8 93700083  STS	0x83,R23
    01CA 93600082  STS	0x82,R22
    01CC E081      LDI	R24,1
    01CD 9380008A  STS	0x8A,R24
(0275)                     }
    01CF C05B      RJMP	0x022B
(0276)                else
(0277)                    JS_PRESS_ON_UP=++JS_PRESS_ON_UP;                   
    01D0 E041      LDI	R20,1
    01D1 E050      LDI	R21,0
    01D2 E060      LDI	R22,0
    01D3 E070      LDI	R23,0
    01D4 90400082  LDS	R4,0x82
    01D6 90500083  LDS	R5,0x83
    01D8 90200080  LDS	R2,0x80
    01DA 90300081  LDS	R3,0x81
    01DC 0E24      ADD	R2,R20
    01DD 1E35      ADC	R3,R21
    01DE 1E46      ADC	R4,R22
    01DF 1E57      ADC	R5,R23
    01E0 01FE      MOVW	R30,R28
    01E1 8220      STD	Z+0,R2
    01E2 8231      STD	Z+1,R3
    01E3 8242      STD	Z+2,R4
    01E4 8253      STD	Z+3,R5
    01E5 01FE      MOVW	R30,R28
    01E6 8020      LDD	R2,Z+0
    01E7 8031      LDD	R3,Z+1
    01E8 8042      LDD	R4,Z+2
    01E9 8053      LDD	R5,Z+3
    01EA 92300081  STS	0x81,R3
    01EC 92200080  STS	0x80,R2
    01EE 92500083  STS	0x83,R5
    01F0 92400082  STS	0x82,R4
    01F2 01FE      MOVW	R30,R28
    01F3 8020      LDD	R2,Z+0
    01F4 8031      LDD	R3,Z+1
    01F5 8042      LDD	R4,Z+2
    01F6 8053      LDD	R5,Z+3
    01F7 92300081  STS	0x81,R3
    01F9 92200080  STS	0x80,R2
    01FB 92500083  STS	0x83,R5
    01FD 92400082  STS	0x82,R4
(0278)          }       
(0279)      }
    01FF C02B      RJMP	0x022B
(0280)   else        //unpress     
(0281)            {
(0282)                JS_PRESS_ON_UP=0;
(0283)                JS_PRESS_ON_UP_10000=0; 
(0284)                JS_PRESS_ON_UP_FAST=0;     
(0285)                JS_PRESS_OFF_UP=++JS_PRESS_OFF_UP; 
(0286)              if (JS_PRESS_OFF_UP==2000)
    0200 E040      LDI	R20,0
    0201 E050      LDI	R21,0
    0202 E060      LDI	R22,0
    0203 E070      LDI	R23,0
    0204 93500081  STS	0x81,R21
    0206 93400080  STS	0x80,R20
    0208 93700083  STS	0x83,R23
    020A 93600082  STS	0x82,R22
    020C 2422      CLR	R2
    020D 9220008A  STS	0x8A,R2
    020F 2433      CLR	R3
    0210 9230008E  STS	0x8E,R3
    0212 9220008D  STS	0x8D,R2
    0214 9180008F  LDS	R24,0x8F
    0216 91900090  LDS	R25,0x90
    0218 9601      ADIW	R24,1
    0219 93900090  STS	0x90,R25
    021B 9380008F  STS	0x8F,R24
    021D 93900090  STS	0x90,R25
    021F 9380008F  STS	0x8F,R24
    0221 3D80      CPI	R24,0xD0
    0222 E0E7      LDI	R30,7
    0223 079E      CPC	R25,R30
    0224 F431      BNE	0x022B
(0287)                           { 
(0288)                            JS_PRESS_ON_UP_1=0;
(0289)                            JS_PRESS_OFF_UP=0;          
    0225 92200089  STS	0x89,R2
    0227 92300090  STS	0x90,R3
    0229 9220008F  STS	0x8F,R2
(0290)                           } 
(0291) 	    }		   
(0292)                         
(0293) }
    022B 9624      ADIW	R28,4
    022C 940E0613  CALL	pop_gset2
    022E 9508      RET
(0294) //----------------UP_DMX512-------------------------------------
(0295) void LED_DISPLAY_UP_DMX512()
(0296) {
(0297) if (LED_DISPLAY_V2==5)
_LED_DISPLAY_UP_DMX512:
    022F 9180007C  LDS	R24,0x7C
    0231 3085      CPI	R24,5
    0232 F479      BNE	0x0242
(0298)                         {
(0299)                           if (LED_DISPLAY_V3==1)
    0233 9180007D  LDS	R24,0x7D
    0235 3081      CPI	R24,1
    0236 F459      BNE	0x0242
(0300)                              {
(0301)                                 if (LED_DISPLAY_V4==2)
    0237 9180007E  LDS	R24,0x7E
    0239 3082      CPI	R24,2
    023A F439      BNE	0x0242
(0302)                                    {
(0303)                                    LED_DISPLAY_V2=0;
(0304)                                    LED_DISPLAY_V3=0;
(0305)                                    LED_DISPLAY_V4=0;
    023B 2422      CLR	R2
    023C 9220007C  STS	0x7C,R2
    023E 9220007D  STS	0x7D,R2
    0240 9220007E  STS	0x7E,R2
(0306)                                    }
(0307)                              }
(0308)                          }
(0309) if (LED_DISPLAY_V4==9)
    0242 9180007E  LDS	R24,0x7E
    0244 3089      CPI	R24,0x9
    0245 F4D9      BNE	0x0261
(0310)        {
(0311)         LED_DISPLAY_V4=0;
(0312)           if (LED_DISPLAY_V3==9)
    0246 2422      CLR	R2
    0247 9220007E  STS	0x7E,R2
    0249 9180007D  LDS	R24,0x7D
    024B 3089      CPI	R24,0x9
    024C F459      BNE	0x0258
(0313)             {
(0314)              LED_DISPLAY_V3=0;
(0315)              LED_DISPLAY_V2=++LED_DISPLAY_V2;
    024D 9220007D  STS	0x7D,R2
    024F 9180007C  LDS	R24,0x7C
    0251 5F8F      SUBI	R24,0xFF
    0252 2E28      MOV	R2,R24
    0253 9220007C  STS	0x7C,R2
    0255 9220007C  STS	0x7C,R2
(0316)             } 
    0257 C011      RJMP	0x0269
(0317)           else 
(0318)              LED_DISPLAY_V3=++LED_DISPLAY_V3;  
    0258 9180007D  LDS	R24,0x7D
    025A 5F8F      SUBI	R24,0xFF
    025B 2E28      MOV	R2,R24
    025C 9220007D  STS	0x7D,R2
    025E 9220007D  STS	0x7D,R2
(0319)        }
    0260 C008      RJMP	0x0269
(0320)     else 
(0321)       LED_DISPLAY_V4=++LED_DISPLAY_V4;     
    0261 9180007E  LDS	R24,0x7E
    0263 5F8F      SUBI	R24,0xFF
    0264 2E28      MOV	R2,R24
    0265 9220007E  STS	0x7E,R2
    0267 9220007E  STS	0x7E,R2
(0322) }
    0269 9508      RET
_KEY_CHK_DOWN:
    026A 940E062D  CALL	push_gset2
    026C 9724      SBIW	R28,4
(0323) ////////////////////////////////DOWN/////////////////////////////////////////////////////////////////////////
(0324) 
(0325) void KEY_CHK_DOWN() 
(0326) {
(0327) 
(0328)     KEY_BANK=KEY_INPUT;               // 取PINC值
(0329)     KEY_BANK=KEY_BANK>>3;
(0330)     KEY_BANK&=0X01;                   // 取DOWN 值
(0331)   if (KEY_BANK==0)              //press on  do it
    026D B223      IN	R2,0x13
    026E 92200099  STS	0x99,R2
    0270 9426      LSR	R2
    0271 9426      LSR	R2
    0272 9426      LSR	R2
    0273 92200099  STS	0x99,R2
    0275 2D82      MOV	R24,R2
    0276 7081      ANDI	R24,1
    0277 93800099  STS	0x99,R24
    0279 2388      TST	R24
    027A F009      BEQ	0x027C
    027B C08F      RJMP	0x030B
(0332)       {    
(0333)            
(0334)            JS_PRESS_OFF_DOWN==0;  
(0335)            
(0336)        if (JS_PRESS_DOWN_ON_1==0)            //press on  yes   first times
    027C 902000AA  LDS	R2,_JS_PRESS_DOWN_ON_1
    027E 2022      TST	R2
    027F F4C9      BNE	0x0299
(0337)            {
(0338)            JS_PRESS_DOWN_ON_1=1;
(0339)            JS_PRESS_ON_DOWN=0;
(0340)            JS_PRESS_ON_DOWN_FAST=0;      
(0341)            JS_PRESS_ON_DOWN_10000=0;
(0342)            LED_DISPLAY_DOWN_DMX512();
    0280 E081      LDI	R24,1
    0281 938000AA  STS	_JS_PRESS_DOWN_ON_1,R24
    0283 E040      LDI	R20,0
    0284 E050      LDI	R21,0
    0285 E060      LDI	R22,0
    0286 E070      LDI	R23,0
    0287 93500085  STS	0x85,R21
    0289 93400084  STS	0x84,R20
    028B 93700087  STS	0x87,R23
    028D 93600086  STS	0x86,R22
    028F 2422      CLR	R2
    0290 2433      CLR	R3
    0291 923000AC  STS	_JS_PRESS_ON_DOWN_FAST+1,R3
    0293 922000AB  STS	_JS_PRESS_ON_DOWN_FAST,R2
    0295 9220008C  STS	0x8C,R2
    0297 D0A2      RCALL	_LED_DISPLAY_DOWN_DMX512
(0343)            
(0344)               // JS_DOWN_MODE=++JS_DOWN_MODE;
(0345)               //   if (JS_DOWN_MODE==4)
(0346)               //   JS_DOWN_MODE=0;
(0347)            }  
    0298 C09D      RJMP	0x0336
(0348)         else
(0349)         {
(0350)                if (JS_PRESS_ON_DOWN_10000==1)
    0299 9180008C  LDS	R24,0x8C
    029B 3081      CPI	R24,1
    029C F4E9      BNE	0x02BA

⌨️ 快捷键说明

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