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

📄 main.c

📁 智能小车源代码
💻 C
字号:
#include <hidef.h>      /* common defines and macros */
#include <mc9s12dg128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"

/*
*********************************************************
*********                                    ************
*********             宏定义                 ************                         
*********************************************************/
#define ATD ATD0STAT0_SCF=1;ATD0CTL5=0x90 //AD单次转换
#define ATD_EN ATD0CTL2_ADPU=1 //AD使能
#define PWM_EN PWME=0xff     //PWM使能
#define PAI_EN PACTL_PAEN=1  //PAI使能
#define TIMER_EN TSCR1_TEN=1    //定时器使能
#define TIMER_DIS { TSCR1_TEN=0;TCNT=0x0000;}
#define LED_EN PORTB=0xff   //LED ENABLE
#define LED_DIS PORTB=0x00; //LED DISABLE
#define TC7_EN TIE_C7I=1   //TC7 中断使能
#define TC7_DIS TIE_C7I=0   //TC7  中断禁止
#define ABS(a) (a>0?a:-a)  //取绝对值
#define DELAY      for(n=0x0000;n<=0x5dc0;n++); //延时1ms

/*
*********************************************************
*********                                    ************
*********             数据定义               ************                         
*********************************************************/

unsigned int ad[8];    //AD转换保存
unsigned int st[8];    //归一化后AD值

//求偏移量时用的中间变量
signed int py01;     
signed int py02;
signed int py11;
signed int py12;
signed int mpy;

signed int y[8];  //传感器排布偏移量
signed int dy[8]; //各个传感器偏移量与电压的比例系数

unsigned int n_speed;
unsigned int speed[10];     //得到的速度序列
signed int d_speed[10];     //得到的加速度序列
unsigned int py[10];    //得到的有效的偏移量序列
signed int d_py[10];    //得到的有效的偏移速度序列

unsigned int atd_max[8];//预标定AD最大值
unsigned int atd_min[8];//预标定AD最小值
unsigned int sta[8]; //归一化系数A
unsigned int stb[8];//归一化系数B
unsigned int amin0; //最小值的序号
unsigned int amin1; //次小值的序号

signed int v_speedh,a_speedh; //有效的最大速度,加速度
signed int v_speedl,a_speedl; //有效的最小速度,加速度
signed int py_h,py_vh; //有效的最大偏移量,偏移速度
signed int py_l,py_vl; //有效的最小偏移量,偏移速度
unsigned int dir_pwmh,dir_pwml;//最大,最小转量
unsigned int set_sp;   //设定速度,脉冲数
signed int set_asp; //设定加速度,用于改变DTY
unsigned int set_speed;//设定速度

⌨️ 快捷键说明

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