📄 example1.s
字号:
.module example1.c
.area text(rom, con, rel)
.dbfile G:\学习\avr\天祥电子AVR视频教程\chengxu\example\example1.c
.dbfunc e delay_1ms _delay_1ms fV
; i -> R16
.even
_delay_1ms::
.dbline -1
.dbline 4
; #include <iom16v.h>
;
; void delay_1ms(void)
; {
.dbline 6
; unsigned char i;
; for(i=0;i<5000;i++);
clr R16
xjmp L5
L2:
.dbline 6
L3:
.dbline 6
inc R16
L5:
.dbline 6
cpi R16,136
brlo L2
X0:
.dbline -2
L1:
.dbline 0 ; func end
ret
.dbsym r i 16 c
.dbend
.dbfunc e delay_ms _delay_ms fV
; i -> R10
; time -> R12
.even
_delay_ms::
st -y,R10
st -y,R12
mov R12,R16
.dbline -1
.dbline 9
; }
; void delay_ms(unsigned char time)
; {
.dbline 11
; unsigned char i;
; for(i=0;i<time;i++)
clr R10
xjmp L10
L7:
.dbline 12
; {
.dbline 13
; delay_1ms();
xcall _delay_1ms
.dbline 14
; }
L8:
.dbline 11
inc R10
L10:
.dbline 11
cp R10,R12
brlo L7
X1:
.dbline -2
L6:
.dbline 0 ; func end
ld R12,y+
ld R10,y+
ret
.dbsym r i 10 c
.dbsym r time 12 c
.dbend
.dbfunc e mcuInit _mcuInit fV
.even
_mcuInit::
.dbline -1
.dbline 18
; }
;
; void mcuInit(void)
; {
.dbline 19
; DDRA = 0xFF;
ldi R24,255
out 0x1a,R24
.dbline 20
; PORTA = 0xFF;
out 0x1b,R24
.dbline -2
L11:
.dbline 0 ; func end
ret
.dbend
.dbfunc e main _main fV
.even
_main::
.dbline -1
.dbline 24
; }
; /*led交替点亮/熄灭*/
; void main(void)
; {
.dbline 25
; mcuInit();
xcall _mcuInit
xjmp L14
L13:
.dbline 27
; while(1)
; {
.dbline 28
; PORTA = 0X00; //点亮led
clr R2
out 0x1b,R2
.dbline 29
; delay_ms(1000); //点亮2秒钟
ldi R16,232
xcall _delay_ms
.dbline 30
; PORTA = 0XFF; //关闭led
ldi R24,255
out 0x1b,R24
.dbline 31
; delay_ms(1000); //关闭2秒钟
ldi R16,232
xcall _delay_ms
.dbline 32
; }
L14:
.dbline 26
xjmp L13
X2:
.dbline -2
L12:
.dbline 0 ; func end
ret
.dbend
; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -