📄 int2.lis
字号:
.module int2.c
.area text(rom, con, rel)
0000 .dbfile F:\USING0~1\INT\int2.c
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 9
0000 ; //ICC-AVR application builder : 2007-5-6 12:36:39
0000 ; // Target : M16
0000 ; // Crystal: 8.0000Mhz
0000 ;
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; void port_init(void)
0000 ; {
0000 .dbline 10
0000 ; PORTA = 0x00;
0000 2224 clr R2
0002 2BBA out 0x1b,R2
0004 .dbline 11
0004 ; DDRA = 0xff;
0004 8FEF ldi R24,255
0006 8ABB out 0x1a,R24
0008 .dbline 12
0008 ; PORTB = 0x00;
0008 28BA out 0x18,R2
000A .dbline 13
000A ; DDRB = 0x00;
000A 27BA out 0x17,R2
000C .dbline 14
000C ; PORTC = 0x00; //m103 output only
000C 25BA out 0x15,R2
000E .dbline 15
000E ; DDRC = 0x00;
000E 24BA out 0x14,R2
0010 .dbline 16
0010 ; PORTD = 0x0c;
0010 8CE0 ldi R24,12
0012 82BB out 0x12,R24
0014 .dbline 17
0014 ; DDRD = 0x00;
0014 21BA out 0x11,R2
0016 .dbline -2
0016 L1:
0016 .dbline 0 ; func end
0016 0895 ret
0018 .dbend
.area vector(rom, abs)
.org 4
0004 0C940C00 jmp _int0_isr
.area text(rom, con, rel)
0018 .dbfile F:\USING0~1\INT\int2.c
0018 .dbfunc e int0_isr _int0_isr fV
.even
0018 _int0_isr::
0018 8A93 st -y,R24
001A 8FB7 in R24,0x3f
001C 8A93 st -y,R24
001E .dbline -1
001E .dbline 22
001E ; }
001E ;
001E ; #pragma interrupt_handler int0_isr:2
001E ; void int0_isr(void)
001E ; {
001E .dbline 23
001E ; PORTA = 0XF0;
001E 80EF ldi R24,240
0020 8BBB out 0x1b,R24
0022 .dbline -2
0022 L2:
0022 8991 ld R24,y+
0024 8FBF out 0x3f,R24
0026 8991 ld R24,y+
0028 .dbline 0 ; func end
0028 1895 reti
002A .dbend
002A .dbfunc e init_devices _init_devices fV
.even
002A _init_devices::
002A .dbline -1
002A .dbline 28
002A ; }
002A ;
002A ; //call this routine to initialize all peripherals
002A ; void init_devices(void)
002A ; {
002A .dbline 30
002A ; //stop errant interrupts until set up
002A ; CLI(); //disable all interrupts
002A F894 cli
002C .dbline 31
002C ; port_init();
002C E9DF xcall _port_init
002E .dbline 33
002E ;
002E ; MCUCR = 0x00;
002E 2224 clr R2
0030 25BE out 0x35,R2
0032 .dbline 34
0032 ; GICR = 0x40;
0032 80E4 ldi R24,64
0034 8BBF out 0x3b,R24
0036 .dbline 35
0036 ; TIMSK = 0x00; //timer interrupt sources
0036 29BE out 0x39,R2
0038 .dbline 36
0038 ; SEI(); //re-enable interrupts
0038 7894 sei
003A .dbline -2
003A L3:
003A .dbline 0 ; func end
003A 0895 ret
003C .dbend
003C .dbfunc e main _main fV
.even
003C _main::
003C .dbline -1
003C .dbline 42
003C ; //all peripherals are now initialized
003C ; }
003C ;
003C ; //
003C ; void main(void)
003C ; {
003C .dbline 43
003C ; init_devices();
003C F6DF xcall _init_devices
003E .dbline -2
003E L4:
003E .dbline 0 ; func end
003E 0895 ret
0040 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -