51单片机中断函数运行函数切换?

main主程序一定要加WHILE死循环要不然main函数执行完会执行后面的代码,程序到处乱跳无法预料各种结果


跳转指令是程序转移的与是否執行中断服务程序无关。在主程序中在子程序中,在中断服务程序中都会有跳转指令的不要以为中断服务程序中就 不能有跳转指令了,有什么可大惊小怪

你对这个回答的评价是?

我想做一个按键的程序用p3.2的外蔀中断响应按键。我想实现长按2s再执行相应的操作,可就是在这个2s的延时问题上出现了问题在程序中,我还用到了定时器0的定时中断是两个中断之间有冲突吗?但是如果在在外部中断服务函数里我要是不调用其他函数就没有问题。

这个是外部中断服务函数

我把延时程序写在里面就没有问题,可是被注释掉的那句delayms(2000);就不行,它掉用的是下面的子函数还有就是调用display();数码管显示函数。也不行


问题的症状就是,一按p3.2的按键貌似cpu就死机了。数码管就只显示乱码了(如下图)
正常情况下,应该是长按p3.2的按键2s,数码管进入闪烁模式

還有一个最终问题,就是如果p3.2长按2s在这2s内数码管是熄灭的,所以我想调用显示函数可是不行。还有什么方法能做到在这2s的等待时间里还能操作数码管的动态显示吗?(前提我的数码管是动态显示,不用静态的)


按下p3.2的按键后显示不正常,且长时间都这样我觉得昰cpu死机了 (原文件名:1.jpg)

我要回帖

更多关于 单片机中断函数 的文章

 

随机推荐