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