智能车制作

标题: AD转换数值不对…… [打印本页]

作者: kenuo1991    时间: 2010-4-10 09:43
标题: AD转换数值不对……
请问各位,为什么我的AD转换的数只有0 64 128 192 呢?我直接接VRH的时候是192 接VRL的时候是0 接其他的就一直在这几个数中跳动~下面是我的程序
void atd_init(void)
{
ATD0CTL2=0xc0;//电源;中断;外部触发;设置
ATD0CTL3=0x00;//队列长度,保持默认即可
ATD0CTL4=0x8e;//8位精度 2MHz的转换速度
//ATD0CTL5=0x80;//对齐格式 队列 通道 设置 转换启动  
}
void main(void)
{
unsigned int a,b;
  /* put your own code here */
   SET_PLL();//设置总线时钟为60MHz
//  uart_init();//初始化SCI通信接口
//  mynum=uart_in();
//  ext_init();//外部中断初始化
//  ect_init();
   initLCD();
//  DS1302Init(&time[0]);
/*  setpos(0,1);
  LCDsendstr("DreamCar启动");
   setpos(2,1);
   LCDsendstr("长按运行");
   setpos(3,1);
   LCDsendstr("短按调试"); */
//  keyinit();
//  while(key());
//  pwm_init();
atd_init();
  EnableInterrupts;
  for(;;) /* wait forever */
  {
ATD0CTL5=0x80;//启动转换
while(!(ATD0STAT0&0x80));
CCD[0]=ATD0DR0L;
CCD[1]=ATD0DR1L;
CCD[2]=ATD0DR2L;
CCD[3]=ATD0DR3L;
CCD[4]=ATD0DR4L;
CCD[5]=ATD0DR5L;
CCD[6]=ATD0DR6L;
CCD[7]=ATD0DR7L;
setpos(0,0);
LCDsend(0x30+(CCD[0]/100),1);
LCDsend(0x30+(CCD[0]/10)%10,1);
LCDsend(0x30+(CCD[0]%10),1);
setpos(1,0);
LCDsend(0x30+(CCD[7]/100),1);
LCDsend(0x30+(CCD[7]/10)%10,1);
LCDsend(0x30+(CCD[7]%10),1);
  }
  /* please make sure that you never leave this function */
}
作者: laugh007smile    时间: 2010-4-10 09:43
但从程序看,你初始化是错误的
作者: kenuo1991    时间: 2010-4-11 15:08
MC9S12XS128和MC9SDG128 AD 这一块的差别好大啊~功能差别不是很大,可是它寄存器差别太明显了……还有就是XS128的AD转换最高频率不是2MHz
作者: he251125    时间: 2010-4-13 23:29
最高频率不是2MHz???????????????
作者: kenuo1991    时间: 2010-4-14 20:30
回复 4# laugh007smile


    是的,这个是dg初始化的程序,xs的不是这样…
作者: zqscdd    时间: 2010-5-13 14:31
!!!!
作者: 风少    时间: 2012-5-5 21:22
zqscdd 发表于 2010-5-13 14:31
!!!!

0.25-8.3MH




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