激光传感器飞思卡尔智能车(4)

2020-02-20 13:57

REFDV=0x81; POSTDIV=0x00; while(CRGFLG_LOCK!=1); CLKSEL_PLLSEL=1; }

voidintiPB(){ DDRB=0xff; PORTB=0xff; }

//初始化舵机。。。。。。。。。。。。。 voidintiDirection() {

PWMPRCLK = 0x00; // 预分频后:A=B=CLKbus=40M

PWMSCLB = 0x05; // CLKsb = CLKb/(2*PWMSCLB) = 4M

PWMCTL_CON23 = 1;//组合PWM23,组合PWM2和PWM3后使用PWM3的控制信号控

制PWM23

PWMCLK_PCLK3 = 1; // 选择CLKsb作为PWM3的时钟

PWMPOL_PPOL3 = 1; // 极性选择寄存器1-占为高电平0-占为低电平 PWMCAE_CAE3 = 0; // 左对齐

PWMPER23 = 40000;// 舵机周期3.3ms,用PWMDTY3 设置占空比来控制

舵机转角

PWME_PWME3 = 1; // PWM3 使能开启

PWMDTY23 = 6432; // 占6432 - 转角为零(起始状态) }

//初始化电机。。。。。。。。。。。。。。。 voidinti_Motor(){

PWMCLK_PCLK0=1;//选择 CLKSA 作为PWM0 的时钟 PWMPRCLK=0;//预分频到40M

PWMSCLA=0x0A; //再分频到5M/2*100

PWMPOL_PPOL0=1; //设置0通道极性开始为高电平 PWMCAE_CAE0=0;//设置左对齐 PWMPER0=255; //设置频率 PWMDTY0=0;

PWME_PWME0= 1; // PWM0 使能开启 }

//时钟模块输出比较。。。。。。。。。。。。。。。 voidintTime_OUTPUT(){

TIOS_IOS1=1;//选择输出比较方向output //TCTL4_EDG1B=0; //选择捕捉形式上升沿 //TCTL4_EDG1A=1;

TSCR2_PR2=0; //预分频到5M TSCR2_PR1=1; TSCR2_PR0=1;

TC1=50000; //要比较的数 TIE_C1I=1;//时钟使能

TSCR1_TEN=1;//整个使能时钟使能 }

//去杂点

int cleaned(inti){ intj,k;

k=AD_Value[i]-a1[i]; j=AD_Value[i]-a2[i];

if((k>50)||(k<(-50))||(j>50)||(j<(-50))){ a0[i]=0; return 0; }

return 1; }

void main(void) { bian(); intiPB();

intiDirection(); intiAD();

//ISCInt(); inti_Motor();

intTime_OUTPUT(); PWMDTY0=0;

EnableInterrupts;

for(;;) { } }

#pragma CODE_SEG NON_BANKED #pragma TRAP_PROC void Interrupts(){ staticint j=0; staticint s=0; inti=0 ;

TFLG1_C1F=1;//接受中断信号 DisableInterrupts;

AD_GetValue();//每10毫秒测试一个数据 TC1+=50000; if(j<500) { j++;

AD_MAXget();

}

else{PWMDTY0=85;

if(AD_Value[0]>(max1-8)) { i=cleaned(0); if(i){

PWMDTY23=7450; PORTB=0xfe; } }

if(AD_Value[0]>(max1-8)&&AD_Value[1]>(max2-8)) { i=cleaned(1); if(i){

PWMDTY23=7367; PORTB=0xfc; } }

if(AD_Value[1]>(max2-8)) { i=cleaned(1); if(i){

PWMDTY23=7234; PORTB=0xfd; } }

if(AD_Value[1]>(max2-8)&&AD_Value[2]>(max3-8) ) { i=cleaned(2);

if(i){

PWMDTY23=7101; PORTB=0xf9; } }

if(AD_Value[2]>(max3-8)) { i=cleaned(2); if(i){

PWMDTY23=6968; PORTB=0xfb; } }

if(AD_Value[2]>(max3-8)&&AD_Value[3]>(max4-8)) { i=cleaned(3); if(i){

PWMDTY23=6835; PORTB=0xf3; } }

if(AD_Value[3]>(max4-8)) { i=cleaned(3); if(i){

PWMDTY23=6702; PORTB=0xf7; } }

if(AD_Value[3]>(max4-8)&&AD_Value[4]>(max5-8)) { i=cleaned(4); if(i){

PWMDTY23=6569; PORTB=0xe7; } }

if(AD_Value[4]>(max5-8)) { i=cleaned(4); if(i){

PWMDTY23=6432; PORTB=0xef;

} }

if(AD_Value[4]>(max5-8)&&AD_Value[5]>(max6-8)) { i=cleaned(5); if(i){

PWMDTY23=6303; PORTB=0xcf; } }

if(AD_Value[5]>(max6-8)) { i=cleaned(5); if(i){

PWMDTY23=6170; PORTB=0xdf; } }

if(AD_Value[5]>(max6-8)&&AD_Value[6]>(max7-8)) {

i=cleaned(6); if(i){

PWMDTY23=6037; PORTB=0x9f; } }

if(AD_Value[6]>(max7-8)) { i=cleaned(6); if(i){

PWMDTY23=5904; PORTB=0xbf; } }

if(AD_Value[6]>(max7-18)&&AD_Value[7]>(max8-18)) { i=cleaned(7); if(i){

PWMDTY23=5731; PORTB=0x3f; } }

if(AD_Value[7]>(max8-8))


激光传感器飞思卡尔智能车(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:个人简历

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: