zhlf200212 发表于 2019-10-9 09:36 好像是我自己的思路错了,我想着按一下进中断触发灯不断闪烁,再按一下退出,这种思路是错的,中断按一下进去,处理结束就出来了,没有循环,那个循环亮灯也是主程序中的一部分,所以我所以为的退出中断后,那个引脚的电平会和闪烁最后的电平一样,也会受到主程序按键的影响 |
| 中断触发方式中把低电平触发改为下降沿触发。你用低电平触发可能会使中断多次发生。 |
csmyldl 发表于 2019-10-7 11:04 写错了 不是外部中断2,是外部中断1,标号是2,还有低电平触发方式也是,IT1.可是这现象还是保持,灯亮,进中断闪烁之后就不亮了,在按一下还是灭的 说明循环没错,回到主程序了,进中断之前引脚低电平,进中断之后,引脚自动拉高, |
| 51单片机有外部中断2没有?K2接在P30应该不是外部中断,K3接在P33应该是外部中断1,中断程序SHANSHUO()只有在按下K3时才进去,在该中断程序中又判断K3,逻辑混乱.主程序中IT0=0是控制外部中断0下降沿触发,这样外部中断1默认是低电平触发,当按下K3时是不断产生中断,但一旦松开,进入中断后,修改的EA=0可能无法回到EA=1,从而关闭了所有中断 |
一泓秋 发表于 2019-10-7 09:58 好的 谢谢你的建议 我会改正的,刚学没多久 ,有点省时间了,本来以为逻辑没问题就搞定了,,没想到结果出了问题 忘记修改了 |
| 版主这样的程序令人看着就头疼,我们定义的时候不仅要让自己看明白,还得让别人看明白 |