📄 ls.s
字号:
.even
_main::
.dbline -1
.dbline 89
; }
; }
;
; void main()
; {
.dbline 91
; int l,m,n,o,p,q,r,s,i,j;
; DDRA =0X00; //端口上拉输入
clr R2
out 0x1a,R2
.dbline 92
; PORTA=0XFF;
ldi R24,255
out 0x1b,R24
.dbline 93
; DDRB =0x00; //端口输出
out 0x17,R2
.dbline 94
; PORTB=0xFF; //输出高电平,LED熄灭
out 0x18,R24
.dbline 95
; DDRC =0XFF;
out 0x14,R24
.dbline 96
; PORTC=0XFF;
out 0x15,R24
.dbline 97
; DDRD =0X00;
out 0x11,R2
.dbline 98
; PORTD=0XFF;
out 0x12,R24
.dbline 100
;
; for (r=0;r<5;r++)
clr R20
clr R21
L47:
.dbline 101
; {
.dbline 102
; for(l=0;l<5;l++) //模式1:顺序点亮
clr R22
clr R23
L51:
.dbline 103
; {
.dbline 104
; for (i = 0; i < 8; i++) //顺序单个点亮LED
clr R10
clr R11
L55:
.dbline 105
; LED_01(i);
movw R16,R10
xcall _LED_01
L56:
.dbline 104
movw R24,R10
adiw R24,1
movw R10,R24
.dbline 104
cpi R24,8
ldi R30,0
cpc R25,R30
brlt L55
X15:
.dbline 106
; for (i = 6; i > 0; i--) //逆序单个点亮LED
ldi R24,6
ldi R25,0
movw R10,R24
L59:
.dbline 107
; LED_01(i);
movw R16,R10
xcall _LED_01
L60:
.dbline 106
movw R24,R10
sbiw R24,1
movw R10,R24
.dbline 106
clr R2
clr R3
cp R2,R24
cpc R3,R25
brlt L59
X16:
.dbline 108
; }
L52:
.dbline 102
subi R22,255 ; offset = 1
sbci R23,255
.dbline 102
cpi R22,5
ldi R30,0
cpc R23,R30
brlt L51
X17:
.dbline 109
; LED_off();
xcall _LED_off
.dbline 111
;
; for(m=0;m<5;m++) //模式2:顺序单个间隔点亮
clr R22
clr R23
L63:
.dbline 112
; {
.dbline 113
; for (i = 0; i < 8; i += 2) //顺序间隔点亮LED
clr R10
clr R11
L67:
.dbline 114
; LED_01(i);
movw R16,R10
xcall _LED_01
L68:
.dbline 113
movw R24,R10
adiw R24,2
movw R10,R24
.dbline 113
cpi R24,8
ldi R30,0
cpc R25,R30
brlt L67
X18:
.dbline 115
; for (i = 7; i > 0; i -= 2) //逆序间隔点亮LED
ldi R24,7
ldi R25,0
movw R10,R24
L71:
.dbline 116
; LED_01(i);
movw R16,R10
xcall _LED_01
L72:
.dbline 115
movw R24,R10
sbiw R24,2
movw R10,R24
.dbline 115
clr R2
clr R3
cp R2,R24
cpc R3,R25
brlt L71
X19:
.dbline 117
; }
L64:
.dbline 111
subi R22,255 ; offset = 1
sbci R23,255
.dbline 111
cpi R22,5
ldi R30,0
cpc R23,R30
brlt L63
X20:
.dbline 118
; LED_off();
xcall _LED_off
.dbline 120
;
; for(n=0;n<5;n++) //模式3:间隔点亮
clr R22
clr R23
L75:
.dbline 121
; {
.dbline 122
; for (i = 2; i < 8; i++) //间隔顺序同时点亮
ldi R24,2
ldi R25,0
movw R10,R24
L79:
.dbline 123
; LED_02(i);
movw R16,R10
xcall _LED_02
L80:
.dbline 122
movw R24,R10
adiw R24,1
movw R10,R24
.dbline 122
cpi R24,8
ldi R30,0
cpc R25,R30
brlt L79
X21:
.dbline 124
; for (i = 6; i > 2; i--) //间隔逆序同时点亮
ldi R24,6
ldi R25,0
movw R10,R24
L83:
.dbline 125
; LED_02(i);
movw R16,R10
xcall _LED_02
L84:
.dbline 124
movw R24,R10
sbiw R24,1
movw R10,R24
.dbline 124
ldi R24,2
ldi R25,0
cp R24,R10
cpc R25,R11
brlt L83
X22:
.dbline 126
; }
L76:
.dbline 120
subi R22,255 ; offset = 1
sbci R23,255
.dbline 120
cpi R22,5
ldi R30,0
cpc R23,R30
brlt L75
X23:
.dbline 127
; LED_off();
xcall _LED_off
.dbline 129
;
; for(o=0;o<5;o++) //模式4:相临点亮
clr R22
clr R23
L87:
.dbline 130
; {
.dbline 131
; for (i = 1; i < 8; i++) //相临顺序同时点亮
ldi R24,1
ldi R25,0
movw R10,R24
L91:
.dbline 132
; LED_03(i);
movw R16,R10
xcall _LED_03
L92:
.dbline 131
movw R24,R10
adiw R24,1
movw R10,R24
.dbline 131
cpi R24,8
ldi R30,0
cpc R25,R30
brlt L91
X24:
.dbline 133
; for (i = 6; i > 1; i--) //相临逆序同时点亮
ldi R24,6
ldi R25,0
movw R10,R24
L95:
.dbline 134
; LED_03(i);
movw R16,R10
xcall _LED_03
L96:
.dbline 133
movw R24,R10
sbiw R24,1
movw R10,R24
.dbline 133
ldi R24,1
ldi R25,0
cp R24,R10
cpc R25,R11
brlt L95
X25:
.dbline 135
; }
L88:
.dbline 129
subi R22,255 ; offset = 1
sbci R23,255
.dbline 129
cpi R22,5
ldi R30,0
cpc R23,R30
brlt L87
X26:
.dbline 136
; LED_off();
xcall _LED_off
.dbline 138
;
; for(p=0;p<5;p++) //模式5:发散聚集点亮
clr R22
clr R23
L99:
.dbline 139
; {
.dbline 140
; for(i=0;i<4;i++) //发散点亮
clr R10
clr R11
L103:
.dbline 141
; LED_04(i);
movw R16,R10
xcall _LED_04
L104:
.dbline 140
movw R24,R10
adiw R24,1
movw R10,R24
.dbline 140
cpi R24,4
ldi R30,0
cpc R25,R30
brlt L103
X27:
.dbline 142
; for(i=2;i>0;i--) //聚集点亮
ldi R24,2
ldi R25,0
movw R10,R24
L107:
.dbline 143
; LED_04(i);
movw R16,R10
xcall _LED_04
L108:
.dbline 142
movw R24,R10
sbiw R24,1
movw R10,R24
.dbline 142
clr R2
clr R3
cp R2,R24
cpc R3,R25
brlt L107
X28:
.dbline 144
; }
L100:
.dbline 138
subi R22,255 ; offset = 1
sbci R23,255
.dbline 138
cpi R22,5
ldi R30,0
cpc R23,R30
brlt L99
X29:
.dbline 145
; LED_off();
xcall _LED_off
.dbline 147
;
; for(q=0;q<5;q++) //模式6:四四点亮
clr R22
clr R23
L111:
.dbline 148
; {
.dbline 149
; for(i=0;i<4;i++) //四四顺序点亮
clr R10
clr R11
L115:
.dbline 150
; LED_05(i);
movw R16,R10
xcall _LED_05
L116:
.dbline 149
movw R24,R10
adiw R24,1
movw R10,R24
.dbline 149
cpi R24,4
ldi R30,0
cpc R25,R30
brlt L115
X30:
.dbline 151
; for(i=2;i>0;i--) //四四逆序点亮
ldi R24,2
ldi R25,0
movw R10,R24
L119:
.dbline 152
; LED_05(i);
movw R16,R10
xcall _LED_05
L120:
.dbline 151
movw R24,R10
sbiw R24,1
movw R10,R24
.dbline 151
clr R2
clr R3
cp R2,R24
cpc R3,R25
brlt L119
X31:
.dbline 153
; }
L112:
.dbline 147
subi R22,255 ; offset = 1
sbci R23,255
.dbline 147
cpi R22,5
ldi R30,0
cpc R23,R30
brlt L111
X32:
.dbline 154
; LED_off();
xcall _LED_off
.dbline 156
;
; for(s=0;s<5;s++) //模式7:四四点亮
clr R22
clr R23
L123:
.dbline 157
; {
.dbline 158
; for(i=0;i<2;i++) //四四顺序点亮
clr R10
clr R11
L127:
.dbline 159
; LED_06(i);
movw R16,R10
xcall _LED_06
L128:
.dbline 158
movw R24,R10
adiw R24,1
movw R10,R24
.dbline 158
cpi R24,2
ldi R30,0
cpc R25,R30
brlt L127
X33:
.dbline 160
; }
L124:
.dbline 156
subi R22,255 ; offset = 1
sbci R23,255
.dbline 156
cpi R22,5
ldi R30,0
cpc R23,R30
brlt L123
X34:
.dbline 161
; LED_off();
xcall _LED_off
.dbline 163
;
; for(j=0;j<10;j++) //模式8:全部点亮熄灭
clr R22
clr R23
L131:
.dbline 164
; {
.dbline 165
; LED_on();
xcall _LED_on
.dbline 166
; LED_off();
xcall _LED_off
.dbline 167
; }
L132:
.dbline 163
subi R22,255 ; offset = 1
sbci R23,255
.dbline 163
cpi R22,10
ldi R30,0
cpc R23,R30
brlt L131
X35:
.dbline 168
; }
L48:
.dbline 100
subi R20,255 ; offset = 1
sbci R21,255
.dbline 100
cpi R20,5
ldi R30,0
cpc R21,R30
brge X37
xjmp L47
X37:
X36:
.dbline 174
; //MCUCR=0x40; //空闲模式,CPU占用100%
; //MCUCR=0x50; //ADC噪声抑制模式,CPU占用100%
; //MCUCR=0x60; //掉电模式,CPU占用80%
; //MCUCR=0x70; //省电模式,CPU占用4%
; //MCUCR=0xE0; //Standby模式,CPU占用80%
; MCUCR=0xF0; //扩展Standby模式,CPU占用4%
ldi R24,240
out 0x35,R24
.dbline 175
; asm("sleep"); //CPU休眠指令
sleep
.dbline -2
L46:
.dbline 0 ; func end
ret
.dbsym r r 20 I
.dbsym r j 22 I
.dbsym r s 22 I
.dbsym r q 22 I
.dbsym r p 22 I
.dbsym r o 22 I
.dbsym r n 22 I
.dbsym r m 22 I
.dbsym r l 22 I
.dbsym r i 10 I
.dbend
; }
;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -