智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3135|回复: 3
打印 上一主题 下一主题

[采集类] AD转换

[复制链接]

3

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
威望
272
贡献
48
兑换币
14
注册时间
2010-11-23
在线时间
27 小时
跳转到指定楼层
1#
发表于 2011-4-27 21:16:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
#include <hidef.h>
#include "derivative.h"
#include <mc9s12dg128.h>
#pragma LINK_INFO DERIVATIVE "mc9s12dg128"
unsigned int ad_value[4]={0};   //ad采样值

void PLL_Init(){
  CLKSEL=0x00;   //选择时钟源为外部晶振OSCLK
  PLLCTL=0x81;   //禁止锁相环PLL
  REFDV=0x01;   //PLLCLK=2*OSCLK*(SYNR+1)/(REFDV+1)
  SYNR=0x02;   //锁相环时钟=2*16*(2+1)/(1+1)=48MHz,总线时钟=PLLCLK/2=24MHz
  PLLCTL=0xc6;   //打开PLL电路,允许时钟监控,实时中断允许,允许看门狗
  _asm(nop);
  _asm(nop);   //等待一段时间
  while(!CRGFLG_LOCK);
  CLKSEL=0xc0;   //选定锁相环时钟,伪停止模式
}

void ATD_Init(){
  ATD0CTL2=0xc0;   //关闭模块电源,自动清除相应CCF标志位,A/D转换继续,下降沿捕捉,中断禁止
  ATD0CTL3=0x20;   //转换序列长度4,非先进先出,继续转换
  ATD0CTL4=0x81;   //8位,2个转换时钟周期,PRS=3,diveder=8,ATD=0.5*BUSCLK/(PRS+1)
  ATD0CTL5=0xb0;   //右对齐,无符号数,连续转换序列,多道采集,AN0开始
  ATD0DIEN=0x00;   //禁止数字输入缓冲
}

void AD_Getvalue(unsigned int *ad_value){
  ATD0CTL5=0xb0;   
  
  while(!ATD0STAT1_CCF0);
    ad_value[0]=ATD0DR0;
  
  while(!ATD0STAT1_CCF1);
    ad_value[1]=ATD0DR1;
   
  while(!ATD0STAT1_CCF2);
    ad_value[2]=ATD0DR2;
  
  while(!ATD0STAT1_CCF3);
    ad_value[3]=ATD0DR3;
}

void main(){
ATD_Init();
PLL_Init();

DDRB=0xff;
PORTB=0x00;

for(;;){
  
   
    AD_Getvalue(ad_value);
   
   
  }
}

这样的程序,为何采不到样?就算把线贴到传感器上了,在CW里看,寄存器的值始终都是0??
求解释

2

主题

99

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6961

论坛元老奖章优秀会员奖章

威望
533
贡献
6340
兑换币
0
注册时间
2011-3-2
在线时间
44 小时
2#
发表于 2011-5-9 11:11:52 | 只看该作者
寄存器配置错了   你看的资料是旧的吧
回复

使用道具 举报

2

主题

18

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
333
威望
266
贡献
57
兑换币
4
注册时间
2011-7-28
在线时间
5 小时
3#
发表于 2011-8-16 10:49:16 | 只看该作者
问题应该在AD时钟配置上面
你这一句有问题:ATD0CTL4=0x81;   //8位,2个转换时钟周期,PRS=3,diveder=8,ATD=0.5*BUSCLK/(PRS+1)。配置的AD时钟为3MHz,查数据手册是不大于2MHz。这个必须改过来。
回复

使用道具 举报

1

主题

53

帖子

0

精华

高级会员

Rank: 4

积分
772
威望
495
贡献
171
兑换币
2
注册时间
2011-5-12
在线时间
53 小时
4#
发表于 2011-11-29 09:02:12 | 只看该作者
这个问题解决了吗?我也想知道为什么
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 19:37 , Processed in 0.114885 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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