智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1228|回复: 1
打印 上一主题 下一主题

[软件类] 电磁车采样问题

[复制链接]

2

主题

6

帖子

0

精华

注册会员

Rank: 2

积分
145
威望
87
贡献
38
兑换币
42
注册时间
2014-3-21
在线时间
10 小时
毕业学校
安徽工业大学
跳转到指定楼层
1#
发表于 2014-3-21 20:57:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
/////////////////////////////PLL锁相环/////////////////////////
  unsigned char a,b;
void PLL_Init()
{

        //设置总线频率为24M
       
        //set BUS CLK=24M;
        //OSCCLK=16M;
        //SYNDIV=2;
        //REFDIV=1;
        //POSTDIV=0;
        //PLL CLK=2*16*(2+1)/(1+1)=48M;
        //VOC CLK=PLL CLK=48M;
        //f REF=16/2=8M
        //SYNR register=00000010B;
        //REFDV register=10000001B;
        //BUSCLK=48/2=24M
        CLKSEL=0X00;
        PLLCTL_PLLON=1;
        POSTDIV=0X00;
        SYNR=0X02;
        REFDV=0X81;
        _asm(nop);           //空操作,等待锁相环完成
        _asm(nop);        //空操作,等待锁相环完成
        while(CRGFLG_LOCK==0)
                ;
        CLKSEL_PLLSEL=1;
}



void AD_Init(void)    //对AD初始化 多通道连续转换
{
  ATD0CTL1=0x00;//无外部触发,八位精度,采样前不放电;
  ATD0CTL2=0xc0;//AD模块上电,快速标志位清零  
  ATD0CTL3=0xc4;//标志位自动清零,禁止外部触发,禁止中断。每次转换8个序列
  ATD0CTL4=0x02;//8位精度,1000 两个AD时钟周期 预分频数为5。AD=24/2/(2+1)
  ATD0CTL5=0x30;//右对齐,无符号,连续转换,多通道转换;
  ATD0DIEN=0x00;//对AD端口进行使能;
}


void AD_Data(void)         //采样并求转换结果的平均值
{
int i=0,j=0;

for(i=0;i<16;i++)             //连续采样20次
{
//采集AD0口数据
        while(!ATD0STAT2_CCF0)           //ATD0STAT2_CCF0为0,即通道0转换未完成,什么都不做,循环检测
        ;
        a+=ATD0DR0;       //否则,即ATD0STAT2_CCF0为1,转换完成,将转换结果累加到AD_Data_Sum[0]中
//采集AD1口数据       
        while(!ATD0STAT2_CCF1)           //ATD0STAT2_CCF1为0,即通道1转换未完成,什么都不做,循环检测
        ;
        b+=ATD0DR1;
}
  a=a/16;
          b=b/16;

}

void main(void) {

  PLL_Init();
  AD_Init();

  DDRB=0xFF;
  PORTB=0x00;
  EnableInterrupts;
for(;;)
{

  AD_Data();

}





   /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
在采样过程中数据总是跳动,怀疑是初始化问题,可也找不到结果!求大神解答

回复

使用道具 举报

14

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1252
威望
685
贡献
343
兑换币
403
注册时间
2012-11-30
在线时间
112 小时
毕业学校
成都大学
2#
发表于 2014-3-22 12:10:58 | 只看该作者
如果是在很小的范围波动的话,属于正常情况!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 19:54 , Processed in 0.078930 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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