您现在的位置: 主页 > MCU > 单片机技术应用 > ATmega128 A/D 学习 -
本文所属标签:
为本文创立个标签吧:

ATmega128 A/D 学习 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]#include #include #include //中断函数头文件//函数声明void Port_Init(void); //端口初始化配置void Compare_Init(void);//模拟比较器初始化设置int main(void) { Port_Init(); Compare_Init();

#include
#include
#include //中断函数头文件

//函数声明
void Port_Init(void); //端口初始化配置
void Compare_Init(void);//模拟比较器初始化设置

int main(void)
{
Port_Init();
Compare_Init();

DDRA=0XFF;
PORTA=0X00;//设置低电平,让所有灯亮


sei(); //使能全局中断

while(1)
{
if(ACSR & (1 << ACO)) //判断ADC0的电压是否大于1.22V
{
PORTA = 0X01; //低于1.22V,D1点亮,
}
else
{
PORTA = 0X02; //高于1.22V,D2点亮,
}
}
}

//端口状态初始化设置函数
void Port_Init()
{
//PORTF = 0X00;
DDRF |= (1 << PF1) | (1 << PF0); //PF0、PF1(代表滑动变阻器)设置为输出

}

//模拟比较器初始化函数
void Compare_Init()
{
SFIOR |= (1 << ACME);//使用ADC多路复用器选择ADC的模拟输入端口
//作为模拟比较器反向输入端的信号源。
//同时选择ADC的ADC0作为输入端,并且关闭AD转换的使能
ACSR |= (1 << ACBG); //允许模拟比较器,AIN0设置为内部固定能隙参考电源1.22V
}

本文引用地址: http://www.21ic.com/app/mcu/201807/778390.htm



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > ATmega128 A/D 学习 -
 

"ATmega128 A/D 学习 -"的相关文章

网站地图

围观()