找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机外部中断程序问题

查看数: 1326 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-7-3 15:48

正文摘要:

这个程序我想做的是学习外部中断利用INT0的下降沿触发方式写了一个两个按键控制两个led的小程序 功能是按下普通键key2,led2点亮,在点亮的过程中在按下key具有中断功能的一个按键对应的led1点亮,led2熄灭, 再把 ...

回复

ID:789476 发表于 2020-7-4 12:25
不要黑 发表于 2020-7-4 00:03
IT0=1是检测到边沿触发中断,按你的想法应该是IT0=0设置电平触发,这样中断按键KEY按下时才会一直运行在中 ...

奥  想让他一直显示就可以用低电平触发方式吧
ID:789121 发表于 2020-7-4 00:03
IT0=1是检测到边沿触发中断,按你的想法应该是IT0=0设置电平触发,这样中断按键KEY按下时才会一直运行在中断函数。如果边沿触发,中断函数运行一遍就会退出,也就是LED2一闪而过,看不到现象
ID:789121 发表于 2020-7-3 23:53
如果按下KEY2 LED2亮,应该写成
if(KEY2==0)
        {        
         LED2=0;
         delay(100);
        }
取反是灯闪烁,如果延时不够,现象就不对
ID:789476 发表于 2020-7-3 15:48
这个程序我想做的是学习外部中断利用INT0的下降沿触发方式写了一个两个按键控制两个led的小程序
功能是按下普通键key2,led2点亮,在点亮的过程中在按下key具有中断功能的一个按键对应的led1点亮,led2熄灭,
再把带有中断的key按键下进行led1的熄灭,然后led2就应该再次回到入中断的地方也就是LED2再次亮,
可是我这个程序当key再次按下,LED1灭,但是led不在点亮,我感觉应该是中断程序最后那一句的问题,LED2=1;
这里我不知道该如何写了,希望帮忙解决一下。谢谢

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表