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

📄 init_8515.lis

📁 国内某测温系统信号处理处理板的代码
💻 LIS
字号:
                        .module init_8515.c
                        .area vector(rom, abs)
                        .org 12
 000C 00C0              rjmp _timer1_ovf_isr
                        .org 18
 0012 00C0              rjmp _uart0_rx_isr
                        .org 22
 0016 00C0              rjmp _uart0_tx_isr
                        .org 24
 0018 00C0              rjmp _ana_comp_isr
                        .area text(rom, con, rel)
 0000                   .dbfile E:\任务\RASS\rass_soft\init_8515.c
 0000                   .dbfunc e port_init _port_init fV
                        .even
 0000           _port_init::
 0000                   .dbline -1
 0000                   .dbline 8
 0000           ; //ICC-AVR application builder : 2006-12-8 14:54:31
 0000           ; // Target : M8515
 0000           ; // Crystal: 7.3728Mhz
 0000           ; 
 0000           ; #include "config.h"
 0000           ; 
 0000           ; void port_init(void)
 0000           ; {
 0000                   .dbline 9
 0000           ;  PORTA = 0x00;
 0000 2224              clr R2
 0002 2BBA              out 0x1b,R2
 0004                   .dbline 10
 0004           ;  DDRA  = 0xFF;
 0004 8FEF              ldi R24,255
 0006 8ABB              out 0x1a,R24
 0008                   .dbline 11
 0008           ;  PORTB = 0x00;
 0008 28BA              out 0x18,R2
 000A                   .dbline 12
 000A           ;  DDRB  = 0x40;
 000A 80E4              ldi R24,64
 000C 87BB              out 0x17,R24
 000E                   .dbline 13
 000E           ;  PORTC = 0x38;
 000E 88E3              ldi R24,56
 0010 85BB              out 0x15,R24
 0012                   .dbline 14
 0012           ;  DDRC  = 0xFF;
 0012 8FEF              ldi R24,255
 0014 84BB              out 0x14,R24
 0016                   .dbline 15
 0016           ;  PORTD = 0x03;
 0016 83E0              ldi R24,3
 0018 82BB              out 0x12,R24
 001A                   .dbline 16
 001A           ;  DDRD  = 0x00; 
 001A 21BA              out 0x11,R2
 001C                   .dbline 17
 001C           ;  PORTE = 0x07;
 001C 87E0              ldi R24,7
 001E 87B9              out 0x7,R24
 0020                   .dbline 18
 0020           ;  DDRE  = 0x00; 
 0020 26B8              out 0x6,R2
 0022                   .dbline -2
 0022           L1:
 0022                   .dbline 0 ; func end
 0022 0895              ret
 0024                   .dbend
 0024                   .dbfunc e timer1_init _timer1_init fV
                        .even
 0024           _timer1_init::
 0024                   .dbline -1
 0024                   .dbline 26
 0024           ; }
 0024           ; 
 0024           ; //TIMER1 initialize - prescale:1024
 0024           ; // WGM: 0) Normal, TOP=0xFFFF
 0024           ; // desired value: 2Sec
 0024           ; // actual value:  2.000Sec (0.0%)
 0024           ; void timer1_init(void)
 0024           ; {
 0024                   .dbline 27
 0024           ;  TCCR1B = 0x00; //stop
 0024 2224              clr R2
 0026 2EBC              out 0x2e,R2
 0028                   .dbline 28
 0028           ;  TCNT1H = 0xC7; //setup
 0028 87EC              ldi R24,199
 002A 8DBD              out 0x2d,R24
 002C                   .dbline 29
 002C           ;  TCNT1L = 0xC1;
 002C 81EC              ldi R24,193
 002E 8CBD              out 0x2c,R24
 0030                   .dbline 30
 0030           ;  OCR1AH = 0x38;
 0030 88E3              ldi R24,56
 0032 8BBD              out 0x2b,R24
 0034                   .dbline 31
 0034           ;  OCR1AL = 0x3F;
 0034 8FE3              ldi R24,63
 0036 8ABD              out 0x2a,R24
 0038                   .dbline 32
 0038           ;  OCR1BH = 0x38;
 0038 88E3              ldi R24,56
 003A 89BD              out 0x29,R24
 003C                   .dbline 33
 003C           ;  OCR1BL = 0x3F;
 003C 8FE3              ldi R24,63
 003E 88BD              out 0x28,R24
 0040                   .dbline 34
 0040           ;  TCCR1A = 0x00;
 0040 2FBC              out 0x2f,R2
 0042                   .dbline -2
 0042           L2:
 0042                   .dbline 0 ; func end
 0042 0895              ret
 0044                   .dbend
 0044                   .dbfunc e uart0_init _uart0_init fV
                        .even
 0044           _uart0_init::
 0044                   .dbline -1
 0044                   .dbline 43
 0044           ;  //TCCR1B = 0x05; //start Timer
 0044           ; }
 0044           ; 
 0044           ; 
 0044           ; //UART0 initialize
 0044           ; // desired baud rate: 19200
 0044           ; // actual: baud rate:19200 (0.0%)
 0044           ; void uart0_init(void)
 0044           ; {
 0044                   .dbline 44
 0044           ;  UCSRB = 0x00; //disable while setting baud rate
 0044 2224              clr R2
 0046 2AB8              out 0xa,R2
 0048                   .dbline 45
 0048           ;  UCSRA = 0x00;
 0048 2BB8              out 0xb,R2
 004A                   .dbline 46
 004A           ;  UCSRC = BIT(URSEL) | 0x36;
 004A 86EB              ldi R24,182
 004C 80BD              out 0x20,R24
 004E                   .dbline 47
 004E           ;  UBRRL = 0x17; //set baud rate lo
 004E 87E1              ldi R24,23
 0050 89B9              out 0x9,R24
 0052                   .dbline 48
 0052           ;  UBRRH = 0x00; //set baud rate hi
 0052 20BC              out 0x20,R2
 0054                   .dbline 49
 0054           ;  UCSRB = 0xD8;
 0054 88ED              ldi R24,216
 0056 8AB9              out 0xa,R24
 0058                   .dbline -2
 0058           L3:
 0058                   .dbline 0 ; func end
 0058 0895              ret
 005A                   .dbend
 005A                   .dbfunc e comparator_init _comparator_init fV
                        .even
 005A           _comparator_init::
 005A                   .dbline -1
 005A                   .dbline 57
 005A           ; }
 005A           ; 
 005A           ; 
 005A           ; 
 005A           ; //Comparator initialize
 005A           ; // trigger on: Rising output edge
 005A           ; void comparator_init(void)
 005A           ; {
 005A                   .dbline 58
 005A           ;  ACSR = ACSR & 0xF7; //ensure interrupt is off before changing
 005A 88B1              in R24,0x8
 005C 877F              andi R24,247
 005E 88B9              out 0x8,R24
 0060                   .dbline 59
 0060           ;  ACSR = 0x0B;
 0060 8BE0              ldi R24,11
 0062 88B9              out 0x8,R24
 0064                   .dbline -2
 0064           L4:
 0064                   .dbline 0 ; func end
 0064 0895              ret
 0066                   .dbend

⌨️ 快捷键说明

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