当前位置:首页 > 单片机 > 单片机
[导读]//外部中断0,用于编码开关解码,解码图:A接中断脚(AVR的PD2),以此为基准,B用来判断方向(连到AVR的PA1),C接地 //A-| //|-----|__________|----------|____________ //C-| // //B-| //|----------|__________|

//外部中断0,用于编码开关解码,解码图:A接中断脚(AVR的PD2),以此为基准,B用来判断方向(连到AVR的PA1),C接地
//A-|
//|-----|__________|----------|____________
//C-|
//
//B-|
//|----------|__________|----------|____________
//C-|
//CW===>>>ROTATION
//外部中断设置(ISC01=0,ISC00=1):INT0引脚上任意的逻辑电平变化都将引发中断
#pragmainterrupt_handlerint0_isr:2
voidint0_isr(void)
{
//externalinteruptonINT0
GICR=0;//禁止外部中断
if((PIND&0x04)==0)//先判断是高电平产生的中断还是低点平的中断
if((PINA&0x02)==0)//再判断B线上的电平
{
keycounter--;
keydirection=0;
}
else
{
keycounter++;
keydirection=1;
}

else
if((PINA&0x02)==0)
{
keycounter++;
keydirection=1;
}
else
{
keycounter--;
keydirection=0;
}
GICR=0x40;
}

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