📄 int.lis
字号:
.module int.c
.area text(rom, con, rel)
0000 .dbfile F:\单片机源程序\AVR单片机程序\MAGE16\INT0\int.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-4-16 20:55:44
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 12
0000 ;
0000 ;
0000 ; PORTD = 0x0C; //INT0,INT1输入上拉电阻允许
0000 8CE0 ldi R24,12
0002 82BB out 0x12,R24
0004 .dbline 13
0004 ; DDRD = 0x40;
0004 80E4 ldi R24,64
0006 81BB out 0x11,R24
0008 .dbline -2
0008 L1:
0008 .dbline 0 ; func end
0008 0895 ret
000A .dbend
.area vector(rom, abs)
.org 4
0004 0C940500 jmp _int0_isr
.area text(rom, con, rel)
000A .dbfile F:\单片机源程序\AVR单片机程序\MAGE16\INT0\int.c
000A .dbfunc e int0_isr _int0_isr fV
.even
000A _int0_isr::
000A 8A93 st -y,R24
000C 8FB7 in R24,0x3f
000E 8A93 st -y,R24
0010 .dbline -1
0010 .dbline 18
0010 ; }
0010 ;
0010 ; #pragma interrupt_handler int0_isr: 2 //INT0中断服务程序,中断号为2
0010 ; void int0_isr(void)
0010 ; {
0010 .dbline 19
0010 ; DDRD=0x40;
0010 80E4 ldi R24,64
0012 81BB out 0x11,R24
0014 .dbline 20
0014 ; PORTD=0X40;
0014 82BB out 0x12,R24
0016 .dbline -2
0016 L2:
0016 8991 ld R24,y+
0018 8FBF out 0x3f,R24
001A 8991 ld R24,y+
001C .dbline 0 ; func end
001C 1895 reti
001E .dbend
001E .dbfunc e init_devices _init_devices fV
.even
001E _init_devices::
001E .dbline -1
001E .dbline 24
001E ; }
001E ;
001E ; void init_devices(void) //中断初始化
001E ; {
001E .dbline 25
001E ; CLI();
001E F894 cli
0020 .dbline 26
0020 ; port_init();
0020 EFDF xcall _port_init
0022 .dbline 27
0022 ; MCUCR = 0X00; //INT0为低电平触发
0022 2224 clr R2
0024 25BE out 0x35,R2
0026 .dbline 28
0026 ; SREG|= 0X80; //SREG的位I置“1”,允许中断
0026 7894 bset 7
0028 .dbline 29
0028 ; GICR|= 0XC0; //INT0,INT1中断使能
0028 8BB7 in R24,0x3b
002A 806C ori R24,192
002C 8BBF out 0x3b,R24
002E .dbline 30
002E ; TIMSK|= 0x00; //关闭时钟中断
002E 29B6 in R2,0x39
0030 29BE out 0x39,R2
0032 .dbline 31
0032 ; SEI();
0032 7894 sei
0034 .dbline -2
0034 L3:
0034 .dbline 0 ; func end
0034 0895 ret
0036 .dbend
0036 .dbfunc e main _main fV
.even
0036 _main::
0036 .dbline -1
0036 .dbline 35
0036 ; }
0036 ;
0036 ; void main(void)
0036 ; {
0036 03C0 xjmp L6
0038 L5:
0038 .dbline 37
0038 .dbline 38
0038 2224 clr R2
003A 22BA out 0x12,R2
003C .dbline 39
003C F0DF xcall _init_devices
003E .dbline 40
003E L6:
003E .dbline 36
003E FCCF xjmp L5
0040 X0:
0040 .dbline -2
0040 L4:
0040 .dbline 0 ; func end
0040 0895 ret
0042 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -