纪客老白每日答疑我手上有个STC51单片机,目前采用的是软件延时,但其实时性存在问题,计划采用定时器0来实现延时,目前还不太清楚该如何具体实施.
发布时间
阅读量:
阅读量

【学生提问如下:
教师,我目前手头有一款stc51单片机,当前采用的是软件延时方式,但其在实际应用中的实时性表现不佳,已暴露出一些明显的问题。因此,我计划改用定时器0来实现延时功能,不过目前尚不清楚如何更有效地进行实现。
我的初步想法是:将定时器设置为每1ms触发一次,并已完成相关配置。随后定义20ms、50ms、100ms以及500ms的变量和对应的标志位。当这些变量达到设定的时间值后,相应的标志位将被置为1。
我现在存在疑问的是:在主函数中应该如何具体实现这些延时操作?
以下是我目前使用的代码片段,希望将其修改为基于定时器的延时方式。然而,由于当前代码的实时性较差,我感到有些困惑:
Y07=1;
delay_ms(20);
Y01=0;
if (x01==0)
{
Y02=0;
delay_ms(500);
if (x05 == 0)
{
Y04=0;
delay_ms(100);
Y06=1;
}
【}
**白纪龙老师解
全部评论 (0)
还没有任何评论哟~
