微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机中如何延时运行两个程序。A端口动作8s,3s的时候B端口动作。8s的时候A关闭,11s的时候B关闭。

单片机中如何延时运行两个程序。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的执行

可以用定时器中断来解决这个问题,用两个定时器,各记各的,或者用一个定时器,用两个计时变量来计数。

定时器加状态机  这是比较好的处理方法

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top