📄 main.s
字号:
.module main.c
.area text(rom, con, rel)
.dbfile F:\芯生光盘资料\范例代码\Interrupt\main.c
.dbfunc e main _main fV
.even
_main::
.dbline -1
.dbline 16
; //ICC-AVR application builder : 2007-8-13 15:05:41
; // Target : M128
; // Crystal: 7.3728Mhz
;
; #include <iom128v.h>
; #include <macros.h>
; #include "port.h"
; #include "led.h"
; #include "stdtypes.h"
;
; UNS8 counter;
;
;
; /*call this routine to initialize all peripherals */
; void main(void)
; {
.dbline 18
; //stop errant interrupts until set up
; CLI(); //disable all interrupts
cli
.dbline 19
; XDIV = 0x00; //xtal divider
clr R2
out 0x3c,R2
.dbline 20
; XMCRA = 0x00; //external memory
sts 109,R2
.dbline 21
; port_init();
xcall _port_init
.dbline 22
; led_init(); //7段数码管显示
xcall _led_init
.dbline 24
;
; MCUCR = 0x00;
clr R2
out 0x35,R2
.dbline 25
; EICRA = 0x00; //extended ext ints
sts 106,R2
.dbline 26
; EICRB = 0x00; //extended ext ints
out 0x3a,R2
.dbline 27
; EIMSK = 0x01;
ldi R24,1
out 0x39,R24
.dbline 28
; TIMSK = 0x00; //timer interrupt sources
out 0x37,R2
.dbline 29
; ETIMSK = 0x00; //extended timer interrupt sources
sts 125,R2
.dbline 31
;
; counter=0;
sts _counter,R2
.dbline 34
;
;
; SEI(); //re-enable interrupts
sei
.dbline 38
; //all peripherals are now initialized
;
;
; for(;;)
L2:
.dbline 39
.dbline 40
clr R18
lds R16,_counter
clr R17
xcall _display
.dbline 42
.dbline 38
.dbline 38
xjmp L2
X0:
.dbline -2
L1:
.dbline 0 ; func end
ret
.dbend
.area vector(rom, abs)
.org 4
jmp _int0_isr
.area text(rom, con, rel)
.dbfile F:\芯生光盘资料\范例代码\Interrupt\main.c
.dbfunc e int0_isr _int0_isr fV
.even
_int0_isr::
st -y,R2
st -y,R24
st -y,R25
in R2,0x3f
st -y,R2
.dbline -1
.dbline 47
.dbline 50
lds R24,_counter
subi R24,255 ; addi 1
sts _counter,R24
.dbline 51
cpi R24,255
brne L7
.dbline 52
.dbline 53
clr R2
sts _counter,R2
.dbline 54
L7:
.dbline -2
L6:
ld R2,y+
out 0x3f,R2
ld R25,y+
ld R24,y+
ld R2,y+
.dbline 0 ; func end
reti
.dbend
.area bss(ram, con, rel)
.dbfile F:\芯生光盘资料\范例代码\Interrupt\main.c
_counter::
.blkb 1
.dbsym e counter _counter c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -