智能车制作

标题: 果断分享 要什么贡献??? [打印本页]

作者: bool1012    时间: 2010-12-1 23:27
标题: 果断分享 要什么贡献???
#include <hidef.h>      /* common defines and macros */
#include <mc9s12dg128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"



unsigned int kp=90;
signed int c;
unsigned int a[11],a1[11],e[11];
unsigned int i,k,j=0;
signed int b[21];
signed int b1[21];
signed int b2[21];
void SetBusCLK_16M(void)
{   
  REFDV=1;
  SYNR=1;
    while(!(CRGFLG_LOCK==1));   
    CLKSEL_PLLSEL =1;
}

void ad(void) {
  ATD0CTL2=0XC0;   //启动ATD0转换,快速清零,没有中断,不受外部触发控制
  ATD0CTL3=0X04;         //转换序列长度为8,FIFO为1 ,无冻结模式
  ATD0CTL4=0XE3;         //16个AD周期,8分频,AD平率为4MHZ
  ATD0CTL5=0X30;         //从通道0开始的通道开始进行8次转换,左对齐方式存储结果
  ATD0DIEN=0X00;         //禁止数字量输入
  
ATD1CTL2=0XC0;   //启动ATD1转换,快速清零,没有中断,不受外部触发控制
  ATD1CTL3=0X04;         //转换序列长度为 1,FIFO为0 ,无冻结模式
  ATD1CTL4=0XE3;         //16个AD周期,8分频,AD平率为4MHZ
  ATD1CTL5=0X30;         //单通道多次转换,AN0通道,左对齐方式存储结果
  ATD1DIEN=0X00;   //禁止数字量输入
}
void pwm(void) {
  PWMPRCLK=0X00;         //B,A都不分频,都为总线频率16MHZ
  PWMSCLA=0X08;                 //对clock a 16分频,clock sa频率是1Mhz
  PWMCLK_PCLK1=1; //选择clock sa 为PWM时钟源
  PWMPOL_PPOL1=1; //先输出高电平
  PWMCAE_CAE0=0;  //输出为左对齐方式
  PWMCTL_CON01=1;//0 1通道级联
  PWMCNT01=0;                 //计数器清零         
  PWMPER01=1000;
  PWMDTY01=720;
  PWME_PWME1=1;
  

  PWMCLK_PCLK5=1; //选择clock sa 为PWM时钟源
  PWMPOL_PPOL5=1; //先输出高电平
  PWMCAE_CAE5=0;  //输出为左对齐方式
  PWMCTL_CON45=1;//0 1通道级联
  PWMCNT45=0;                 //计数器清零         
  PWMPER45=20000;
  PWMDTY45=1680;
  PWME_PWME5=1;
}





void pb(void){
signed int p1=0;
if((b[0]==0)&&(b[1]==0)&&(b[2]==0)&&(b[3]==0)&&(b[4]==0)&&(b[5]==0)&&(b[6]==0)&&(b[7]==0)&&(b[8]==0)&&(b[9]==0)&&(b[10]==0)&&(b[11]==0)&&(b[12]==0)&&(b[13]==0)&&(b[14]==0)&&(b[15]==0)&&(b[16]==0)&&(b[17]==0)&&(b[18]==0)&&(b[19]==0)&&(b[20]==0)) {
c=0;  
} else{
  for(j=0;j<21;j++){
    if(b[j]!=0){
      c=b[j];
    }
  }
}
p1=kp*c;
p1=1680+p1;
if(p1<1080)
  p1=1080;
else if(p1>2280)
  p1=2280;
PWMDTY45=p1;
}





void main(void) {
  SetBusCLK_16M();
  pwm();
  ad();
  for(i=0;i<1000;i++){
   while(ATD0STAT1_CCF0==0);
  a1[0]=ATD0DR0H;
  while(ATD0STAT1_CCF1==0);
  a1[1]=ATD0DR1H;
  while(ATD0STAT1_CCF2==0);
  a1[2]=ATD0DR2H;
  while(ATD0STAT1_CCF3==0);
  a1[3]=ATD0DR3H;
  while(ATD0STAT1_CCF4==0);
  a1[4]=ATD0DR4H;
  while(ATD0STAT1_CCF5==0);
  a1[5]=ATD0DR5H;
  while(ATD0STAT1_CCF6==0);
  a1[6]=ATD0DR6H;
  while(ATD0STAT1_CCF7==0);
  a1[7]=ATD0DR7H;
  while(ATD1STAT1_CCF0==0);
  a1[8]=ATD1DR0H;
  while(ATD1STAT1_CCF1==0);
  a1[9]=ATD1DR1H;
  while(ATD1STAT1_CCF2==0);
  a1[10]=ATD1DR2H;
  }
  
  

while(1){

  
while(ATD0STAT1_CCF0==0);
  a[0]=ATD0DR0H;
  while(ATD0STAT1_CCF1==0);
  a[1]=ATD0DR1H;
  while(ATD0STAT1_CCF2==0);
  a[2]=ATD0DR2H;
  while(ATD0STAT1_CCF3==0);
  a[3]=ATD0DR3H;
  while(ATD0STAT1_CCF4==0);
  a[4]=ATD0DR4H;
  while(ATD0STAT1_CCF5==0);
  a[5]=ATD0DR5H;
  while(ATD0STAT1_CCF6==0);
  a[6]=ATD0DR6H;
  while(ATD0STAT1_CCF7==0);
  a[7]=ATD0DR7H;
  while(ATD1STAT1_CCF0==0);
  a[8]=ATD1DR0H;
  while(ATD1STAT1_CCF1==0);
  a[9]=ATD1DR1H;
  while(ATD1STAT1_CCF2==0);
  a[10]=ATD1DR2H;
  

  
    if(a[0]<=70){
    for(i=0;i<11;i++){
    b1[i]=b[i];
    }
   
  
    b[0]=(-10);b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
    }
   

    else if(a[1]<=66){
    for(i=0;i<11;i++){
    b1[i]=b[i];
  }
  
    b[0]=0;b[1]=0;b[2]=(-8);b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
   
   }
   

    else if(a[2]<=70){
    for(i=0;i<11;i++){
    b1[i]=b[i];
  }
  
     b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=(-6);b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
   
   }
   


    else if(a[3]<=59){
    for(i=0;i<11;i++){
    b1[i]=b[i];
  }
  
   
     b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=(-4);b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
   }
   
   


    else if(a[4]<=86){
    for(i=0;i<11;i++){
    b1[i]=b[i];
  }
  
    b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=(-2);b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
  }
  


    else if(a[5]<=49){
    for(i=0;i<11;i++){
    b1[i]=b[i];
  }
  
     b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;

  }
     


     else if(a[6]<=47){

     for(i=0;i<11;i++){
    b1[i]=b[i];
  }
  
     b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=2;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
  }
  



    else if(a[7]<=84){
       for(i=0;i<11;i++){
    b1[i]=b[i];
  }
    b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=4;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
  }
   
   
    else if(a[8]<=60){
       for(i=0;i<11;i++){
    b1[i]=b[i];
  }
    b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=6;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
  }
  
    else if(a[9]<=60){
       for(i=0;i<11;i++){
    b1[i]=b[i];
  }
    b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=8;b[19]=0;b[20]=0;
  }  
   
   
   
    else if(a[10]<=60){
       for(i=0;i<11;i++){
    b1[i]=b[i];
  }
    b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=10;
  }
   
   
    else if((a[0]<=99)&&(a[1]<=87)){
       for(i=0;i<11;i++){
    b1[i]=b[i];
  }
    b[0]=0;b[1]=(-9);b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
  }
  

    else if((a[1]<=87)&&(a[2]<=109)){
       for(i=0;i<11;i++){
    b1[i]=b[i];
  }
    b[0]=0;b[1]=0;b[2]=0;b[3]=(-7);b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
  }
  
  
   else if((a[2]<=109)&&(a[3]<=94)){
       for(i=0;i<11;i++){
    b1[i]=b[i];
  }
    b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=(-5);b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
  }
  
   
   else if((a[3]<=94)&&(a[4]<=95)){
       for(i=0;i<11;i++){
    b1[i]=b[i];
  }
    b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=(-3);b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
  }
  
  
   else if((a[4]<=95)&&(a[5]<=75)){
       for(i=0;i<11;i++){
    b1[i]=b[i];
  }
    b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=(-1);b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
  }
  
  
   else if((a[5]<=75)&&(a[6]<=79)){
       for(i=0;i<11;i++){
    b1[i]=b[i];
  }
    b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=1;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
  }
  
  
   else if((a[6]<=79)&&(a[7]<=75)){
       for(i=0;i<11;i++){
    b1[i]=b[i];
  }
   b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=3;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
  }
  
  
  
   else if((a[7]<=75)&&(a[8]<=82)){
       for(i=0;i<11;i++){
    b1[i]=b[i];
  }
    b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=5;b[16]=0;b[17]=0;b[18]=0;b[19]=0;b[20]=0;
  }
  
  
     else if((a[8]<=82)&&(a[9]<=75)){
       for(i=0;i<11;i++){
    b1[i]=b[i];
  }
    b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=7;b[18]=0;b[19]=0;b[20]=0;
  }
  
  
     else if((a[9]<=75)&&(a[10]<=75)){
       for(i=0;i<11;i++){
    b1[i]=b[i];
  }
    b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=0;b[18]=0;b[19]=9;b[20]=0;
  }
  
  
   else if((a[8]<=82)&&(a[9]<=75)){
       for(i=0;i<11;i++){
    b1[i]=b[i];
  }
    b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;b[5]=0;b[6]=0;b[7]=0;b[8]=0;b[9]=0;b[10]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=0;b[16]=0;b[17]=7;b[18]=0;b[19]=0;b[20]=0;
  }
  
  
    pb();

  
      


}
}
作者: aidongmingwei    时间: 2010-12-21 21:58
ding
作者: fuzi2008    时间: 2010-12-22 21:07

作者: baoge    时间: 2010-12-24 21:57
怎么没写解释啊
作者: 郭震2009    时间: 2011-1-11 15:02

作者: woshicjy    时间: 2011-1-27 16:15
谢了
作者: 3030    时间: 2011-3-17 17:38
没解释
悲剧
作者: 3030    时间: 2011-3-17 17:38
没解释
悲剧
作者: 3030    时间: 2011-3-17 17:38
没解释
悲剧
作者: 科大野狼    时间: 2011-3-18 00:30
谢啦
作者: bleachznc    时间: 2011-3-23 20:22
谢谢分享!
作者: Lermonto    时间: 2011-4-13 19:49
一开始还看到有注释的,慢慢的,就没有了!不过还是非常感谢楼主的果断分享!
作者: 转角踩到屎    时间: 2011-4-14 15:51
楼主胸怀令人佩服
作者: yym206    时间: 2011-4-14 17:34
谢啦
作者: tutufanfan    时间: 2011-4-14 18:00
没解释
悲剧
作者: 萝卜    时间: 2011-4-18 21:29
好淫啊,大大好
作者: 诗雨依然    时间: 2011-4-24 14:57
没注释
作者: 376924623    时间: 2011-4-24 15:37
谢谢
作者: czn911    时间: 2011-6-1 21:34
木有解释啊
作者: czn911    时间: 2011-6-1 21:34
木有解释啊
作者: diao    时间: 2011-7-16 17:53

作者: Jweih    时间: 2011-7-26 11:29
好的谢谢!
作者: 有志者事竟成    时间: 2011-7-29 11:45
楼主太好了
作者: 极品飞车    时间: 2011-12-14 12:50
楼主威武~虽然我看不懂!
作者: sunabeng    时间: 2011-12-25 19:01
好,就是不知道放到XS128里能不能用!!!
作者: mrabyss    时间: 2012-1-4 10:00
谢了
作者: kouku    时间: 2012-2-28 09:20
顶起
作者: 孤猪    时间: 2012-5-1 09:29
.......
作者: 新新新手    时间: 2012-5-7 21:04
有解释就更好了





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2