⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 init.lis

📁 一个16位单片机modbus通信例程
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .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 + -