单片机中如何延时运行两个程序。A端口动作8s,3s的时候B端口动作。8s的时候A关闭,11s的时候B关闭。
时间:10-02
整理:3721RD
点击:
你可以把延时分成时间片,这样的话CPU就不会只做一件事情了,如果你想给程序A延时8秒,程序B延时3秒,如果不把延时分成时间片的话,那么CPU就会总共延时11秒,而且还有可能达不到你想要的结果,如果就用一个延时8秒,舍弃3秒的延时,这样两个程序共用8秒,你把8秒分成1000份,一份就是8MS,这样当进行到3000MS时,你的B程序就执行你想要的程序,同时不影响A程序的进程,当进行到8000MS时,程序A开始执行你想要的结果,同时不影响你的程序B的执行
可以用定时器中断来解决这个问题,用两个定时器,各记各的,或者用一个定时器,用两个计时变量来计数。
定时器加状态机 这是比较好的处理方法