打印
[AVR单片机]

用ATmega8做AD仿真实验,初始化AD需要注意些什么?

[复制链接]
3797|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bear15888|  楼主 | 2009-7-30 16:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1.端口设置为输入模式。
  2.AD初始化时,选择参考源,选择通道,选择对齐方式;
                关闭模拟比较器;使能AD,启动AD,选择分频
       如果使用中断,就要允许中断。
        不实用中断,置位连续转换模式。

void AD_Init()
{   
   DDRC=0X00;
   PORTC=0X00;                   //C口输入模式,引脚三态高阻
   ADCSRA=0X00;                 //禁止ADC工作
   ADMUX|=(1<<REFS0)|(1<<ADLAR);  //ADC参考电压为AVcc,ADC结果左对齐,选择通道ADC0
   ACSR=(1<<ACD);                 //关闭模拟比较器
  //ADCSRA|=(1<<ADEN)|(1<<ADSC)|(1<<ADFR)|(1<<ADPS2)|(1<<ADPS1);   //使能AD转换,64分频,启动,连续转换模式
   ADCSRA|=(1<<ADEN)|(1<<ADSC)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1);   //使能AD转换,64分频,启动,单次转换模式
}

虽然这样做了,可是AD还是开启不了,是不是硬件输入端有问题。因为书上描述过模拟输入电路所产生的信号必须能够有效地通过该ADCn引脚内部1.1K串联电阻驱动S/H(采样保持器)电容工作。

相关帖子

沙发
bear15888|  楼主 | 2009-7-30 16:34 | 只看该作者

忘记说明了.

   我的硬件输入电路很简单,就是一个5V用1K电位器分压送给ADC0口。

使用特权

评论回复
板凳
bear15888|  楼主 | 2009-7-30 20:11 | 只看该作者

问题已经找到答案

     以上1,2只是我所说的在软件方面注意事项,在硬件方面,我天真的以为PROTEUS给我接好了AVCC这个引脚,当我将AVCC接上5V时,AD就能动了。

使用特权

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

本版积分规则

9

主题

188

帖子

2

粉丝