• 大小: 330KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: 其他
  • 标签: 飞思卡尔  

资源简介

飞思卡尔完整程序,分为三层,底层硬件操作,应用层,系统层,便于学习xs128各种资源

资源截图

代码片段和文件信息

#include       /* common defines and macros */
#include “derivative.h“      /* derivative-specific definitions */
#include “PWM.h“
#include “control.h“
#include “SCI.h“
#include “deal_image.h“//处理图像的函数
#include “my_math.h“
#include “PIT.h“
#include “ECT.h“


unsigned int ave_x;//中心线的平均值

unsigned char curve_value;//弯道系数

unsigned char steer_refer;//转向参考值

unsigned char speed_refer;//速度参考值

static uchar steer_control_value = 0;//转向参数传递用

static uchar speed_control_value = 0;//速度参数传递用

static uchar ave_x_control_value = 0;//中心线参数传递用

static uchar current_speed_value = 0;//脉冲计数器当前速度传递用

static uchar wanted_speed_value = 0;//目标速度



/**********************************************
//功    能:控制初始化
//入口参数:无
//出口参数:无
***********************************************/
void Control_Init(void) 
{
  PWM01_Init();//PWM01初始化,车轮正位
  PWM23_Init();//PWM23初始化,车速0
  PWM45_Init();//PWM45初始化,车速0
  PIT0_Init(); //定时器初始化
  PA_Init();   //脉冲计数器初始化
}


/**********************************************
//功    能:得到中心线平均值ave_x
//入口参数:无
//出口参数:无
***********************************************/

void Get_Ave_X(void) 
{
  SCI_1Init();
  LINE_MAX = image_length;//默认得到的所有的中心线有效
  ave_x = 0;
  
  for(alter_line = 0;alter_line < image_length;alter_line++) 
  {
    ave_x = ave_x + centre_line[alter_line];
    if(centre_line[alter_line]==0x00)//得到无效数据总行数自减一
        LINE_MAX--;     
  }
  ave_x = (unsigned char)(ave_x/LINE_MAX);
  
  if(ave_x==0)ave_x=0x20;
  //SCI_1Write(0xff);
  //SCI_1Write((unsigned char)ave_x);
}

/************************************************
//功    能:得到curve_value 获得弯道模式参数
//入口参数:无
//出口参数:无
*************************************************/

void Get_Curve_value(void)
{
  LINE_MAX = image_length;
  curve_value = 0;
  for(alter_line = 0;alter_line < image_length;alter_line++)
  {
    if(centre_line[alter_line] != 0)
      curve_value = curve_value + abs_(centre_line[alter_line] - 0x20);
    else
      LINE_MAX--;
  }
  curve_value = (unsigned char)curve_value/LINE_MAX;
  //SCI_1Write(curve_value);
}
/************************************************
//功    能:判断弯道模式 并修改弯道与速度参数
//入口参数:无
//出口参数:无
*************************************************/
void Enter_Curve(void)
{
  
  if(curve_value <= 0x05)//此时为直线,curve_value为直线晃动产生的参考值
  {
    steer_refer = 26;//减小晃动,小参考值
    speed_refer = 24;//最大速度
    //speed_refer = curve_value * curve_value;
  }
  else if((curve_value>=0x06)&&(curve_value <=0x08))//一级弯道
  {
    steer_refer = 26;
    speed_refer = 20; 
    //speed_refer = curve_value * curve_value; 
  }
  else if((curve_value>=0x09)&&(curve_value <=0x0a))//二级弯道
  {
    steer_refer = 27;
    speed_refer = 19; 
    //speed_refer = curve_value * curve_value; 
  }
  else if((curve_value>=0x0b)&&(curve_value <=0x0d))//三级弯道
  {
    steer_refer = 28;
    speed_refer = 17; 
    //speed_refer = curve_value * curve_value; 
  } 
  else if((curve_value>

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-06-29 15:32  CCD\
     目录           0  2011-06-29 15:32  CCD\bin\
     文件      189075  2011-04-12 11:18  CCD\bin\Project.abs
     文件        1666  2011-04-12 11:18  CCD\bin\Project.abs.glo
     文件        1654  2011-04-12 11:18  CCD\bin\Project.abs.s19
     文件      109079  2011-04-12 11:18  CCD\bin\Project.map
     文件       60327  2011-04-06 18:43  CCD\CCD.mcp
     目录           0  2011-06-29 15:32  CCD\CCD_Data\
     文件        4287  2011-04-12 11:18  CCD\CCD_Data\CWSettingsWindows.stg
     目录           0  2011-06-29 15:32  CCD\CCD_Data\Standard\
     目录           0  2011-06-29 15:32  CCD\CCD_Data\Standard\objectCode\
     文件       11576  2011-04-11 20:26  CCD\CCD_Data\Standard\objectCode\control.c.o
     文件       13941  2011-03-18 14:12  CCD\CCD_Data\Standard\objectCode\datapage.c.o
     文件       15528  2011-04-11 21:28  CCD\CCD_Data\Standard\objectCode\deal_image.c.o
     文件       11154  2011-04-11 16:14  CCD\CCD_Data\Standard\objectCode\ECT.c.o
     文件        3534  2011-04-08 18:54  CCD\CCD_Data\Standard\objectCode\list_control.c.o
     文件        4852  2011-04-12 11:18  CCD\CCD_Data\Standard\objectCode\main.c.o
     文件      164184  2011-03-18 14:12  CCD\CCD_Data\Standard\objectCode\MC9S12XS128.c.o
     文件        4229  2011-04-06 18:37  CCD\CCD_Data\Standard\objectCode\my_math.c.o
     文件        8557  2011-04-11 16:14  CCD\CCD_Data\Standard\objectCode\PIT.c.o
     文件       12140  2011-04-06 18:37  CCD\CCD_Data\Standard\objectCode\PLL.c.o
     文件       10228  2011-04-06 18:37  CCD\CCD_Data\Standard\objectCode\PWM.c.o
     文件       14096  2011-04-06 18:37  CCD\CCD_Data\Standard\objectCode\SCI.c.o
     文件        5553  2011-03-18 14:12  CCD\CCD_Data\Standard\objectCode\Start12.c.o
     文件      524136  2011-04-12 11:18  CCD\CCD_Data\Standard\TargetDataWindows.tdt
     目录           0  2011-06-29 15:32  CCD\cmd\
     文件        1514  2011-03-18 14:12  CCD\cmd\TBDML_Erase_unsecure_hcs12xe.cmd
     文件          59  2011-03-18 14:12  CCD\cmd\TBDML_Postload.cmd
     文件          60  2011-03-18 14:12  CCD\cmd\TBDML_Preload.cmd
     文件          60  2011-03-18 14:12  CCD\cmd\TBDML_Reset.cmd
     文件          59  2011-03-18 14:12  CCD\cmd\TBDML_Startup.cmd
............此处省略37个文件信息

评论

共有 条评论