打印
[其他产品]

关于mega48 多通道AD转换的问题,转换结果相同

[复制链接]
55|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
powerantone|  楼主 | 2025-3-9 23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/******************************************************************************/
/*                     多通道AD实验程序                                       */
/******************************************************************************/

#include <iom48v.h>
#include <macros.h>
#define uint unsigned int
#define uchar unsigned char
uint temp1=0,temp4=0;

uint ADC_Convert(uchar channel)
{
  ADMUX |= channel; //选择ADC通道为PA0
  ADCSRA|=(1<<ADSC);// 开始转换
  while (!(ADCSRA&(1<<ADIF))); // 等待转换结束
  ADCSRA |=(1<<ADIF); // 清除转换结束标记
  return(ADCH);
}

void main(void)
{
  DDRD|=0x80;
  PORTD&=0x7F;

  DDRC&=0xEB;//ad通道输入设置
  ADCSRA=0x00;
  ADMUX |=0x60; //采用内部5参考电压,左对齐  
  ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);

  while(1)
  {
    temp1=ADC_Convert(2);
if(temp1>40)
PORTD|=0x80;

temp4=ADC_Convert(4);
if(temp4<40)
PORTD&=0x7F;
  }

}

使用特权

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

本版积分规则

599

主题

3025

帖子

4

粉丝