📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile F:\工程文件\程序\学习板例程\24C04\main.c
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 11
0000 ; //ICC-AVR application builder : 2006-11-30 20:32:45
0000 ; // Target : M16
0000 ; // Crystal: 6.0000Mhz
0000 ; //designed by solo 2006,11,30
0000 ; //I2C test
0000 ;
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; void port_init(void)
0000 ; {
0000 .dbline 12
0000 ; PORTA = 0xFF;
0000 8FEF ldi R24,255
0002 8BBB out 0x1b,R24
0004 .dbline 13
0004 ; DDRA = 0xFF;
0004 8ABB out 0x1a,R24
0006 .dbline 14
0006 ; PORTB = 0xFF;
0006 88BB out 0x18,R24
0008 .dbline 15
0008 ; DDRB = 0xFF;
0008 87BB out 0x17,R24
000A .dbline 16
000A ; PORTC = 0xFF; //m103 output only
000A 85BB out 0x15,R24
000C .dbline 17
000C ; DDRC = 0xFF;
000C 84BB out 0x14,R24
000E .dbline 18
000E ; PORTD = 0xFF;
000E 82BB out 0x12,R24
0010 .dbline 19
0010 ; DDRD = 0xFF;
0010 81BB out 0x11,R24
0012 .dbline -2
0012 .dbline 20
0012 ; }
0012 L1:
0012 .dbline 0 ; func end
0012 0895 ret
0014 .dbend
0014 .dbfunc e twi_init _twi_init fV
.even
0014 _twi_init::
0014 .dbline -1
0014 .dbline 25
0014 ;
0014 ; //TWI initialisation
0014 ; // bit rate:8
0014 ; void twi_init(void)
0014 ; {
0014 .dbline 26
0014 ; TWCR= 0X00; //disable twi
0014 2224 clr R2
0016 26BE out 0x36,R2
0018 .dbline 27
0018 ; TWBR= 0x08; //set bit rate
0018 88E0 ldi R24,8
001A 80B9 out 0x0,R24
001C .dbline 28
001C ; TWSR= 0x01; //set prescale
001C 81E0 ldi R24,1
001E 81B9 out 0x1,R24
0020 .dbline 29
0020 ; TWAR= 0x03; //set slave address
0020 83E0 ldi R24,3
0022 82B9 out 0x2,R24
0024 .dbline 30
0024 ; TWCR= 0x45; //enable twi
0024 85E4 ldi R24,69
0026 86BF out 0x36,R24
0028 .dbline -2
0028 .dbline 31
0028 ; }
0028 L2:
0028 .dbline 0 ; func end
0028 0895 ret
002A .dbend
.area vector(rom, abs)
.org 34
0022 15C0 rjmp _twi_isr
.area text(rom, con, rel)
002A .dbfile F:\工程文件\程序\学习板例程\24C04\main.c
002A .dbfunc e twi_isr _twi_isr fV
.even
002A _twi_isr::
002A .dbline -1
002A .dbline 35
002A ;
002A ; #pragma interrupt_handler twi_isr:18
002A ; void twi_isr(void)
002A ; {
002A .dbline -2
002A .dbline 37
002A ; //twi event
002A ; }
002A L3:
002A .dbline 0 ; func end
002A 1895 reti
002C .dbend
002C .dbfunc e init_devices _init_devices fV
.even
002C _init_devices::
002C .dbline -1
002C .dbline 41
002C ;
002C ; //call this routine to initialise all peripherals
002C ; void init_devices(void)
002C ; {
002C .dbline 43
002C ; //stop errant interrupts until set up
002C ; CLI(); //disable all interrupts
002C F894 cli
002E .dbline 44
002E ; port_init();
002E E8DF rcall _port_init
0030 .dbline 45
0030 ; twi_init();
0030 F1DF rcall _twi_init
0032 .dbline 47
0032 ;
0032 ; MCUCR = 0x00;
0032 2224 clr R2
0034 25BE out 0x35,R2
0036 .dbline 48
0036 ; GICR = 0x00;
0036 2BBE out 0x3b,R2
0038 .dbline 49
0038 ; TIMSK = 0x00; //timer interrupt sources
0038 29BE out 0x39,R2
003A .dbline 50
003A ; SEI(); //re-enable interrupts
003A 7894 sei
003C .dbline -2
003C .dbline 52
003C ; //all peripherals are now initialised
003C ; }
003C L4:
003C .dbline 0 ; func end
003C 0895 ret
003E .dbend
003E .dbfunc e main _main fV
.even
003E _main::
003E .dbline -1
003E .dbline 56
003E ;
003E ; //
003E ; void main(void)
003E ; {
003E .dbline 57
003E ; init_devices();
003E .dbline -2
003E .dbline 59
003E ; //insert your functional code here...
003E ; }
003E L5:
003E .dbline 0 ; func end
003E F6CF rjmp _init_devices
0040 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -