比如我做了一个十字路口红绿灯的控制程序:
1. 东西的道路为主干道,一般保持绿灯畅通,而南北向为人流很小的人行道,一般保持红灯禁行。当一行人想要通行南北向时,他可以通过按按钮使南北向转为绿灯而东西向则变为红灯,从而得以通过人行路口。
2.注意,按过按钮后南北向人行道绿灯通行时间为15秒,之后南北向恢复红灯而东西向主干道再次绿灯畅通,即回归初始状态。另外,恢复初始状态后的10秒内,一直保持东西绿南北红的状态,按钮不会起作用。
3.我的想法是,在P2.7口的输入中断子程序中,通过延时15秒使南北变绿东西变红15秒,先“关闭P2.7的中断使能”,以实现上面的:“恢复初始状态后的10秒内,一直保持东西绿南北红的状态,按钮不会起作用”。其中,“P2.7不起作用”的10秒时间由后面的“启动定时器”函数计时。
4.计满10秒后,在定时器中断子程序中再重新“打开P2.7中断使能”,同时“关闭定时器”。
5.c语言程序如下
问题是:为什么io中断无法关闭,定时器中断进不去?
现在我身边没有板子也没法验证,电路用延时验证过没问题,就是程序问题,请感兴趣的朋友帮忙看看可能是什么问题,谢谢大家