📄 init.lis
字号:
.module init.c
.area text(rom, con, rel)
0000 .dbfile C:\ATMega8515\RS232\init.c
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 9
0000 ; //ICC-AVR application builder : 2006-4-27 19:28:19
0000 ; // Target : M8515
0000 ; // Crystal: 11.059Mhz
0000 ;
0000 ; #include <iom8515v.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 = 0x00;
0004 2ABA out 0x1a,R2
0006 .dbline 12
0006 ; PORTB = 0x00;
0006 28BA out 0x18,R2
0008 .dbline 13
0008 ; DDRB = 0x00;
0008 27BA out 0x17,R2
000A .dbline 14
000A ; PORTC = 0x00;
000A 25BA out 0x15,R2
000C .dbline 15
000C ; DDRC = 0x00;
000C 24BA out 0x14,R2
000E .dbline 16
000E ; PORTD = 0x00;
000E 22BA out 0x12,R2
0010 .dbline 17
0010 ; DDRD = 0x02;
0010 82E0 ldi R24,2
0012 81BB out 0x11,R24
0014 .dbline 18
0014 ; PORTE = 0x00;
0014 27B8 out 0x7,R2
0016 .dbline 19
0016 ; DDRE = 0x00;
0016 26B8 out 0x6,R2
0018 .dbline -2
0018 L1:
0018 .dbline 0 ; func end
0018 0895 ret
001A .dbend
001A .dbfunc e uart0_init _uart0_init fV
.even
001A _uart0_init::
001A .dbline -1
001A .dbline 26
001A ; }
001A ;
001A ; //UART0 initialize
001A ; // desired baud rate: 9600
001A ; // actual: baud rate:9600 (0.0%)
001A ; void uart0_init(void)
001A ; {
001A .dbline 27
001A ; UCSRB = 0x00; //disable while setting baud rate
001A 2224 clr R2
001C 2AB8 out 0xa,R2
001E .dbline 28
001E ; UCSRA = 0x00;
001E 2BB8 out 0xb,R2
0020 .dbline 29
0020 ; UCSRC = BIT(URSEL) | 0x06;
0020 86E8 ldi R24,134
0022 80BD out 0x20,R24
0024 .dbline 30
0024 ; UBRRL = 0x47; //set baud rate lo
0024 87E4 ldi R24,71
0026 89B9 out 0x9,R24
0028 .dbline 31
0028 ; UBRRH = 0x00; //set baud rate hi
0028 20BC out 0x20,R2
002A .dbline 32
002A ; UCSRB = 0x18;
002A 88E1 ldi R24,24
002C 8AB9 out 0xa,R24
002E .dbline -2
002E L2:
002E .dbline 0 ; func end
002E 0895 ret
0030 .dbend
0030 .dbfunc e init_devices _init_devices fV
.even
0030 _init_devices::
0030 .dbline -1
0030 .dbline 37
0030 ; }
0030 ;
0030 ; //call this routine to initialize all peripherals
0030 ; void init_devices(void)
0030 ; {
0030 .dbline 39
0030 ; //stop errant interrupts until set up
0030 ; CLI(); //disable all interrupts
0030 F894 cli
0032 .dbline 40
0032 ; port_init();
0032 E6DF rcall _port_init
0034 .dbline 41
0034 ; uart0_init();
0034 F2DF rcall _uart0_init
0036 .dbline 43
0036 ;
0036 ; MCUCR = 0x00;
0036 2224 clr R2
0038 25BE out 0x35,R2
003A .dbline 44
003A ; EMCUCR = 0x00;
003A 26BE out 0x36,R2
003C .dbline 45
003C ; GICR = 0x00;
003C 2BBE out 0x3b,R2
003E .dbline 46
003E ; TIMSK = 0x00;
003E 29BE out 0x39,R2
0040 .dbline 47
0040 ; SEI(); //re-enable interrupts
0040 7894 sei
0042 .dbline -2
0042 L3:
0042 .dbline 0 ; func end
0042 0895 ret
0044 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -