📄 leson4.lis
字号:
01A8 .dbline 192
01A8 ; {
01A8 ; senddata(k);
01A8 ; delayus(800);
01A8 ; senddata(0x00);
01A8 ; delayus(200);
01A8 ; }
01A8 ; k=k<<1;
01A8 CC0C lsl R12
01AA DD1C rol R13
01AC .dbline 193
01AC ; }
01AC 1FC0 rjmp L59
01AE L58:
01AE .dbline 194
01AE ; else if(i>10)
01AE 8AE0 ldi R24,10
01B0 8E15 cp R24,R14
01B2 A0F4 brsh L64
01B4 .dbline 195
01B4 ; {
01B4 .dbline 196
01B4 ; for(h=0;h<20;h++)
01B4 6627 clr R22
01B6 0DC0 rjmp L69
01B8 L66:
01B8 .dbline 197
01B8 .dbline 198
01B8 0C2D mov R16,R12
01BA 1D2D mov R17,R13
01BC 68DF rcall _senddata
01BE .dbline 199
01BE 08E5 ldi R16,600
01C0 12E0 ldi R17,2
01C2 56DF rcall _delayus
01C4 .dbline 200
01C4 0027 clr R16
01C6 1127 clr R17
01C8 62DF rcall _senddata
01CA .dbline 201
01CA 00E9 ldi R16,400
01CC 11E0 ldi R17,1
01CE 50DF rcall _delayus
01D0 .dbline 202
01D0 L67:
01D0 .dbline 196
01D0 6395 inc R22
01D2 L69:
01D2 .dbline 196
01D2 6431 cpi R22,20
01D4 88F3 brlo L66
01D6 .dbline 203
01D6 ; {
01D6 ; senddata(k);
01D6 ; delayus(600);
01D6 ; senddata(0x00);
01D6 ; delayus(400);
01D6 ; }
01D6 ; k=k<<1;
01D6 CC0C lsl R12
01D8 DD1C rol R13
01DA .dbline 205
01DA ;
01DA ; }
01DA 08C0 rjmp L65
01DC L64:
01DC .dbline 207
01DC ; else
01DC ; {
01DC .dbline 208
01DC ; senddata(k);
01DC 0C2D mov R16,R12
01DE 1D2D mov R17,R13
01E0 56DF rcall _senddata
01E2 .dbline 209
01E2 ; delayms(20);
01E2 04E1 ldi R16,20
01E4 10E0 ldi R17,0
01E6 30DF rcall _delayms
01E8 .dbline 210
01E8 ; k=k<<1;
01E8 CC0C lsl R12
01EA DD1C rol R13
01EC .dbline 211
01EC ; }
01EC L65:
01EC L59:
01EC .dbline 212
01EC L55:
01EC .dbline 181
01EC E394 inc R14
01EE L57:
01EE .dbline 181
01EE 8E2D mov R24,R14
01F0 8F30 cpi R24,15
01F2 08F4 brsh X6
01F4 C2CF rjmp L54
01F6 X6:
01F6 L41:
01F6 .dbline 216
01F6 ; }
01F6 ;
01F6 ;
01F6 ; start3:
01F6 ; for(i=0;i<16;i++) //右到左逐渐亮
01F6 EE24 clr R14
01F8 0BC0 rjmp L73
01FA L70:
01FA .dbline 217
01FA .dbline 218
01FA 042F mov R16,R20
01FC 152F mov R17,R21
01FE 47DF rcall _senddata
0200 .dbline 219
0200 04E1 ldi R16,20
0202 10E0 ldi R17,0
0204 21DF rcall _delayms
0206 .dbline 220
0206 5695 lsr R21
0208 4795 ror R20
020A .dbline 221
020A 4050 subi R20,0 ; offset = 16384
020C 504C sbci R21,192
020E .dbline 222
020E L71:
020E .dbline 216
020E E394 inc R14
0210 L73:
0210 .dbline 216
0210 8E2D mov R24,R14
0212 8031 cpi R24,16
0214 90F3 brlo L70
0216 L43:
0216 .dbline 227
0216 ; {
0216 ; senddata(m);
0216 ; delayms(20);
0216 ; m=m>>1;
0216 ; m=m+0x4000;
0216 ; }
0216 ;
0216 ;
0216 ; start4:
0216 ;
0216 ; for(i=0;i<16;i++) //右到左逐渐灭
0216 EE24 clr R14
0218 3AC0 rjmp L77
021A L74:
021A .dbline 228
021A ; {
021A .dbline 229
021A ; if((i>5)&&(i<10))
021A 85E0 ldi R24,5
021C 8E15 cp R24,R14
021E B8F4 brsh L78
0220 8E2D mov R24,R14
0222 8A30 cpi R24,10
0224 A0F4 brsh L78
0226 .dbline 230
0226 ; {
0226 .dbline 231
0226 ; for(h=0;h<20;h++)
0226 6627 clr R22
0228 0DC0 rjmp L83
022A L80:
022A .dbline 232
022A .dbline 233
022A 0A2D mov R16,R10
022C 1B2D mov R17,R11
022E 2FDF rcall _senddata
0230 .dbline 234
0230 00E2 ldi R16,800
0232 13E0 ldi R17,3
0234 1DDF rcall _delayus
0236 .dbline 235
0236 0027 clr R16
0238 1127 clr R17
023A 29DF rcall _senddata
023C .dbline 236
023C 08EC ldi R16,200
023E 10E0 ldi R17,0
0240 17DF rcall _delayus
0242 .dbline 237
0242 L81:
0242 .dbline 231
0242 6395 inc R22
0244 L83:
0244 .dbline 231
0244 6431 cpi R22,20
0246 88F3 brlo L80
0248 .dbline 238
0248 ; {
0248 ; senddata(n);
0248 ; delayus(800);
0248 ; senddata(0x00);
0248 ; delayus(200);
0248 ; }
0248 ; n=n>>1;
0248 B694 lsr R11
024A A794 ror R10
024C .dbline 239
024C ; }
024C 1FC0 rjmp L79
024E L78:
024E .dbline 240
024E ; else if(i>10)
024E 8AE0 ldi R24,10
0250 8E15 cp R24,R14
0252 A0F4 brsh L84
0254 .dbline 241
0254 ; {
0254 .dbline 242
0254 ; for(h=0;h<20;h++)
0254 6627 clr R22
0256 0DC0 rjmp L89
0258 L86:
0258 .dbline 243
0258 .dbline 244
0258 0A2D mov R16,R10
025A 1B2D mov R17,R11
025C 18DF rcall _senddata
025E .dbline 245
025E 08E5 ldi R16,600
0260 12E0 ldi R17,2
0262 06DF rcall _delayus
0264 .dbline 246
0264 0027 clr R16
0266 1127 clr R17
0268 12DF rcall _senddata
026A .dbline 247
026A 00E9 ldi R16,400
026C 11E0 ldi R17,1
026E 00DF rcall _delayus
0270 .dbline 248
0270 L87:
0270 .dbline 242
0270 6395 inc R22
0272 L89:
0272 .dbline 242
0272 6431 cpi R22,20
0274 88F3 brlo L86
0276 .dbline 249
0276 ; {
0276 ; senddata(n);
0276 ; delayus(600);
0276 ; senddata(0x00);
0276 ; delayus(400);
0276 ; }
0276 ; n=n>>1;
0276 B694 lsr R11
0278 A794 ror R10
027A .dbline 251
027A ;
027A ; }
027A 08C0 rjmp L85
027C L84:
027C .dbline 253
027C ; else
027C ; {
027C .dbline 254
027C ; senddata(n);
027C 0A2D mov R16,R10
027E 1B2D mov R17,R11
0280 06DF rcall _senddata
0282 .dbline 255
0282 ; delayms(20);
0282 04E1 ldi R16,20
0284 10E0 ldi R17,0
0286 E0DE rcall _delayms
0288 .dbline 256
0288 ; n=n>>1;
0288 B694 lsr R11
028A A794 ror R10
028C .dbline 257
028C ; }
028C L85:
028C L79:
028C .dbline 259
028C L75:
028C .dbline 227
028C E394 inc R14
028E L77:
028E .dbline 227
028E 8E2D mov R24,R14
0290 8031 cpi R24,16
0292 08F4 brsh X7
0294 C2CF rjmp L74
0296 X7:
0296 .dbline 261
0296 L48:
0296 .dbline 158
0296 4CCF rjmp L47
0298 X1:
0298 .dbline -2
0298 L32:
0298 2296 adiw R28,2
029A .dbline 0 ; func end
029A 0895 ret
029C .dbsym r m 20 i
029C .dbsym l j 0 i
029C .dbsym r n 10 i
029C .dbsym r k 12 i
029C .dbsym r i 14 c
029C .dbsym r h 22 c
029C .dbend
.area bss(ram, con, rel)
0000 .dbfile F:\lesson\leson4.c
0000 _rdata::
0000 .blkb 1
0001 .dbsym e rdata _rdata c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -