当前位置:首页 > 单片机 > 单片机
[导读]#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
}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭