标题: 请问用C编程,根据延时子程序和晶振频率怎么计算延时时间 [打印本页]

作者: 1297464632    时间: 2019-6-20 21:55
标题: 请问用C编程,根据延时子程序和晶振频率怎么计算延时时间
如题,关于51单片机C语言编程
作者: angmall    时间: 2019-6-21 06:36
比如
for(i=0;i<125;i++)
{
;
}
这样一个延时了多长时间呢?

如果晶振是24Mhz,延时大约是125*2=250us.(用仿真器仿真是251us).
如果晶振是12Mhz,延时大约是125*4=500us(用仿真器仿真是502us).

这只能是大概的算。不过应该能满足你的延时要求了。精准的话建议用汇编


使用STC最新的程序下载软件,右边有个软件延时计算,用那个生成要的延时函数,就挺不错的

作者: charles11    时间: 2019-6-21 06:58
比如你的晶振是12MHZ,一个机器周期就是1us,z比如while(i--);i=1000;就是自减1000次,相当于1000个机器周期,也就是1ms.有的也有用其他语句自减的,但基本都是一样的道理。不过要精确延时还得用定时器




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1