打印
[AVR单片机]

ATmega128的模数转换器

[复制链接]
2760|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaomifan|  楼主 | 2010-5-24 22:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,有问题请教一下。
    我用ATmega128的模数转换器来从外部读入数据,但是转换后结果data1.T输出为零,请你帮我看一下程序。要是有关于ATmega128单片机模数转换器方面的编程实例的话也请发上来,让偶学习下
程序如下:
//----模数转换器初始化---//
void adc_initial(void)
{
DDRA=0x00;//把PA端口设为输入
ADCSRA=0xe3;//AD工作在自由转换模式
ADMUX=0xc0;//选择ADC输入通道0
PORTA=0XFe;
DDRA=0XFe;//将PA端口的最低位设为输入
}
uint ADCT_Convert(void)
{
uint temp1,temp2;
temp1=(uint)ADCL;
temp2=(uint)ADCH;
temp2=(temp2<<8)+temp1;
return(temp2);
}
//----温度 A/D转换----//
void AD_convert_T()
{i1=0;
ADCSRA|=0xe3;
wait:
if(ADCSRA>=0xc0)
  goto wait;
else
  {
  a1=temp2;
  }
  if(a1<160)
  a1=160;
}
//----温度标度变换-----//
void Temp_convert()
{
b1=800;c1=100;     //选取温度0~100,模拟输入0.4-2v,转换结果160-800(ADC=V*255/5)
e1=160;
data1.T=(int)((a1-e1)*c1/(b1-e1));
}

相关帖子

沙发
tiger2010| | 2010-5-25 13:29 | 只看该作者
不懂,帮顶了~~~

使用特权

评论回复
板凳
chen3bing| | 2010-5-25 14:05 | 只看该作者
a1=temp2;
这一句有错吧。
a1=ADCT_Convert();

使用特权

评论回复
地板
huamunv| | 2010-5-25 21:23 | 只看该作者
到下载区看看有没有例子

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

305

帖子

1

粉丝