您的位置 首页 测评

IAR 下 AVR 的外部中止操作

芯片:ATMega16晶振:7.3728MHz外部中断0,下降沿触发。关于硬件:要想稳定的使用外部中断,最好要在管脚处上拉一个电阻(一般…

芯片 : ATMega16

晶振 : 7.3728 MHz

外部中止0 ,下降沿触发。

关于硬件:要想安稳的运用外部中止,最好要在管脚处上拉一个电阻(一般上拉10K,当然上拉仍是下拉也要看你的触发条件),如果是按键的话应该再并一个电容(一般为104),这样作用会比较好,有用的避免颤动

代码:

#include
#include
#include

voidint0_init()
{
_CLI(); //disable all interrupts//关总中止

MCUCR = 0x02;//下降沿触发 外部中止0
GICR = 0x40; //使能 外部中止0
GIFR_INTF0 = 1;//铲除 外部中止0 标志位

_SEI(); //re-enable interrupts//开总中止
}

voidmain(void)
{
DDRB_Bit0 = 1; //界说一个led
int0_init();

while(1);
}

#pragma vector = INT0_vect //外部中止0进口地址
__interrupt voidex_int0(void)
{
PORTB_Bit0 = ~PORTB_Bit0; //每次进入中止让一个led 由亮变灭,由灭变亮
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/252170.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部