智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 6504|回复: 28
打印 上一主题 下一主题

果断分享 要什么贡献???

  [复制链接]

2

主题

8

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
威望
180
贡献
33
兑换币
0
注册时间
2010-12-1
在线时间
0 小时
跳转到指定楼层
1#
发表于 2010-12-1 23:27:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#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();

  
      


}
}

3

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
484
QQ
威望
356
贡献
110
兑换币
0
注册时间
2010-12-3
在线时间
9 小时
2#
发表于 2010-12-21 21:58:56 | 只看该作者
ding
回复 支持 反对

使用道具 举报

2

主题

116

帖子

0

精华

高级会员

专业打酱油

Rank: 4

积分
608
QQ
威望
361
贡献
147
兑换币
5
注册时间
2010-11-18
在线时间
50 小时
3#
发表于 2010-12-22 21:07:26 | 只看该作者
回复 支持 反对

使用道具 举报

21

主题

348

帖子

0

精华

功勋会员

大将

Rank: 10Rank: 10Rank: 10

积分
9534

资源大师奖章论坛骨干奖章优秀版主奖章

QQ
威望
827
贡献
8337
兑换币
0
注册时间
2009-11-17
在线时间
185 小时
4#
发表于 2010-12-24 21:57:50 | 只看该作者
怎么没写解释啊
回复 支持 反对

使用道具 举报

9

主题

98

帖子

0

精华

高级会员

Rank: 4

积分
721
QQ
威望
364
贡献
105
兑换币
18
注册时间
2010-1-13
在线时间
126 小时
5#
发表于 2011-1-11 15:02:53 | 只看该作者
回复 支持 反对

使用道具 举报

1

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
445
QQ
威望
343
贡献
70
兑换币
2
注册时间
2011-1-27
在线时间
16 小时
6#
发表于 2011-1-27 16:15:07 | 只看该作者
谢了
回复 支持 反对

使用道具 举报

0

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
威望
204
贡献
51
兑换币
0
注册时间
2011-2-23
在线时间
5 小时
7#
发表于 2011-3-17 17:38:00 | 只看该作者
没解释
悲剧
回复 支持 反对

使用道具 举报

0

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
威望
204
贡献
51
兑换币
0
注册时间
2011-2-23
在线时间
5 小时
8#
发表于 2011-3-17 17:38:06 | 只看该作者
没解释
悲剧
回复 支持 反对

使用道具 举报

0

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
威望
204
贡献
51
兑换币
0
注册时间
2011-2-23
在线时间
5 小时
9#
发表于 2011-3-17 17:38:12 | 只看该作者
没解释
悲剧
回复 支持 反对

使用道具 举报

8

主题

126

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1135
QQ
威望
614
贡献
153
兑换币
7
注册时间
2010-11-26
在线时间
184 小时
10#
发表于 2011-3-18 00:30:06 | 只看该作者
谢啦
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-5 20:37 , Processed in 0.441284 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表