📄 led_car.lst
字号:
022C 903000D9 LDS R3,_pa
022E 2032 AND R3,R2
022F 923000D9 STS _pa,R3
0231 918000D8 LDS R24,_timers
0233 5F8F SUBI R24,0xFF
0234 938000D8 STS _timers,R24
0236 918000D8 LDS R24,_timers
0238 3088 CPI R24,0x8
0239 F320 BCS 0x021E
(0074) }
(0075)
(0076) pa = 0x80;
023A E880 LDI R24,0x80
023B 938000D9 STS _pa,R24
(0077) for(timers=0;timers<8;timers++)
023D 2422 CLR R2
023E 922000D8 STS _timers,R2
0240 C018 RJMP 0x0259
(0078) {
(0079) PORTA=~pa;
0241 902000D9 LDS R2,_pa
0243 9420 COM R2
0244 BA2B OUT 0x1B,R2
(0080) delay_ms(led_delayms/2);
0245 910000D6 LDS R16,0xD6
0247 911000D7 LDS R17,0xD7
0249 9516 LSR R17
024A 9507 ROR R16
024B DE35 RCALL _delay_ms
(0081) pa=pa|(pa>>1);
024C 902000D9 LDS R2,_pa
024E 9426 LSR R2
024F 903000D9 LDS R3,_pa
0251 2832 OR R3,R2
0252 923000D9 STS _pa,R3
0254 918000D8 LDS R24,_timers
0256 5F8F SUBI R24,0xFF
0257 938000D8 STS _timers,R24
0259 918000D8 LDS R24,_timers
025B 3088 CPI R24,0x8
025C F320 BCS 0x0241
(0082) }
(0083)
(0084) pa = 0xfe;
025D EF8E LDI R24,0xFE
025E 938000D9 STS _pa,R24
(0085) for(timers=0;timers<8;timers++)
0260 2422 CLR R2
0261 922000D8 STS _timers,R2
0263 C018 RJMP 0x027C
(0086) {
(0087) PORTA=~pa;
0264 902000D9 LDS R2,_pa
0266 9420 COM R2
0267 BA2B OUT 0x1B,R2
(0088) delay_ms(led_delayms/2);
0268 910000D6 LDS R16,0xD6
026A 911000D7 LDS R17,0xD7
026C 9516 LSR R17
026D 9507 ROR R16
026E DE12 RCALL _delay_ms
(0089) pa=pa & (pa<<1);
026F 902000D9 LDS R2,_pa
0271 0C22 LSL R2
0272 903000D9 LDS R3,_pa
0274 2032 AND R3,R2
0275 923000D9 STS _pa,R3
0277 918000D8 LDS R24,_timers
0279 5F8F SUBI R24,0xFF
027A 938000D8 STS _timers,R24
027C 918000D8 LDS R24,_timers
027E 3088 CPI R24,0x8
027F F320 BCS 0x0264
(0090) }
(0091)
(0092) pa = 0x03;
0280 E083 LDI R24,3
0281 938000D9 STS _pa,R24
(0093) for(timers=0;timers<4;timers++)
0283 2422 CLR R2
0284 922000D8 STS _timers,R2
0286 C016 RJMP 0x029D
(0094) {
(0095) PORTA=~pa;
0287 902000D9 LDS R2,_pa
0289 9420 COM R2
028A BA2B OUT 0x1B,R2
(0096) delay_ms(led_delayms/2);
028B 910000D6 LDS R16,0xD6
028D 911000D7 LDS R17,0xD7
028F 9516 LSR R17
0290 9507 ROR R16
0291 DDEF RCALL _delay_ms
(0097) pa=pa<<2;
0292 902000D9 LDS R2,_pa
0294 0C22 LSL R2
0295 0C22 LSL R2
0296 922000D9 STS _pa,R2
0298 918000D8 LDS R24,_timers
029A 5F8F SUBI R24,0xFF
029B 938000D8 STS _timers,R24
029D 918000D8 LDS R24,_timers
029F 3084 CPI R24,4
02A0 F330 BCS 0x0287
(0098) }
(0099)
(0100) pa = 0xc0;
02A1 EC80 LDI R24,0xC0
02A2 938000D9 STS _pa,R24
(0101) for(timers=0;timers<4;timers++)
02A4 2422 CLR R2
02A5 922000D8 STS _timers,R2
02A7 C016 RJMP 0x02BE
(0102) {
(0103) PORTA=~pa;
02A8 902000D9 LDS R2,_pa
02AA 9420 COM R2
02AB BA2B OUT 0x1B,R2
(0104) delay_ms(led_delayms/2);
02AC 910000D6 LDS R16,0xD6
02AE 911000D7 LDS R17,0xD7
02B0 9516 LSR R17
02B1 9507 ROR R16
02B2 DDCE RCALL _delay_ms
(0105) pa=pa>>2;
02B3 902000D9 LDS R2,_pa
02B5 9426 LSR R2
02B6 9426 LSR R2
02B7 922000D9 STS _pa,R2
02B9 918000D8 LDS R24,_timers
02BB 5F8F SUBI R24,0xFF
02BC 938000D8 STS _timers,R24
02BE 918000D8 LDS R24,_timers
02C0 3084 CPI R24,4
02C1 F330 BCS 0x02A8
(0106) }
(0107)
(0108) pa = 0x03;
02C2 E083 LDI R24,3
02C3 938000D9 STS _pa,R24
(0109) for(timers=0;timers<4;timers++)
02C5 2422 CLR R2
02C6 922000D8 STS _timers,R2
02C8 C019 RJMP 0x02E2
(0110) {
(0111) PORTA=~pa;
02C9 902000D9 LDS R2,_pa
02CB 9420 COM R2
02CC BA2B OUT 0x1B,R2
(0112) delay_ms(led_delayms/2);
02CD 910000D6 LDS R16,0xD6
02CF 911000D7 LDS R17,0xD7
02D1 9516 LSR R17
02D2 9507 ROR R16
02D3 DDAD RCALL _delay_ms
(0113) pa=pa | (pa<<2);
02D4 902000D9 LDS R2,_pa
02D6 0C22 LSL R2
02D7 0C22 LSL R2
02D8 903000D9 LDS R3,_pa
02DA 2832 OR R3,R2
02DB 923000D9 STS _pa,R3
02DD 918000D8 LDS R24,_timers
02DF 5F8F SUBI R24,0xFF
02E0 938000D8 STS _timers,R24
02E2 918000D8 LDS R24,_timers
02E4 3084 CPI R24,4
02E5 F318 BCS 0x02C9
(0114) }
(0115)
(0116) pa = 0x3f;
02E6 E38F LDI R24,0x3F
02E7 938000D9 STS _pa,R24
(0117) for(timers=0;timers<4;timers++)
02E9 2422 CLR R2
02EA 922000D8 STS _timers,R2
02EC C019 RJMP 0x0306
(0118) {
(0119) PORTA=~pa;
02ED 902000D9 LDS R2,_pa
02EF 9420 COM R2
02F0 BA2B OUT 0x1B,R2
(0120) delay_ms(led_delayms/2);
02F1 910000D6 LDS R16,0xD6
02F3 911000D7 LDS R17,0xD7
02F5 9516 LSR R17
02F6 9507 ROR R16
02F7 DD89 RCALL _delay_ms
(0121) pa=pa & (pa>>2);
02F8 902000D9 LDS R2,_pa
02FA 9426 LSR R2
02FB 9426 LSR R2
02FC 903000D9 LDS R3,_pa
02FE 2032 AND R3,R2
02FF 923000D9 STS _pa,R3
0301 918000D8 LDS R24,_timers
0303 5F8F SUBI R24,0xFF
0304 938000D8 STS _timers,R24
0306 918000D8 LDS R24,_timers
0308 3084 CPI R24,4
0309 F318 BCS 0x02ED
(0122) }
(0123)
(0124) pa = 0xc0;
030A EC80 LDI R24,0xC0
030B 938000D9 STS _pa,R24
(0125) for(timers=0;timers<4;timers++)
030D 2422 CLR R2
030E 922000D8 STS _timers,R2
0310 C019 RJMP 0x032A
(0126) {
(0127) PORTA=~pa;
0311 902000D9 LDS R2,_pa
0313 9420 COM R2
0314 BA2B OUT 0x1B,R2
(0128) delay_ms(led_delayms/2);
0315 910000D6 LDS R16,0xD6
0317 911000D7 LDS R17,0xD7
0319 9516 LSR R17
031A 9507 ROR R16
031B DD65 RCALL _delay_ms
(0129) pa=pa | (pa>>2);
031C 902000D9 LDS R2,_pa
031E 9426 LSR R2
031F 9426 LSR R2
0320 903000D9 LDS R3,_pa
0322 2832 OR R3,R2
0323 923000D9 STS _pa,R3
0325 918000D8 LDS R24,_timers
0327 5F8F SUBI R24,0xFF
0328 938000D8 STS _timers,R24
032A 918000D8 LDS R24,_timers
032C 3084 CPI R24,4
032D F318 BCS 0x0311
(0130) }
(0131)
(0132) pa = 0xfc;
032E EF8C LDI R24,0xFC
032F 938000D9 STS _pa,R24
(0133) for(timers=0;timers<4;timers++)
0331 2422 CLR R2
0332 922000D8 STS _timers,R2
0334 C019 RJMP 0x034E
(0134) {
(0135) PORTA=~pa;
0335 902000D9 LDS R2,_pa
0337 9420 COM R2
0338 BA2B OUT 0x1B,R2
(0136) delay_ms(led_delayms/2);
0339 910000D6 LDS R16,0xD6
033B 911000D7 LDS R17,0xD7
033D 9516 LSR R17
033E 9507 ROR R16
033F DD41 RCALL _delay_ms
(0137) pa=pa & (pa<<2);
0340 902000D9 LDS R2,_pa
0342 0C22 LSL R2
0343 0C22 LSL R2
0344 903000D9 LDS R3,_pa
0346 2032 AND R3,R2
0347 923000D9 STS _pa,R3
0349 918000D8 LDS R24,_timers
034B 5F8F SUBI R24,0xFF
034C 938000D8 STS _timers,R24
034E 918000D8 LDS R24,_timers
0350 3084 CPI R24,4
0351 F318 BCS 0x0335
(0138) }
(0139)
(0140) for(timers=0;;timers++)
0352 2422 CLR R2
0353 922000D8 STS _timers,R2
(0141) {
(0142) pa = led_data[timers];
0355 E680 LDI R24,0x60
0356 E090 LDI R25,0
0357 91E000D8 LDS R30,_timers
0359 27FF CLR R31
035A 0FE8 ADD R30,R24
035B 1FF9 ADC R31,R25
035C 8020 LDD R2,Z+0
035D 922000D9 STS _pa,R2
(0143) if(pa == 0x0a){break;}
035F 2D82 MOV R24,R2
0360 308A CPI R24,0xA
0361 F409 BNE 0x0363
0362 C010 RJMP 0x0373
(0144) PORTA = pa;
0363 902000D9 LDS R2,_pa
0365 BA2B OUT 0x1B,R2
(0145) delay_ms(led_delayms/2);
0366 910000D6 LDS R16,0xD6
0368 911000D7 LDS R17,0xD7
036A 9516 LSR R17
036B 9507 ROR R16
036C DD14 RCALL _delay_ms
036D 918000D8 LDS R24,_timers
036F 5F8F SUBI R24,0xFF
0370 938000D8 STS _timers,R24
0372 CFE2 RJMP 0x0355
(0146) }
(0147)
(0148) pa = 0x55;
0373 E585 LDI R24,0x55
0374 938000D9 STS _pa,R24
(0149) for(timers=0;timers<16;timers++)
0376 2422 CLR R2
0377 922000D8 STS _timers,R2
0379 C012 RJMP 0x038C
(0150) {//8 LED 流水灯
(0151) PORTA=pa;
037A 902000D9 LDS R2,_pa
037C BA2B OUT 0x1B,R2
(0152) delay_ms(led_delayms);
037D 910000D6 LDS R16,0xD6
037F 911000D7 LDS R17,0xD7
0381 DCFF RCALL _delay_ms
(0153) pa=~pa;
0382 902000D9 LDS R2,_pa
0384 9420 COM R2
0385 922000D9 STS _pa,R2
0387 918000D8 LDS R24,_timers
0389 5F8F SUBI R24,0xFF
038A 938000D8 STS _timers,R24
038C 918000D8 LDS R24,_timers
038E 3180 CPI R24,0x10
038F F350 BCS 0x037A
(0154) }
(0155)
(0156) led_delayms = led_delayms - 100;
0390 918000D6 LDS R24,0xD6
0392 919000D7 LDS R25,0xD7
0394 5684 SUBI R24,0x64
0395 4090 SBCI R25,0
0396 939000D7 STS 0xD7,R25
0398 938000D6 STS 0xD6,R24
(0157) if(led_delayms == 100)
039A 3684 CPI R24,0x64
039B E0E0 LDI R30,0
039C 079E CPC R25,R30
039D F431 BNE 0x03A4
(0158) {
(0159) led_delayms = 600;
039E E588 LDI R24,0x58
039F E092 LDI R25,2
03A0 939000D7 STS 0xD7,R25
03A2 938000D6 STS 0xD6,R24
03A4 CDF1 RJMP 0x0196
(0160) }
(0161) }
(0162) }
03A5 9508 RET
(0163)
(0164) void main()
(0165) {
(0166) led_car();
(0167) }
FILE: <library>
_main:
03A6 CDE9 RJMP _led_car
push_gset1:
03A7 935A ST R21,-Y
03A8 934A ST R20,-Y
03A9 9508 RET
pop_gset1:
03AA E0E1 LDI R30,1
pop:
03AB 9149 LD R20,Y+
03AC 9159 LD R21,Y+
03AD FDE0 SBRC R30,0
03AE 9508 RET
03AF 9169 LD R22,Y+
03B0 9179 LD R23,Y+
03B1 FDE1 SBRC R30,1
03B2 9508 RET
03B3 90A9 LD R10,Y+
03B4 90B9 LD R11,Y+
03B5 FDE2 SBRC R30,2
03B6 9508 RET
03B7 90C9 LD R12,Y+
03B8 90D9 LD R13,Y+
03B9 FDE3 SBRC R30,3
03BA 9508 RET
03BB 90E9 LD R14,Y+
03BC 90F9 LD R15,Y+
03BD 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -