其实这个您可以再中断处理函数里执行判断按键程序啊
if(KEY_P12 ==0) //如果P1.2被按下,则对应程序跳出,或者关闭主函数中正在运行的程序
{
LED12 = 0; //关闭LED12灯
SYS_STATUS = SYS_ONES; //让系统状态进去到另一个系统状态即可啊。
}
如果可以,外加一个或电路。接外中断。这样,任何一个按键按下都可以引发中断。在中断中,再进行判断是哪个按键引发的中断。从而调用相应的处理程序。
如果对于实时要求不高,也可以采用轮询方式。
在主循环中轮询按键状况。也可以用时钟中断。时钟中断中轮询按键状况。
题目是:51单片机P0口检测按键
而后说:P1.2 P1.3 P1.4接三个按键。
好像是电路接错了。
原理图可以改为下图:
并且在程序,单片机p0.0端口
要
初始化为低电平;
仿真时,r5可以选择1k左右,实际电路中应选择4.7k~10k,不然太让费电了。