📄 init.lis
字号:
.module init.c
.area text(rom, con, rel)
0000 .dbfile E:\我的网页\mcuc\download\M16-23板程序模板\新建文件夹\init.c
0000 .dbfunc e varInit _varInit fV
.even
0000 _varInit::
0000 .dbline -1
0000 .dbline 9
0000 ; //ICC-AVR application builder : 2004-10-27 10:06:29
0000 ; // Target : M16
0000 ; // Crystal: 8.0000Mhz
0000 ;
0000 ; #include "main.h"
0000 ;
0000 ; //初始化变量
0000 ; void varInit(void)
0000 ; {
0000 .dbline -2
0000 .dbline 11
0000 ;
0000 ; }//void valInit(void)
0000 L1:
0000 .dbline 0 ; func end
0000 0895 ret
0002 .dbend
0002 .dbfunc e port_init _port_init fV
.even
0002 _port_init::
0002 .dbline -1
0002 .dbline 14
0002 ;
0002 ; void port_init(void)
0002 ; {
0002 .dbline 16
0002 ; //
0002 ; PORTA = 0xF0; //
0002 80EF ldi R24,240
0004 8BBB out 0x1b,R24
0006 .dbline 17
0006 ; DDRA = 0x00; //
0006 2224 clr R2
0008 2ABA out 0x1a,R2
000A .dbline 18
000A ; PORTB = 0xFF; //
000A 8FEF ldi R24,255
000C 88BB out 0x18,R24
000E .dbline 19
000E ; DDRB = 0xFD; //
000E 8DEF ldi R24,253
0010 87BB out 0x17,R24
0012 .dbline 20
0012 ; PORTC = 0xFF; //
0012 8FEF ldi R24,255
0014 85BB out 0x15,R24
0016 .dbline 21
0016 ; DDRC = 0x00; //
0016 24BA out 0x14,R2
0018 .dbline 22
0018 ; PORTD = 0xFF; //
0018 82BB out 0x12,R24
001A .dbline 23
001A ; DDRD = 0xFA; //
001A 8AEF ldi R24,250
001C 81BB out 0x11,R24
001E .dbline -2
001E .dbline 24
001E ; }//void port_init(void)
001E L2:
001E .dbline 0 ; func end
001E 0895 ret
0020 .dbend
0020 .dbfunc e watchdog_init _watchdog_init fV
.even
0020 _watchdog_init::
0020 .dbline -1
0020 .dbline 30
0020 ;
0020 ;
0020 ; //Watchdog initialisation
0020 ; // prescale: 2048K cycles
0020 ; void watchdog_init(void)
0020 ; {
0020 .dbline 31
0020 ; WDR(); //this prevents a timout on enabling
0020 A895 wdr
0022 .dbline 32
0022 ; WDTCR = 0x0F; //WATCHDOG ENABLED - dont forget to issue WDRs
0022 8FE0 ldi R24,15
0024 81BD out 0x21,R24
0026 .dbline -2
0026 .dbline 33
0026 ; }//void watchdog_init(void)
0026 L3:
0026 .dbline 0 ; func end
0026 0895 ret
0028 .dbend
0028 .dbfunc e timer0_init _timer0_init fV
.even
0028 _timer0_init::
0028 .dbline -1
0028 .dbline 36
0028 ;
0028 ; void timer0_init(void)
0028 ; {
0028 .dbline 38
0028 ; //初始化1ms 定时中断
0028 ; TCCR0 = 0x00;
0028 2224 clr R2
002A 23BE out 0x33,R2
002C .dbline 39
002C ; TIFR = 0x00;
002C 28BE out 0x38,R2
002E .dbline 40
002E ; TCNT0 = 0x83;
002E 83E8 ldi R24,131
0030 82BF out 0x32,R24
0032 .dbline 41
0032 ; TCCR0 = 0x03;
0032 83E0 ldi R24,3
0034 83BF out 0x33,R24
0036 .dbline -2
0036 .dbline 42
0036 ; }//void timer0_init(void)
0036 L4:
0036 .dbline 0 ; func end
0036 0895 ret
0038 .dbend
0038 .dbfunc e adc_init _adc_init fV
0038 ; adcMux -> R16
.even
0038 _adc_init::
0038 .dbline -1
0038 .dbline 47
0038 ;
0038 ; //ADC initialisation
0038 ; // Conversion time: 52uS
0038 ; void adc_init(void)
0038 ; {
0038 .dbline 48
0038 ; uint8 adcMux = 0;
0038 0027 clr R16
003A .dbline 50
003A ;
003A ; ADCSR = 0x00; //disable adc
003A 2224 clr R2
003C 26B8 out 0x6,R2
003E .dbline 51
003E ; ADMUX = 0xc0 |(adcMux&0x0f); //select adc input 0 2.56V参考源
003E 802F mov R24,R16
0040 8F70 andi R24,15
0042 806C ori R24,192
0044 87B9 out 0x7,R24
0046 .dbline 52
0046 ; ACSR = 0x80;
0046 80E8 ldi R24,128
0048 88B9 out 0x8,R24
004A .dbline 53
004A ; ADCSR = 0x85; //使能ADC 32分频
004A 85E8 ldi R24,133
004C 86B9 out 0x6,R24
004E .dbline -2
004E .dbline 54
004E ; }//void adc_init(void)
004E L5:
004E .dbline 0 ; func end
004E 0895 ret
0050 .dbsym r adcMux 16 c
0050 .dbend
0050 .dbfunc e uart0_init _uart0_init fV
.even
0050 _uart0_init::
0050 .dbline -1
0050 .dbline 62
0050 ;
0050 ; //UART0 initialisation
0050 ; // desired baud rate: 9600
0050 ; // actual: baud rate:9615 (0.2%)
0050 ; // char size: 8 bit
0050 ; // parity: Even
0050 ; void uart0_init(void)
0050 ; {
0050 .dbline 63
0050 ; UCSRB = 0x00; //disable while setting baud rate
0050 2224 clr R2
0052 2AB8 out 0xa,R2
0054 .dbline 64
0054 ; UCSRA = 0x00;
0054 2BB8 out 0xb,R2
0056 .dbline 65
0056 ; UCSRC = 0xA6;
0056 86EA ldi R24,166
0058 80BD out 0x20,R24
005A .dbline 66
005A ; UBRRL = 51; //set baud rate lo
005A 83E3 ldi R24,51
005C 89B9 out 0x9,R24
005E .dbline 67
005E ; UBRRH = 0x00; //set baud rate hi
005E 20BC out 0x20,R2
0060 .dbline 68
0060 ; UCSRB = 0xD8;
0060 88ED ldi R24,216
0062 8AB9 out 0xa,R24
0064 .dbline 70
0064 ;
0064 ; receEnable();
0064 C798 cbi 0x18,7
0066 .dbline -2
0066 .dbline 71
0066 ; }
0066 L6:
0066 .dbline 0 ; func end
0066 0895 ret
0068 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -