问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

51单片机C语言中delay函数是怎么定义和使用的?607

发布网友 发布时间:2023-10-27 04:46

我来回答

5个回答

热心网友 时间:2024-11-26 12:50

定义一个延时xms毫秒的延时函数

void delay(unsigned int xms) // xms代表需要延时的毫秒数

{

unsigned int x,y;

for(x=xms;x》0;x--)

for(y=110;y》0;y--);

}

使用:

void Delay10us(uchar Ms)

{

uchar data i;

for(;Ms》0;Ms--)

for(i=26;i》0;i--);

}

i=[(延时值-1.75)*12/Ms-15]/4

扩展资料

1、在C51中进行精确的延时子程序设计时,尽量不要或少在延时子程序中定义局部变量,所有的延时子程序中变量通过有参函数传递。

2、在延时子程序设计时,采用do…while,结构做循环体要比for结构做循环体好。

3、在延时子程序设计时,要进行循环体嵌套时,采用先内循环,再减减比先减减,再内循环要好。

热心网友 时间:2024-11-26 12:51

delay函数是一般自己定义的一个延时函数。


C语言定义延时函数主要通过无意义指令的执行来达到延时的目的。下面给出一个经典的延时函数。

// 定义一个延时xms毫秒的延时函数
void delay(unsigned int xms)  // xms代表需要延时的毫秒数
{
    unsigned int x,y;
    for(x=xms;x>0;x--)
        for(y=110;y>0;y--);
}

热心网友 时间:2024-11-26 12:51

这是一个延时函数()里的unsigned int a是一个形参,为int型变量最 大值为32767;{}里的unsigned int i和()里的一样 只是变量的名称不同,为i;while就是循环语句 如果他后面的()里的量不为零就执行他{}里的内容,一旦为零就跳出该语句。for(i=0;i<600;i++);就是把i定为零,如果i在for里小于600就跳到第三步i++(也就是i自增1);然后i=1但他还是小于600,接着就到第三步。。。。599次之后i=600,600就不小于600,这时就跳出for。while后的()如果为零就跳出while

热心网友 时间:2024-11-26 12:52

C的话其实时间没有办法完全定性地计算的
如果非得精确的话只能使用定时器了,或者汇编的也行
不过时间要求精度不是很高的话使用下面的代码就行了
当时使用示波器把时间完全调准的,65536ms范围内还是比较准的,已经可以满足通常的要求了:

#include "reg51.h" //头文件包含

//宏定义
#define uint unsigned int
#define uchar unsigned char

void delay(uint ms) // 毫秒级延时(AT89C52 @ 11.0592MHz)
{
uint ti;
while(ms--)
{
for(ti=0;ti<112;ti++){}//112
}
}

调用方式如下:
delay(400); //开机延时400ms
够详细了吧?!

热心网友 时间:2024-11-26 12:52

这是个延迟函数,delay 括号中的表达式是定义的无符号的整形变量,它是形参,你只要知道它是定义一个变量既可,它的值由main 函数传递过来,a的值有了,就进入了while 循环。不知你是否学过c语言,如果没有,就看看while 循环。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
橙子冷藏能保存多久 橙子会过期吗 新鲜橙子如何保存更久 橙子保鲜剂对人体有害吗 粒上皇开口熟栗120g*5袋(共600g)-详细介绍 三皇王板栗介绍 品牌榜:2024年板栗十大品牌排行榜 投票结果公布【新】 为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 1979年正月二十二寅时出生男命4 大师帮忙给我算算命1979年正月二十九生日 大概是晚上九点... 1979年正月二十九亥时出生女什么命 女孩子第一次真的很痛吗?281 你们女生来月经时都很痛吗?(女生答)303 小于2000的四位数中,只有3个因数的数有哪几个7 2000以内的自然数中,有且仅有3个因数的自然数有多少个?6 900一2500之间,有且仅有3个因数的自然数有多少个 10000以内的自然数中, 仅有3个因数的自然数有多少?57 100000以内的自然数中有且仅有3个因数的自然数有多少个2 新家进了只野猫又生仔是不是不好的预兆11 工厂来了野猫还生了小猫,请问在风水上吉利吗?78 东莞驾校报考费用?2 A5纸的尺寸是多少啊? 求115网盘的vip会员号,就是用来下载过期的软件,觉对不改... 一年内怎么改第二次 起点中文网内个。里头有个作者叫雨水,他最新的书是什么啊?23 做梦梦见和老家人吃扁粉菜什么意思? 伤了前男友两次,是不是不应该再打扰他的生活?5 请问1979年正月二十九出生阳历是哪天10 新疆的公务员真的没有假期吗 深圳梧桐山爬上去一般要多久?556 摆渡人小说,经典片段 小说《摆渡人》中崔斯坦是个怎样的人?不知道该怎么形容他,总之... 有起点中文网的新人作者或者正在攒稿中的作者吗?求结识2 推荐些文学,类似于摆渡人治愈的,或是萤火虫小巷,谢谢 想扣篮,怎么练腿部爆发力?3 东莞报名学车现在大概要花费多少 在耐克snkrs上抽中一个好鞋,想转手卖掉,在哪里卖12 深深伤害了前任,也觉得没脸见她,是应该道歉还是再别见她。3 左边是竖心旁 右边是个字 是什么字1 Двери Тамерлана翻译成中文119 反渗透膜的工作原理35 家用RO膜过滤工作原理是什么7 如果注销了,怎么恢复啊!? 求大神翻译俄语абвгдеёжзийклмнопрстуфх...653 索尼2比1升级了什么 索尼1和2的画质差不多吗 价格相差快1000元!谢谢...47 solidworks2019版曲面展平图标在哪里增加.请各路... extjs text vtype怎么使用