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

📄 init.h

📁 本程序给出了2008年参加飞思卡尔智能车竞赛的完整的源程序
💻 H
字号:
/*=============系统初始化 bus=24M=========*/
void mcu_init(void)
  {
    REFDV=3;          //锁相环时钟频率:f(suo)=2*f(fos)*(synr+1)/(refdv+1)
    SYNR=7;           //所以,这里时钟为32mhz,fos是外部时钟频率的一半 
    while(!CRGFLG_LOCK); // 锁相环已锁定 CRGFLG_LOCK=1;
    CLKSEL=0X80;         //选用锁相环时钟
  }
  
  
void rti_init(void)
{ 
  RTICTL=0X7F;        //实时时钟分频系数
  CRGINT_RTIE=1;      //开实时时钟中断,中断号为7
}
/*=================A/D初始化====================*/
void adc_init(void)
  {
    ATD0CTL2=0XC0;       //a/d模块上电,快速清零,无等待模式,中断禁止
    ATD0CTL3=0X08;       //转换序列长度为1
    ATD0CTL4=0X81;       //这里本来是0x81,分频系数4,严重超频
    ATD0CTL5=0XA2;       //转换结果存低位,选用atd1的1通道
    ATD0DIEN=0X00;       //数字输入禁止
    
  }
/*=================SCI初始化===================*/
 void sci_init(void)
{
  SCI0BD=52;             // 208的时候是9600bps,52的时候是38400
  SCI0CR1=0;              //正常8位模式,无奇偶校验
  SCI0CR2=0x0c;           //接受中断允许
}


/**************************************************
 PWM初始化函数 
**********************************************************/
void init_pwm(void) 
{
  PWME = 0x00;            //初始化的时候先禁止pwm输出
 
  //PWMSCLB  = 4;           //进一步分频,分频系数为2*4,
  //PWMPOL   = 0x28;        //极性选择,周期开始时,pwm输出高,当计数器等于预设值时,输出低
  //PWMCLK   = 0x08;        //23选择clocksb=2M,45选择clocka=16M
  //PWMCTL   = 0x60;        //控制寄存器,con45和con23级联
  PWMPRCLK =0X22;         //总线时钟四分频 ,得到8M时钟 
  PWMCTL    = 0x90;       //con12级联,67级联
  PWMCLK    = 0X82;    // 
  PWMPOL    = 0XFF;
  PWMSCLA   = 4;  //在预分频的基础上再8分频,得到1M时钟
  PWMSCLB   = 4;
  PWMPER67=1000;
  PWMPER01=20000;
  }
/**********************************************************
 计数器初始化函数 
**********************************************************/
 void init_counter(void) 
 {
  PACTL_PAEN=1;        //PAI 系统时能   
  PACTL_PAMOD=0;       //事件计数模式
  PACTL_PEDGE=0;       //下降沿计数  
  DLYCT=3;             //延时256总线时钟,去除噪声
 }
  
  

⌨️ 快捷键说明

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