微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > STC89C51程序如何算出延时10毫秒呢

STC89C51程序如何算出延时10毫秒呢

时间:10-02 整理:3721RD 点击:
以下程序如何算出延时10毫秒呢,请各位教教!晶振12M
void Delay10ms(unsigned int c)   //误差 0us
{
    unsigned char a, b;
        //--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//
    for (;c>0;c--)
        {
                for (b=38;b>0;b--)
                {
                        for (a=130;a>0;a--);
                }
        }
}


计算每个时钟周期的时间,再去计算了

当然使用定时器了

要准确点的要使用定时器

定时器计数。

这个没有用定时器只是用了循环吧

这个程序时钟周期是1微妙吧,但是循环次数是多少啊,应该要5000次才能有50毫秒吧

这个程序是怎么得出10毫秒的时间?循环应该要10000次吧

要是想随便延时一下不用也可以

软件延时,不好,阻塞mian;要么用定时器,要么用软件计数器(程序设计严格非阻塞,否则误差很大);

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

网站地图

Top