如果延时程序这样写 对不对???

2019-07-16 00:50发布

void delay(uint z)
{
        uint x;
        TMOD=0x01;//T0选择工作方式一,16位定时器
        TR0=0;//T0关
        for(x=z;x>0;x--)
        {
           TH0=(65536-55536)/256;
           TL0=(65536-55536)%256;//定时10ms
           TR0=1;//T0开       
        }
}

我是这样考虑的,用定时器T0的工作方式一,定时10ms。

用for语句的循环功能,对其循环控制。

z等于几,就是循环几次,也就是说延时几个10ms。

如果不满足for中的表达式2,则进入语句,进行动作,然后再求解表达式3.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
爱﹏奔跑
2019-07-17 11:13
horsewater 发表于 2013-5-8 11:55
我也想说, 定时器这样用, 太浪费了.  你可以用一个定时器, 定一个最小中断时间, 比如定时器0, 每1ms中断一 ...

大侠

是这样的

我现在做一个实验,目的就是应用定时器,而不用中断。

因为工作方式一,的值溢出之后,还得重新赋值么

我就是想知道这样循环的方式   去赋值  行不行 同时达到了延时的目的。

一周热门 更多>