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

📄 sysinit.lis

📁 ATmega128和ads7864实现ATP闭环控制
💻 LIS
字号:
                        .module SysInit.C
                        .area text(rom, con, rel)
 0000                   .dbfile D:\ATP_AVR\SysInit.C
 0000                   .dbfunc e port_init _port_init fV
                        .even
 0000           _port_init::
 0000                   .dbline -1
 0000                   .dbline 9
 0000           ; #include "public.h"
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; 
 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  = 0xFF;
 0004 8FEF              ldi R24,255
 0006 8ABB              out 0x1a,R24
 0008                   .dbline 12
 0008           ;  PORTB = 0x00;
 0008 28BA              out 0x18,R2
 000A                   .dbline 13
 000A           ;  DDRB  = 0xF7;
 000A 87EF              ldi R24,247
 000C 87BB              out 0x17,R24
 000E                   .dbline 14
 000E           ;  PORTC = 0xFF; //m103 output only
 000E 8FEF              ldi R24,255
 0010 85BB              out 0x15,R24
 0012                   .dbline 15
 0012           ;  DDRC  = 0x00;
 0012 24BA              out 0x14,R2
 0014                   .dbline 16
 0014           ;  PORTD = 0xFF;
 0014 82BB              out 0x12,R24
 0016                   .dbline 17
 0016           ;  DDRD  = 0xFE;        //PD0 input
 0016 8EEF              ldi R24,254
 0018 81BB              out 0x11,R24
 001A                   .dbline 18
 001A           ;  PORTE = 0x00;
 001A 23B8              out 0x3,R2
 001C                   .dbline 19
 001C           ;  DDRE  = 0xFE;        //PE0 input
 001C 82B9              out 0x2,R24
 001E                   .dbline 20
 001E           ;  PORTF = 0x00;
 001E 20926200          sts 98,R2
 0022                   .dbline 21
 0022           ;  DDRF  = 0x00;
 0022 20926100          sts 97,R2
 0026                   .dbline 22
 0026           ;  PORTG = 0x1F;
 0026 8FE1              ldi R24,31
 0028 80936500          sts 101,R24
 002C                   .dbline 23
 002C           ;  DDRG  = 0x1F;
 002C 80936400          sts 100,R24
 0030                   .dbline -2
 0030           L1:
 0030                   .dbline 0 ; func end
 0030 0895              ret
 0032                   .dbend
 0032                   .dbfunc e init_devices _init_devices fV
                        .even
 0032           _init_devices::
 0032                   .dbline -1
 0032                   .dbline 28
 0032           ; }
 0032           ; 
 0032           ; //call this routine to initialize all peripherals
 0032           ; void init_devices(void)
 0032           ; {
 0032                   .dbline 29
 0032           ;        XDIV  = 0x00; //xtal divider
 0032 2224              clr R2
 0034 2CBE              out 0x3c,R2
 0036                   .dbline 30
 0036           ;        XMCRA = 0x00; //external memory
 0036 20926D00          sts 109,R2
 003A                   .dbline 31
 003A           ;        port_init();
 003A E2DF              xcall _port_init
 003C                   .dbline 32
 003C           ;        MCUCR = 0x00;
 003C 2224              clr R2
 003E 25BE              out 0x35,R2
 0040                   .dbline 33
 0040           ;        EICRA = 0x00; //extended ext ints
 0040 20926A00          sts 106,R2
 0044                   .dbline 34
 0044           ;        EICRB = 0x00; //extended ext ints
 0044 2ABE              out 0x3a,R2
 0046                   .dbline 35
 0046           ;        EIMSK = 0x00;
 0046 29BE              out 0x39,R2
 0048                   .dbline 36
 0048           ;        TIMSK = 0x00; //timer interrupt sources
 0048 27BE              out 0x37,R2
 004A                   .dbline 37
 004A           ;        ETIMSK = 0x00; //extended timer interrupt sources
 004A 20927D00          sts 125,R2
 004E                   .dbline -2
 004E           L2:
 004E                   .dbline 0 ; func end
 004E 0895              ret
 0050                   .dbend
 0050                   .dbfunc e SysInit _SysInit fV
                        .even
 0050           _SysInit::
 0050                   .dbline -1
 0050                   .dbline 44
 0050           ;  
 0050           ; }
 0050           ; 
 0050           ; 
 0050           ; 
 0050           ; void SysInit(void)
 0050           ; {
 0050                   .dbline 46
 0050           ;       //stop errant interrupts until set up
 0050           ;        CLI(); //disable all interrupts
 0050 F894              cli
 0052                   .dbline 47
 0052           ;       init_devices();
 0052 EFDF              xcall _init_devices
 0054                   .dbline 49
 0054           ; 
 0054           ;       spi_init();
 0054 0E940000          xcall _spi_init
 0058                   .dbline 52
 0058           ; 
 0058           ; 
 0058           ;       AD_Init();
 0058 0E940000          xcall _AD_Init
 005C                   .dbline -2
 005C           L3:
 005C                   .dbline 0 ; func end
 005C 0895              ret
 005E                   .dbend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -