单片机c语言中的delay_ms(250) 是什么意思

 我来答
爱教育爱学习
高粉答主

2019-10-23 · 学而不思则罔,思而不学则殆
爱教育爱学习
采纳数:384 获赞数:112732

向TA提问 私信TA
展开全部

意思就是延迟250ms,250就是100ms延时子函数写成1ms的。

voiddelay(chari)

{

charj=0;

for(i=0;i<255;i++)

for(;i<255;j++)

}

voidmain()

{

delay(100);

}

扩展资料

单片机C语言变量作用域

#include<reg52.h>//包含头文件

sbitled=P0^0;

unsignedcharcount=0;//定时累计变量,我们需要1000ms定时,50*20=1000

//count是全局变量,通俗地说就是程序每次重新执行时值保持住最近一次的值

voidmain()

{

TMOD=0x01;//设置定时器0工作方式1,16位计数

TH0=(65536-45872)/256;//晶振11.0592MHz,定时50ms时TH0初值

TL0=(65536-45872)%256;//晶振11.0592MHz,定时50ms时TL0初值

EA=1;//开启总中断

ET0=1;//开启定时器0中断

TR0=1;//启动定时器0

while(1)

{

if(20==count)//1000ms定时时间到

{

count=0;//清零,使得可以再次定时1000ms

led=~led;//P0.0电平取反,也就实现LED灯的熄灭或者点亮

}

//这部分代码放到主函数里,中断服务程序中只有定时器初值的重新赋值和count变量的累加

}

}

voidT0_INT()interrupt1//大家对照着上述格式看看

{

TH0=(65536-45872)/256;//晶振11.0592MHz,定时50ms时TH0初值

TL0=(65536-45872)%256;//晶振11.0592MHz,定时50ms时TL0初值

//重装初值,这个很好理解,我们需要每次定时的时间相同

count++;//每进入一次中断,也就是说50ms时间到了,count变量进行累计

//中断服务程序简洁,高效

}

47okey
推荐于2017-11-24 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5900
采纳率:75%
帮助的人:2373万
展开全部
如果延时子函数delay_ms(1) 是1ms的话,这个就是250ms
更多追问追答
追问
void delay_ms(uchar delay)
{
uchar i,j;
for(i=0;i<delay;i++)
for(j=0;j<125;j++);
}
子程序是这样的。delay_ms(250)是不是应该延时250*125ms呀?
追答
不是这么长的。
你用kiel运行一下就知道时间了。
一步也就us级的,不可能是ms
12M下,是0.4ms ,250就是100ms
延时子函数最好写成1ms的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ppc68
2011-12-17 · TA获得超过581个赞
知道小有建树答主
回答量:1257
采纳率:100%
帮助的人:778万
展开全部
是自己写的一个函数,根据时钟频率计算下,意思应该就是延迟250ms
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
起个名真难重名太多了
2015-01-04 · TA获得超过1646个赞
知道小有建树答主
回答量:1176
采纳率:69%
帮助的人:277万
展开全部
看百度经验:keil 软件调试延时时间的详细步骤
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jwoodt
2011-12-17 · 超过16用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:34万
展开全部
延迟250毫秒
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式