📄 led.lis
字号:
00B4 01E0 ldi R16,1
00B6 142F mov R17,R20
00B8 0E940000 xcall lsl8
00BC 202E mov R2,R16
00BE 2094 com R2
00C0 38B2 in R3,0x18
00C2 3220 and R3,R2
00C4 38BA out 0x18,R3
00C6 .dbline 26
00C6 DA9A sbi 0x1b,2
00C8 .dbline 27
00C8 05E0 ldi R16,5
00CA 10E0 ldi R17,0
00CC B1DF xcall _Delayms
00CE .dbline 28
00CE DA98 cbi 0x1b,2
00D0 .dbline 29
00D0 0CC0 xjmp L18
00D2 L17:
00D2 .dbline 31
00D2 .dbline 32
00D2 01E0 ldi R16,1
00D4 142F mov R17,R20
00D6 0E940000 xcall lsl8
00DA 28B2 in R2,0x18
00DC 202A or R2,R16
00DE 28BA out 0x18,R2
00E0 .dbline 33
00E0 DA9A sbi 0x1b,2
00E2 .dbline 34
00E2 05E0 ldi R16,5
00E4 10E0 ldi R17,0
00E6 A4DF xcall _Delayms
00E8 .dbline 35
00E8 DA98 cbi 0x1b,2
00EA .dbline 36
00EA L18:
00EA .dbline -2
00EA .dbline 37
00EA L16:
00EA 0E940000 xcall pop_gset2
00EE .dbline 0 ; func end
00EE 0895 ret
00F0 .dbsym l i 1 c
00F0 .dbsym r light 22 c
00F0 .dbsym r number 20 c
00F0 .dbend
00F0 .dbfunc e All_led _All_led fV
00F0 ; light -> R20
.even
00F0 _All_led::
00F0 0E940000 xcall push_gset1
00F4 402F mov R20,R16
00F6 .dbline -1
00F6 .dbline 45
00F6 .dbline 46
00F6 4423 tst R20
00F8 49F0 breq L20
00FA .dbline 47
00FA .dbline 48
00FA 88B3 in R24,0x18
00FC 8070 andi R24,0
00FE 88BB out 0x18,R24
0100 .dbline 49
0100 DA9A sbi 0x1b,2
0102 .dbline 50
0102 05E0 ldi R16,5
0104 10E0 ldi R17,0
0106 94DF xcall _Delayms
0108 .dbline 51
0108 DA98 cbi 0x1b,2
010A .dbline 52
010A 08C0 xjmp L21
010C L20:
010C .dbline 54
010C .dbline 55
010C 88B3 in R24,0x18
010E 8F6F ori R24,255
0110 88BB out 0x18,R24
0112 .dbline 56
0112 DA9A sbi 0x1b,2
0114 .dbline 57
0114 05E0 ldi R16,5
0116 10E0 ldi R17,0
0118 8BDF xcall _Delayms
011A .dbline 58
011A DA98 cbi 0x1b,2
011C .dbline 59
011C L21:
011C .dbline -2
011C .dbline 60
011C L19:
011C 0E940000 xcall pop_gset1
0120 .dbline 0 ; func end
0120 0895 ret
0122 .dbsym r light 20 c
0122 .dbend
0122 .dbfunc e Flow_LED _Flow_LED fV
0122 ; i -> R20
0122 ; MS -> R22
.even
0122 _Flow_LED::
0122 0E940000 xcall push_gset2
0126 602F mov R22,R16
0128 .dbline -1
0128 .dbline 68
0128 .dbline 70
0128 4427 clr R20
012A 09C0 xjmp L26
012C L23:
012C .dbline 71
012C .dbline 72
012C 0027 clr R16
012E E0DF xcall _All_led
0130 .dbline 73
0130 21E0 ldi R18,1
0132 042F mov R16,R20
0134 B9DF xcall _One_led
0136 .dbline 74
0136 062F mov R16,R22
0138 1127 clr R17
013A 7ADF xcall _Delayms
013C .dbline 75
013C L24:
013C .dbline 70
013C 4395 inc R20
013E L26:
013E .dbline 70
013E 4830 cpi R20,8
0140 A8F3 brlo L23
0142 .dbline -2
0142 .dbline 76
0142 L22:
0142 0E940000 xcall pop_gset2
0146 .dbline 0 ; func end
0146 0895 ret
0148 .dbsym r i 20 c
0148 .dbsym r MS 22 c
0148 .dbend
0148 .dbfunc e Flash_LED _Flash_LED fV
0148 ; MS -> R22
0148 ; number -> R20
.even
0148 _Flash_LED::
0148 0E940000 xcall push_gset2
014C 622F mov R22,R18
014E 402F mov R20,R16
0150 .dbline -1
0150 .dbline 85
0150 ; {
0150 .dbline 86
0150 ; One_led(number,TRUE); //点亮指定的LED
0150 21E0 ldi R18,1
0152 042F mov R16,R20
0154 A9DF xcall _One_led
0156 .dbline 87
0156 ; Delayms(MS); //延时指定的时间
0156 062F mov R16,R22
0158 1127 clr R17
015A 6ADF xcall _Delayms
015C .dbline 88
015C ; All_led(FALSE); //熄灭所有的LED
015C 0027 clr R16
015E C8DF xcall _All_led
0160 .dbline 89
0160 ; Delayms(MS); //延时指定的时间
0160 062F mov R16,R22
0162 1127 clr R17
0164 65DF xcall _Delayms
0166 .dbline 90
0166 ; One_led(number,FALSE); //熄灭指定的LED
0166 2227 clr R18
0168 042F mov R16,R20
016A 9EDF xcall _One_led
016C .dbline -2
016C .dbline 91
016C ; }
016C L27:
016C 0E940000 xcall pop_gset2
0170 .dbline 0 ; func end
0170 0895 ret
0172 .dbsym r MS 22 c
0172 .dbsym r number 20 c
0172 .dbend
0172 .dbfunc e main _main fV
0172 ; bit -> R20
0172 ; i -> R22
.even
0172 _main::
0172 .dbline -1
0172 .dbline 99
0172 ; /*******************************************
0172 ; 函数名称: main
0172 ; 功 能: 1. 流水灯 2.闪烁指定的LED
0172 ; 参 数: 无
0172 ; 返回值 : 无
0172 ; /********************************************/
0172 ; void main(void)
0172 ; {
0172 .dbline 101
0172 ; uchar i,bit;
0172 ; i=0; //i=0时为流水灯,i=1时为闪烁灯
0172 6627 clr R22
0174 .dbline 102
0174 ; bit=0; //bit指定闪烁的LED
0174 4427 clr R20
0176 .dbline 103
0176 ; Board_init( ); //初始化开发板
0176 72DF xcall _Board_init
0178 12C0 xjmp L30
017A L29:
017A .dbline 105
017A ; while(1)
017A ; {
017A .dbline 106
017A ; switch(i)
017A A62E mov R10,R22
017C BB24 clr R11
017E AA20 tst R10
0180 11F4 brne X0
0182 BB20 tst R11
0184 31F0 breq L35
0186 X0:
0186 C501 movw R24,R10
0188 8130 cpi R24,1
018A E0E0 ldi R30,0
018C 9E07 cpc R25,R30
018E 21F0 breq L36
0190 06C0 xjmp L32
0192 X1:
0192 .dbline 107
0192 ; {
0192 L35:
0192 .dbline 109
0192 ; case 0:
0192 ; Flow_LED(200);
0192 08EC ldi R16,200
0194 C6DF xcall _Flow_LED
0196 .dbline 110
0196 ; break;
0196 03C0 xjmp L33
0198 L36:
0198 .dbline 112
0198 ; case 1:
0198 ; Flash_LED(bit,100);
0198 24E6 ldi R18,100
019A 042F mov R16,R20
019C D5DF xcall _Flash_LED
019E .dbline 113
019E ; }
019E L32:
019E L33:
019E .dbline 114
019E L30:
019E .dbline 104
019E EDCF xjmp L29
01A0 X2:
01A0 .dbline -2
01A0 .dbline 115
01A0 ; }
01A0 ; }
01A0 L28:
01A0 .dbline 0 ; func end
01A0 0895 ret
01A2 .dbsym r bit 20 c
01A2 .dbsym r i 22 c
01A2 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -