📄 leson3.lis
字号:
0170 .dbline 187
0170 ; {
0170 .dbline 188
0170 ; for(h=0;h<20;h++)
0170 6627 clr R22
0172 0DC0 rjmp L55
0174 L52:
0174 .dbline 189
0174 .dbline 190
0174 0C2D mov R16,R12
0176 1D2D mov R17,R13
0178 8ADF rcall _senddata
017A .dbline 191
017A 08E5 ldi R16,600
017C 12E0 ldi R17,2
017E 78DF rcall _delayus
0180 .dbline 192
0180 0027 clr R16
0182 1127 clr R17
0184 84DF rcall _senddata
0186 .dbline 193
0186 00E9 ldi R16,400
0188 11E0 ldi R17,1
018A 72DF rcall _delayus
018C .dbline 194
018C L53:
018C .dbline 188
018C 6395 inc R22
018E L55:
018E .dbline 188
018E 6431 cpi R22,20
0190 88F3 brlo L52
0192 .dbline 195
0192 ; {
0192 ; senddata(k);
0192 ; delayus(600);
0192 ; senddata(0x00);
0192 ; delayus(400);
0192 ; }
0192 ; k=k<<1;
0192 CC0C lsl R12
0194 DD1C rol R13
0196 .dbline 197
0196 ;
0196 ; }
0196 08C0 rjmp L51
0198 L50:
0198 .dbline 199
0198 ; else
0198 ; {
0198 .dbline 200
0198 ; senddata(k);
0198 0C2D mov R16,R12
019A 1D2D mov R17,R13
019C 78DF rcall _senddata
019E .dbline 201
019E ; delayms(20);
019E 04E1 ldi R16,20
01A0 10E0 ldi R17,0
01A2 52DF rcall _delayms
01A4 .dbline 202
01A4 ; k=k<<1;
01A4 CC0C lsl R12
01A6 DD1C rol R13
01A8 .dbline 203
01A8 ; }
01A8 L51:
01A8 L45:
01A8 .dbline 204
01A8 L41:
01A8 .dbline 173
01A8 E394 inc R14
01AA L43:
01AA .dbline 173
01AA 8E2D mov R24,R14
01AC 8F30 cpi R24,15
01AE 08F4 brsh X1
01B0 C2CF rjmp L40
01B2 X1:
01B2 .dbline 206
01B2 ; }
01B2 ;
01B2 ; USART_Transmit(0x77);
01B2 07E7 ldi R16,119
01B4 3BDF rcall _USART_Transmit
01B6 .dbline 208
01B6 ;
01B6 ; for(i=0;i<16;i++) //右到左逐渐亮
01B6 EE24 clr R14
01B8 0BC0 rjmp L59
01BA L56:
01BA .dbline 209
01BA .dbline 210
01BA 042F mov R16,R20
01BC 152F mov R17,R21
01BE 67DF rcall _senddata
01C0 .dbline 211
01C0 04E1 ldi R16,20
01C2 10E0 ldi R17,0
01C4 41DF rcall _delayms
01C6 .dbline 212
01C6 5695 lsr R21
01C8 4795 ror R20
01CA .dbline 213
01CA 4050 subi R20,0 ; offset = 16384
01CC 504C sbci R21,192
01CE .dbline 214
01CE L57:
01CE .dbline 208
01CE E394 inc R14
01D0 L59:
01D0 .dbline 208
01D0 8E2D mov R24,R14
01D2 8031 cpi R24,16
01D4 90F3 brlo L56
01D6 .dbline 217
01D6 ; {
01D6 ; senddata(m);
01D6 ; delayms(20);
01D6 ; m=m>>1;
01D6 ; m=m+0x4000;
01D6 ; }
01D6 ;
01D6 ;
01D6 ; USART_Transmit(0x88);
01D6 08E8 ldi R16,136
01D8 29DF rcall _USART_Transmit
01DA .dbline 219
01DA ;
01DA ; for(i=0;i<16;i++) //右到左逐渐灭
01DA EE24 clr R14
01DC 3AC0 rjmp L63
01DE L60:
01DE .dbline 220
01DE ; {
01DE .dbline 221
01DE ; if((i>5)&&(i<10))
01DE 85E0 ldi R24,5
01E0 8E15 cp R24,R14
01E2 B8F4 brsh L64
01E4 8E2D mov R24,R14
01E6 8A30 cpi R24,10
01E8 A0F4 brsh L64
01EA .dbline 222
01EA ; {
01EA .dbline 223
01EA ; for(h=0;h<20;h++)
01EA 6627 clr R22
01EC 0DC0 rjmp L69
01EE L66:
01EE .dbline 224
01EE .dbline 225
01EE 0A2D mov R16,R10
01F0 1B2D mov R17,R11
01F2 4DDF rcall _senddata
01F4 .dbline 226
01F4 00E2 ldi R16,800
01F6 13E0 ldi R17,3
01F8 3BDF rcall _delayus
01FA .dbline 227
01FA 0027 clr R16
01FC 1127 clr R17
01FE 47DF rcall _senddata
0200 .dbline 228
0200 08EC ldi R16,200
0202 10E0 ldi R17,0
0204 35DF rcall _delayus
0206 .dbline 229
0206 L67:
0206 .dbline 223
0206 6395 inc R22
0208 L69:
0208 .dbline 223
0208 6431 cpi R22,20
020A 88F3 brlo L66
020C .dbline 230
020C ; {
020C ; senddata(n);
020C ; delayus(800);
020C ; senddata(0x00);
020C ; delayus(200);
020C ; }
020C ; n=n>>1;
020C B694 lsr R11
020E A794 ror R10
0210 .dbline 231
0210 ; }
0210 1FC0 rjmp L65
0212 L64:
0212 .dbline 232
0212 ; else if(i>10)
0212 8AE0 ldi R24,10
0214 8E15 cp R24,R14
0216 A0F4 brsh L70
0218 .dbline 233
0218 ; {
0218 .dbline 234
0218 ; for(h=0;h<20;h++)
0218 6627 clr R22
021A 0DC0 rjmp L75
021C L72:
021C .dbline 235
021C .dbline 236
021C 0A2D mov R16,R10
021E 1B2D mov R17,R11
0220 36DF rcall _senddata
0222 .dbline 237
0222 08E5 ldi R16,600
0224 12E0 ldi R17,2
0226 24DF rcall _delayus
0228 .dbline 238
0228 0027 clr R16
022A 1127 clr R17
022C 30DF rcall _senddata
022E .dbline 239
022E 00E9 ldi R16,400
0230 11E0 ldi R17,1
0232 1EDF rcall _delayus
0234 .dbline 240
0234 L73:
0234 .dbline 234
0234 6395 inc R22
0236 L75:
0236 .dbline 234
0236 6431 cpi R22,20
0238 88F3 brlo L72
023A .dbline 241
023A ; {
023A ; senddata(n);
023A ; delayus(600);
023A ; senddata(0x00);
023A ; delayus(400);
023A ; }
023A ; n=n>>1;
023A B694 lsr R11
023C A794 ror R10
023E .dbline 243
023E ;
023E ; }
023E 08C0 rjmp L71
0240 L70:
0240 .dbline 245
0240 ; else
0240 ; {
0240 .dbline 246
0240 ; senddata(n);
0240 0A2D mov R16,R10
0242 1B2D mov R17,R11
0244 24DF rcall _senddata
0246 .dbline 247
0246 ; delayms(20);
0246 04E1 ldi R16,20
0248 10E0 ldi R17,0
024A FEDE rcall _delayms
024C .dbline 248
024C ; n=n>>1;
024C B694 lsr R11
024E A794 ror R10
0250 .dbline 249
0250 ; }
0250 L71:
0250 L65:
0250 .dbline 251
0250 L61:
0250 .dbline 219
0250 E394 inc R14
0252 L63:
0252 .dbline 219
0252 8E2D mov R24,R14
0254 8031 cpi R24,16
0256 08F4 brsh X2
0258 C2CF rjmp L60
025A X2:
025A .dbline 253
025A L34:
025A .dbline 148
025A 44CF rjmp L33
025C X0:
025C .dbline -2
025C L32:
025C 2296 adiw R28,2
025E .dbline 0 ; func end
025E 0895 ret
0260 .dbsym r m 20 i
0260 .dbsym l j 0 i
0260 .dbsym r n 10 i
0260 .dbsym r k 12 i
0260 .dbsym r i 14 c
0260 .dbsym r h 22 c
0260 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -