找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5060|回复: 6
打印 上一主题 下一主题
收起左侧

单片机程序处理中断程序之后为什么没有回到主程序?

[复制链接]
跳转到指定楼层
楼主
我用两个按键控制LED,一个K1控制亮灭,一个按键K2接外部中断2控制启动闪烁,当K1控制灯亮时打开外部中断2,关闭外部中断2,灯时灭的,但是再按一下灯还是灭的,因为我控制的是低电平,灯亮,我量过引脚电压,中断结束之后引脚自动跳高。我也用引脚高电平灯亮试过了也是自动跳高,这部分该怎么处理,下面是我的程序   帮忙分析一下  非常感谢。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:584556 发表于 2019-10-7 09:58 | 只看该作者
版主这样的程序令人看着就头疼,我们定义的时候不仅要让自己看明白,还得让别人看明白
回复

使用道具 举报

板凳
ID:586438 发表于 2019-10-7 10:40 | 只看该作者
一泓秋 发表于 2019-10-7 09:58
版主这样的程序令人看着就头疼,我们定义的时候不仅要让自己看明白,还得让别人看明白

好的  谢谢你的建议  我会改正的,刚学没多久 ,有点省时间了,本来以为逻辑没问题就搞定了,,没想到结果出了问题  忘记修改了

回复

使用道具 举报

地板
ID:235200 发表于 2019-10-7 11:04 | 只看该作者
51单片机有外部中断2没有?K2接在P30应该不是外部中断,K3接在P33应该是外部中断1,中断程序SHANSHUO()只有在按下K3时才进去,在该中断程序中又判断K3,逻辑混乱.主程序中IT0=0是控制外部中断0下降沿触发,这样外部中断1默认是低电平触发,当按下K3时是不断产生中断,但一旦松开,进入中断后,修改的EA=0可能无法回到EA=1,从而关闭了所有中断
回复

使用道具 举报

5#
ID:586438 发表于 2019-10-7 13:51 | 只看该作者
csmyldl 发表于 2019-10-7 11:04
51单片机有外部中断2没有?K2接在P30应该不是外部中断,K3接在P33应该是外部中断1,中断程序SHANSHUO()只有在 ...

写错了  不是外部中断2,是外部中断1,标号是2,还有低电平触发方式也是,IT1.可是这现象还是保持,灯亮,进中断闪烁之后就不亮了,在按一下还是灭的  说明循环没错,回到主程序了,进中断之前引脚低电平,进中断之后,引脚自动拉高,
回复

使用道具 举报

6#
ID:620877 发表于 2019-10-9 09:36 | 只看该作者
中断触发方式中把低电平触发改为下降沿触发。你用低电平触发可能会使中断多次发生。
回复

使用道具 举报

7#
ID:586438 发表于 2019-10-9 10:48 | 只看该作者
zhlf200212 发表于 2019-10-9 09:36
中断触发方式中把低电平触发改为下降沿触发。你用低电平触发可能会使中断多次发生。

好像是我自己的思路错了,我想着按一下进中断触发灯不断闪烁,再按一下退出,这种思路是错的,中断按一下进去,处理结束就出来了,没有循环,那个循环亮灯也是主程序中的一部分,所以我所以为的退出中断后,那个引脚的电平会和闪烁最后的电平一样,也会受到主程序按键的影响
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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