定义一个延时xms毫秒的延时函数
创新互联建站-专业网站定制、快速模板网站建设、高性价比孝感网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式孝感网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖孝感地区。费用合理售后完善,十年实体公司更值得信赖。
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、在延时子程序设计时,要进行循环体嵌套时,采用先内循环,再减减比先减减,再内循环要好。
在单片机中,要延时程序尽量准确,可以:
-延时循环尽量简单,尽量少开变量比如:
Delay(unsigned int uDelay) { while ( uDelay-- ); }
-在主程序中用一个GPIO测试,如:
SetGPIOHigh(); Delay(1000); SetGPIOLOW();
-用示波器测量该GPIO波形及频率
-调整Delay函数的调用值,可以用变量,在调试时实时修改变量值,找到延时1毫秒的值,把Delay函数改名为Delay1ms,之后调用这个函数完成精确延时
-其他的延时函数也可以类似上述方法完成,但记住在调试和实际使用时要用同样的CPU主频。
-最精确的还是用定时器中断程序计时
C语言的延迟函数一般是利用无意义程序运行来控制时间从而达到延时的目的
举个例子:
for(i=0;ix;i++)
for(j=0;j120;j++);
这是延时x毫秒的for循环语句。
值得注意的是记得最后的;一定得记得写。
1、delay函数是一般自己定义的一个延时函数。
2、C语言定义延时函数主要通过无意义指令的执行来达到延时的目的。下面给出一个经典的延时函数。
// 定义一个延时xms毫秒的延时函数
void delay(unsigned int xms) // xms代表需要延时的毫秒数
{
unsigned int x,y;
for(x=xms;x0;x--)
for(y=110;y0;y--);
}