美文网首页
EX14AVR ATmega8A 模拟比较器

EX14AVR ATmega8A 模拟比较器

作者: 山前雨1 | 来源:发表于2018-06-14 10:31 被阅读12次

//EX14AVR ATmega8A 模拟比较器//author:QI小米粥//data:2018.3.17#include#includevoid init_io(void)

{

DDRB |=BIT(1);//设置为输出

DDRD &=~BIT(7);//AIN1设置为输入

PORTD |=BIT(7);//上拉电阻

DDRD &=~BIT(6);//AIN0设置为输入

PORTD |=BIT(6);//上拉电阻

SFIOR &=~BIT(2);

}

void init_ac(void)

{

SFIOR &=~BIT(3); //选择AIN1作为VIN-

ACSR &=~BIT(6); //选择内部的间隙电压源2.56V可能不是很准,0不用AIN0作为VIN+

ACSR &=~BIT(1); //比较中断产生在反转

ACSR &=~BIT(0);

ACSR &=~BIT(2);//AC和TC1的输入捕捉之间没有什么关系

ACSR |=BIT(3);//模拟比较器中断使能

ACSR &=~BIT(7);//模拟比较器供电

SREG |=BIT(7);//开全局中断

}

void main(void)

{

int a;

init_io();

init_ac();

while(1)

{

a=ACSR & BIT(5);//读ACO//两个&会让PORTB量

if(a)

{PORTB |=BIT(1);}

if(~a)

{PORTB &=~BIT(1);}

}

}

相关文章

网友评论

      本文标题:EX14AVR ATmega8A 模拟比较器

      本文链接:https://www.haomeiwen.com/subject/glbeeftx.html