📄 initial.lis
字号:
.module initial.c
.area text(rom, con, rel)
0000 .dbfile D:\iccv7avr\AVRBOO~1\initial.c
0000 .dbfunc e globalParaInit _globalParaInit fV
.even
0000 _globalParaInit::
0000 .dbline -1
0000 .dbline 21
0000 ; /****************************************Copyright (c)****************************
0000 ; 文件 名: initial.c
0000 ; 修改日期: 2006-1-23 13:47
0000 ; 描述: 初始化程序
0000 ; 版本: V1.0
0000 ; 主控芯片: M16 晶振频率:7.3728MHZ,
0000 ; ********************************************************************************/
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ; #include "define.h"
0000 ; #include "extern.h"
0000 ; #include "function.h"
0000 ; #include "command.h"
0000 ;
0000 ;
0000 ; /**********************************************************************
0000 ; functionName:void paraInit(void)
0000 ; description:变量初始化
0000 ; **********************************************************************/
0000 ; void globalParaInit(void)
0000 ; {
0000 .dbline 22
0000 ; statusMachine = ST_START;
0000 80EF ldi R24,240
0002 80930000 sts _statusMachine,R24
0006 .dbline 23
0006 ; paramControllerInit=0x00;
0006 2224 clr R2
0008 20920000 sts _paramControllerInit,R2
000C .dbline 24
000C ; prgMode=0;
000C 20920000 sts _prgMode,R2
0010 .dbline -2
0010 L1:
0010 .dbline 0 ; func end
0010 0895 ret
0012 .dbend
0012 .dbfunc e timer1_init _timer1_init fV
.even
0012 _timer1_init::
0012 .dbline -1
0012 .dbline 32
0012 ;
0012 ; }
0012 ; //TIMER1 initialize - prescale:1024
0012 ; // WGM: 0) Normal, TOP=0xFFFF
0012 ; // desired value: 15Sec
0012 ; // actual value: 15.000Sec (0.0%)
0012 ; void timer1_init(void)
0012 ; {
0012 .dbline 33
0012 ; TCCR1B = 0x00; //stop
0012 2224 clr R2
0014 2EBC out 0x2e,R2
0016 .dbline 34
0016 ; TCNT1H = 0x73; //setup
0016 83E7 ldi R24,115
0018 8DBD out 0x2d,R24
001A .dbline 35
001A ; TCNT1L = 0x5F;
001A 8FE5 ldi R24,95
001C 8CBD out 0x2c,R24
001E .dbline 36
001E ; TCCR1A = 0x00;
001E 2FBC out 0x2f,R2
0020 .dbline 37
0020 ; TCCR1B = 0x05; //start Timer
0020 85E0 ldi R24,5
0022 8EBD out 0x2e,R24
0024 .dbline -2
0024 L2:
0024 .dbline 0 ; func end
0024 0895 ret
0026 .dbend
0026 .dbfunc e uart0Init _uart0Init fV
.even
0026 _uart0Init::
0026 .dbline -1
0026 .dbline 52
0026 ; }
0026 ;
0026 ; /**********************************************************************
0026 ; functionName:void uart0Init(void)
0026 ; description:串口初始化函数
0026 ; desired baud rate: UBRRL决定
0026 ; UBRRL = 1; //115200
0026 ; UBRRL = 3; //57600
0026 ; UBRRL = 11; //19200
0026 ; UBRRL = 23; //9600
0026 ; char size: 8 bit
0026 ; parity: Disabled
0026 ; **********************************************************************/
0026 ; void uart0Init(void)
0026 ; {
0026 .dbline 53
0026 ; UCSRB = 0x00; //disable while setting baud rate
0026 2224 clr R2
0028 2AB8 out 0xa,R2
002A .dbline 54
002A ; UCSRA = 0x00;
002A 2BB8 out 0xb,R2
002C .dbline 55
002C ; UCSRC = 0x86;
002C 86E8 ldi R24,134
002E 80BD out 0x20,R24
0030 .dbline 57
0030 ; // UBRRL = 1; //set baud rate lo
0030 ; UBRRL = 3; //set baud rate lo
0030 83E0 ldi R24,3
0032 89B9 out 0x9,R24
0034 .dbline 58
0034 ; UBRRH = 0x00; //set baud rate hi
0034 20BC out 0x20,R2
0036 .dbline 60
0036 ; // UCSRB = 0x98; //使用中断
0036 ; UCSRB = 0x18;
0036 88E1 ldi R24,24
0038 8AB9 out 0xa,R24
003A .dbline -2
003A L3:
003A .dbline 0 ; func end
003A 0895 ret
003C .dbend
003C .dbfunc e portInit _portInit fV
.even
003C _portInit::
003C .dbline -1
003C .dbline 71
003C ;
003C ; }
003C ;
003C ;
003C ;
003C ; /**********************************************************************
003C ; functionName:void portInit(void)
003C ; description:M16 IO初始化
003C ; **********************************************************************/
003C ; void portInit(void)
003C ; {
003C .dbline 72
003C ; PORTA=0xFF;
003C 8FEF ldi R24,255
003E 8BBB out 0x1b,R24
0040 .dbline 73
0040 ; DDRA=0x00;
0040 2224 clr R2
0042 2ABA out 0x1a,R2
0044 .dbline 74
0044 ; PORTB=0xAA;
0044 8AEA ldi R24,170
0046 88BB out 0x18,R24
0048 .dbline 75
0048 ; DDRB=0xFF;
0048 8FEF ldi R24,255
004A 87BB out 0x17,R24
004C .dbline 76
004C ; PORTC=0xFF;
004C 85BB out 0x15,R24
004E .dbline 77
004E ; DDRC=0x00;
004E 24BA out 0x14,R2
0050 .dbline 78
0050 ; PORTD=0xFF;
0050 82BB out 0x12,R24
0052 .dbline 79
0052 ; DDRD=0x00;
0052 21BA out 0x11,R2
0054 .dbline -2
0054 L4:
0054 .dbline 0 ; func end
0054 0895 ret
0056 .dbend
0056 .dbfunc e allInit _allInit fV
.even
0056 _allInit::
0056 .dbline -1
0056 .dbline 87
0056 ; }
0056 ;
0056 ; /**********************************************************************
0056 ; functionName:void allInit(void)
0056 ; description:初始化所有的器件以及变量
0056 ; **********************************************************************/
0056 ; void allInit(void)
0056 ; {
0056 .dbline 89
0056 ; //开始初始化工作
0056 ; CLI(); //关闭中断源
0056 F894 cli
0058 .dbline 90
0058 ; globalParaInit(); //变量初始化
0058 D3DF xcall _globalParaInit
005A .dbline 91
005A ; portInit(); //M16 IO初始化
005A F0DF xcall _portInit
005C .dbline 92
005C ; uart0Init(); //串口初始化函数
005C E4DF xcall _uart0Init
005E .dbline 93
005E ; timer1_init();
005E D9DF xcall _timer1_init
0060 .dbline 94
0060 ; MCUCR = 0x00;
0060 2224 clr R2
0062 25BE out 0x35,R2
0064 .dbline 95
0064 ; GICR = 0x00;
0064 2BBE out 0x3b,R2
0066 .dbline 96
0066 ; TIMSK = 0x00;
0066 29BE out 0x39,R2
0068 .dbline -2
0068 L5:
0068 .dbline 0 ; func end
0068 0895 ret
006A .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -