智能车制作

标题: AD的结果错误 [打印本页]

作者: 没文化    时间: 2012-2-19 08:55
标题: AD的结果错误
void SET_ATD(void) {

  ATD0CTL1=0x20;     //0010 0000  10BIT AN_0;
  ATD0CTL2=0x40;     //0100 0000  禁止中断;
  ATD0CTL3=0x08;     //0000 1000  左对齐,序列为1;
  ATD0CTL4=0x05;     //0000 0101  12分频 采样时间4倍周期
  ATD0CTL5=0x20;     //0010 0000  连续转换 单通道 ;
  ATD0DIEN=0;        //禁止数字输入
}

void read_data(void){

  while(!ATD0STAT0_SCF);
  number=ATD0DR0H;
  PORTA=(byte)number;
  number=ATD0DR0L;
  PORTB=(byte)number;
}

void main(void) {

  SET_ATD();
  DDRA=0xFF;
  PORTA=0;
  DDRB=0xFF;
  PORTB=0;
  for(;;) {

    read_data();
  }
为什么AD的结果接到发光二极管上老是错误,参考电压为5v,当输入为零的时候最低位的3个灯也不会灭,求高手指点!


作者: qinlu123    时间: 2012-2-19 09:18
number前不加(byte)不强制类型转化,你试试




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