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

📄 main.c

📁 ABS防抱死功能
💻 C
字号:
#include <hidef.h>      /* common defines and macros */
#include <mc9s12dg128.h>     /* derivative information */
#include "main.h"
#include "ECT.h"
#include "AD.h"
#include "RTI.h"
#include "IO.h"

byte TimerCount;       //用来计数1毫秒中断的次数
byte Timer1ms_Flag;    //1毫秒标志位
byte Timer10ms_Flag;   //10毫秒标志位
word AD0_wData[4];		 //保存通道0采样值
word IOC0_wData;       //输入捕捉通道的两个下降沿之间间隔-脉冲周期(us)
word IOC1_wData;
word IOC2_wData;
word IOC3_wData;
byte WheelSpeed_FL;    //左前轮轮速
byte WheelSpeed_FR;    //右前轮轮速
byte WheelSpeed_RL;    //左后轮轮速
byte WheelSpeed_RR;    //左后轮轮速

word Pressure_FL;      //左前轮压力 
word Pressure_FR;			 //右前轮压力								  
word Pressure_RL;			 //左后轮压力								  
word Pressure_RR;			 //左后轮压力								 

#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"

void main(void) 
{
  byte i;
  ECT_Init();
  AD0_Init();
  RTI_Init();
  IO_Init();
  
  TimerCount = 1;
  Timer1ms_Flag = 0;
  Timer10ms_Flag = 0;
  for(i=0;i<4;i++)
  {
    AD0_wData[i] = 0x00;    
  }
  WheelSpeed_FL = 0;
  WheelSpeed_FR = 0;
  WheelSpeed_RL = 0;
  WheelSpeed_RR = 0;
    
  EnableInterrupts;
  for(;;) 
  {
    if(Timer1ms_Flag==1) //1ms中断发生,以下程序每隔1ms执行一次
    {
       Timer1ms_Flag = 0;//标志位清零        
             
       if(TimerCount==10)  //计数10次
       {
        
         Timer10ms_Flag = 1;
         TimerCount = 1;
       }
       else
       {
         TimerCount++;         
       }       
    }//1毫秒任务
    if(Timer10ms_Flag==1)
    {
    	 ATD0CTL5  = 0x90;  //启动新的转换序列,开始采样
    	 WheelSpeed_FL = DISTANCE_FOR_ONE_PULSE/IOC0_wData/1000; //左前轮车速 米/秒
       WheelSpeed_FR = DISTANCE_FOR_ONE_PULSE/IOC1_wData/1000; //右前轮车速 米/秒
       WheelSpeed_RL = DISTANCE_FOR_ONE_PULSE/IOC2_wData/1000; //左后轮车速 米/秒
       WheelSpeed_RR = DISTANCE_FOR_ONE_PULSE/IOC3_wData/1000; //右后轮车速 米/秒
    
       Pressure_FL = AD0_wData[0];  //左前轮压力  
       Pressure_FR = AD0_wData[1];  //右前轮压力	
       Pressure_RL = AD0_wData[2];  //左后轮压力	
       Pressure_RR = AD0_wData[3];  //左后轮压力	
       
       
       
    }//10毫秒任务
  } //for主循环
}

⌨️ 快捷键说明

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