智能车制作

标题: AD转换的问题求助 [打印本页]

作者: gracesky1194    时间: 2011-1-28 17:00
标题: AD转换的问题求助
小弟打算把AD采样的值用4位8段数码管显示出来,程序不知道哪里出错了,就是显示不正确,哪位高人能指点指点啊!

void main(void)
{  /* put your own code here */
   uint temp;
   uint getdata;
  
  ADCInit();   //AD初始化
  DDRA = 0xFF;   //端口定义为out
  DDRB = 0xFF;   //端口定义为OUT
  PORTA  = 0xFF;   //端口拉1, on  LED
  PORTB  = 0xFF;   //端口拉1,off LED
  
  /* put your own code here */
  EnableInterrupts;
  for(;;)
  {   
      ATD0CTL5=0xA0;
        
      while(!ATD0STAT0_SCF);  //等待转换结束
        
      getdata =ATD0DR0;  ****问题估计出在这里,AD结果寄存器的数据能这样用么?我仿照的是ADC0809的程序********
      
      temp=(getdata)/255*500;
   
      dispbuf[0]=temp%10; // 个位
      dispbuf[1]=temp/10%10;//十位
      dispbuf[2]=temp/100%10;//百位
      dispbuf[3]=temp/1000;//千位
      Display();
   
  } /* wait forever */
  /* please make sure that you never leave this function */
}
作者: liguangya    时间: 2013-7-15 14:19
直接将(getdata)给IO端口就可以了啊,转换出来的是二进制数据了
作者: 空相救心    时间: 2013-7-30 19:47
=ATD0R0L




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