请帮忙在51系列单片机系统中,编写一个延时1ms的子程序。谢谢。。

请帮忙在51系列单片机系统中,编写一个延时1ms的子程序。谢谢。。,第1张

1、首先,在电脑中打开keil软件,创建好工程,然后添加c文件,如下图所示

2、然后添加c文件,接下来输入代码,先输入一个头文件命令。

3、然后,进行宏定义,代码如图所示。

4、然后声明P1口,如下图所示。

5、最后,将延时语句全部添加进去,代码按照图中所示的直接敲入即可。

6、最后,点击编译,生成HEX文件就可以了,这样51单片机延时语句就完成了。

登..录ECS700阀门控制器,在主界面点击“参数”,进入参数设置界面

2.

点击“关阀延时”,进入关阀延时设置界面

3.

在“关阀延时”栏中设置所需的延时时间,单位为秒

4.

设置完成后,点击“确定”,保存设置。

1、是微秒,不是毫秒。

2、不要求精确。(如:最终延时了3微秒,也是可以接受的)

3、延时过程中,要求CPU占用率,要为零。不能是下面形式,下面while形式,cpu占用率是满爆的。

while(true)

{

读取精确到微秒时间

时间计数

计数比较

.........

}

4、std::this_thread::sleep_for(std::chrono::microseconds(1))这种方法试过来,实际上只是1毫秒,不是1微秒。

5、用Socket的select也试过了,struct timeval tv虽然有微秒的设置,但是,当tv_usec小于1000以下,全都是1毫秒。

6、std::timed_mutex mtx的成员函数try_lock_for(std::chrono::microseconds(1))也试过了,实际上,也只是1毫秒,不是1微秒。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11349160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存