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

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条回答
浩love谁?
1楼-- · 2019-07-16 21:20
 精彩回答 2  元偷偷看……
爱﹏奔跑
2楼-- · 2019-07-16 21:53
浩love谁? 发表于 2013-5-7 23:39
有点浪费定时器

就是想知道这样对不对!!

不用这个做项目
horsewater
3楼-- · 2019-07-17 02:39
我也想说, 定时器这样用, 太浪费了.  你可以用一个定时器, 定一个最小中断时间, 比如定时器0, 每1ms中断一次, 在中断里面, 可以做很多延时的东西.  不会一个定时器只能用于做一件事情.
青春&用神话去
4楼-- · 2019-07-17 08:06
学习了                                    
爱﹏奔跑
5楼-- · 2019-07-17 11:13
horsewater 发表于 2013-5-8 11:55
我也想说, 定时器这样用, 太浪费了.  你可以用一个定时器, 定一个最小中断时间, 比如定时器0, 每1ms中断一 ...

大侠

是这样的

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

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

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

一周热门 更多>