打印
[AVR单片机]

AVR Mega16的AD转换问题

[复制链接]
3637|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jinling14|  楼主 | 2010-4-13 16:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jinling14|  楼主 | 2010-4-14 09:27 | 只看该作者
怎么没人回答呢?自己顶一个了

使用特权

评论回复
板凳
yidou| | 2010-4-14 22:13 | 只看该作者
有图吗?发上来看看

使用特权

评论回复
地板
jinling14|  楼主 | 2010-4-15 19:23 | 只看该作者
电路很简单,所以没画电路图,现在改动如下:
采用内部2.56V作为参考电压,AVCC直接接5V,AREF通过0.1uf电容接地,采样通道采用ADC1,将ADC1直接接地,采样结果还是0xFF(采用左对齐,只取高8位),郁闷呀!
  注:因为没有外接电源,系统5V工作电压是通过USB口提供的,我想功耗应该足够了,因为只用来做AD转换和USART传输。

使用特权

评论回复
5
贾君鹏子| | 2010-4-15 20:38 | 只看该作者
友情帮顶

使用特权

评论回复
6
epsmc| | 2010-4-17 16:33 | 只看该作者
//==============================================================
//==============                void adc_init(void)          ================
//==============================================================
//ADC initialize
// Conversion time: 3uS
void adc_init(void)
{
        ADCSRA = 0x00; //disable adc
        ADMUX = 0x40; //select Vref: AVCC;  adc input 0
        ADCSRB = 0x00;
        ADCSRA = 0x8C;               
        //SET(ADCSRA,ADSC);
}
//===========================================================
//============                 adc_isr(void)                    ===============
//===========================================================
#pragma vector=ADC_vect
__interrupt void adc_isr(void)
{
        ADC_result=ADC;
        struc_flag.ADC_flag=1;
}
按LZ的第一个接法,没有问题

使用特权

评论回复
7
chenpan161| | 2010-4-18 15:57 | 只看该作者
要帮忙总得搞个图,源代码呀

使用特权

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

本版积分规则

16

主题

111

帖子

1

粉丝