77范文网 - 专业文章范例文档资料分享平台

智能车电磁组完整程序

来源:网络收集 时间:2018-12-08 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

#include /* common defines and macros */

#include \ /* derivative-specific definitions */

int left1=0; int left2=0; int right1=0; int right2=0;

int AR_LEFT=0;//left2-right2 int AR_RIGHT=0;

int CR=0;//左边相加减右边相加 int preCR=0; int ppreCR=0; int mkp=0; int mki=0; int mkd=0;

int ideal_speed=0; //设定速度 int speed=0;

int s_ideal0[6]={75,80,42,42,42,42}; //普通道、长直道、普通到弯、长直道到弯、弯内、偏离黑线

int s_ideal1[6]={70,75,42,42,42,42}; int s_ideal2[6]={62,70,42,40,41,40}; int s_ideal3[6]={54,66,42,40,41,40};

int table_mkp0[6]={30,30,30,30,30,30}; //ni 16.31 ,shun 15.16 int table_mkp1[6]={25,25,25,25,25,25}; int table_mkp2[6]={5,4,4,20,20,20};

int table_mkp3[6]={4,4,4,10,8,9}; //稳定速度

int table_mki0[6]={0,0,20,20,20,20}; int table_mki1[6]={0,0,20,20,20,20}; int table_mki2[6]={0,0,0,10,10,20}; int table_mki3[6]={0,0,0,0,0,0};

int table_mkd0[6]={0,0,0,0,0,0}; int table_mkd1[6]={0,0,0,0,0,0}; int table_mkd2[6]={0};

int table_mkd3[6]={0,0,0,0,0,0};

int s_table[6]; int b_mkp[6]=0; int b_mki[6]=0; int b_mkd[6]=0;

int table_rkp0[7]={5,3,2,550,550,550,8};//普通道中间、长直道低速、长直道高速、普到弯、直到弯、弯、普通道两边

int table_rkp1[7]={7,5,4,450,450,400,9}; int table_rkp2[7]={6,3,2,150,150,150,9}; int table_rkp3[7]={5,3,2,150,150,150,9};

int table_rkd0[7]={0,0,0,400,400,400,100}; int table_rkd1[7]={0,0,0,500,500,500,100}; int table_rkd2[7]={0,0,0,200,300,400,100}; int table_rkd3[7]={0,0,0,200,300,400,100};

int b_rkp[7]=0; int b_rkd[7]=0;

int rkp=0; int rkd=0;

int f=0;// pwmDTY要加的值 int pref=0;

int Pulse_count=0; //脉冲数 int ganhuang=0; unsigned int ting=0;

int i=0;

int Flag_Chute=0; //道路标志 int GeneralCtn=0; int CurveCtn=0; int ChuteCtn=0; int WANCtn=0; int Flag_gaosu=0;

unsigned char Flag_Pwm;//知道转弯道标志

int flag=0;

/*********************** //PLL超频到40MHZ ****************/ void PLL_Init(void) { CLKSEL=0X00;

PLLCTL_PLLON=1; REFDV=0X80|0X01; SYNR=0X40|0X04; POSTDIV=0X00; asm nop; asm nop;

while(!(CRGFLG_LOCK==1)); CLKSEL_PLLSEL=1; }

//延时函数 cnt*1ms;

void delay(unsigned int cnt) { unsigned int loop_i,loop_j;

for(loop_i=0;loop_i

/******************************* ///////////////\\\\计数程序//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

*********************************/ void PACBInit() //PT7 获得脉冲值 {

PACTL=0X40; //PT7 PIN,PACN32 16BIT,Rising edge,NOT INTERRUPT TCTL3=0x40; //c-输入捕捉7 上升沿有效, TIE_C7I=0; //通道7 禁止中断

TIOS_IOS7=0; //每一位对应通道的: 0 输入捕捉,1 输出比较 PACNT = 0; }

void RTI_init(void) //RTI 产生 10ms 的中断定时 {

asm sei; //关闭中断

RTICTL=0xC7; //中断周期设置10ms 中断一次(或者让RTICTL=0x59<为10.24ms 定时>)

CRGINT_RTIE=1; //实时中断有效,一旦RTIF=1 则发出中断请求 asm cli; //开放中断 }

//舵机初始化

void PWM_rudder_init(void) { PWME_PWME3=0; PWME_PWME2=0;

PWMPRCLK_PCKB=2;//CLOCKB=BUS/4=10MHz PWMSCLB=2;//CLOCCSB=10/(2*2)=2.5MHz PWMCTL_CON23=1;//组合PWM23 PWMCLK_PCLK3=1;//PWM3使用SB

PWMPER23=50000;//写PWM23的周期寄存器,周期是20ms PWMPOL_PPOL3=1;//极性为正 PWMCAE_CAE3=0;//左对齐

PWME_PWME3=1;//使能PWM23 }

//电机初始化

void PWM_init_motor(void){ //电机初始化

PWME_PWME0=0; PWME_PWME1=0;

PWMPRCLK_PCKA=2; //Clock A=40M/4=10M PWMPOL_PPOL1=1;//通道1 正极性输出 PWMCLK_PCLK1=0;//通道1 选择A 时钟 PWMCAE_CAE1=0;//左对齐 PWMCTL_CON01=1;

PWMPER01=1000;//输出频率=10M/1000=10Khz PWMDTY01=0;//通道1 占空比为100/250 PWME_PWME1=1;//通道1 使能

PWME_PWME4=0; PWME_PWME5=0;

PWMPRCLK_PCKA=1; //Clock A=40M/2=20M PWMPOL_PPOL5=1;//通道5 正极性输出 PWMCLK_PCLK5=1;//通道5 选择SA 时钟

PWMSCLA=1; //ClockSB=20M/(2*1)=10M PWMCAE_CAE5=0;//左对齐 PWMCTL_CON45=1;

PWMPER45=1000;//输出频率=10M/1000=10Khz PWMDTY45=0;//初始通占空比0 PWME_PWME5=1;//通道5 使能 }

void AD_Init(void) {

ATD0CTL1=0x20; //选择AD通道为外部触发,10位精度,采样前不放电 ATD0CTL2=0x40; //标志位自动清零,禁止外部触发, 禁止中断

ATD0CTL3=0xA0; //右对齐无符号,每次转换4个序列, No FIFO, Freeze模式下继续转 ATD0CTL4=0x09; //采样时间为4个AD时钟周期,PRS=9,ATDClock=40/(2*(9+1))2MHz ATD0CTL5=0x30; //特殊通道禁止,连续转换4个通道 ,多通道转换,起始通道为0转换 ATD0DIEN=0x00; //禁止数字输入 }

/************************ /////////检测起跑线\\\\\\\\\\\\\\\\\\\\\\ *****************/ void Checkstart(){

asm sei;

TIOS_IOS0=0; //输入捕捉 TSCR1=0X80; TSCR2=0X07;

TCTL4=0X01;//上升沿捕捉 TIE=0X01; //允许硬件中断 asm cli; }

//拨码开关 void boman(){

if(PORTA_PA0==1) { b_rkp[0]=table_rkp0[0]; b_rkp[1]=table_rkp0[1]; b_rkp[2]=table_rkp0[2]; b_rkp[3]=table_rkp0[3]; b_rkp[4]=table_rkp0[4]; b_rkp[5]=table_rkp0[5]; b_rkp[6]=table_rkp0[6];

b_rkd[0]=table_rkd0[0]; b_rkd[1]=table_rkd0[1]; b_rkd[2]=table_rkd0[2];

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库智能车电磁组完整程序在线全文阅读。

智能车电磁组完整程序.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/351245.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: