📄 led_m16.lst
字号:
(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 + -