您的位置:首页 > 编程语言 > C语言/C++

51单片机延时函数

2017-10-15 17:23 302 查看
#include "reg52.h"			 //此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned long u32;
typedef unsigned int u16;	  //对数据类型进行声明定义
typedef unsigned char u8;

/*定义变量及数组*/
u16 j=0;u32 q=0;u16 i;
void delayus(u16 i)//i=1时,时间为10us
{
while(i--);
}

void delayms(u16 i)//i=1时,时间为1ms
{
for(q=0;q<i;q++)
{
delayus(100);
}
}
void delays(u16 i) //i=1时,时间为1s
{
for(q=0;q<i;q++)
{
delayms(1000);
}
}
但是下面这个定义的1秒的函数就出现了问题,望看到的人能给分析下
void delays(u32 i) //i=1时,时间为1s
{    u32 k=i*100000
for(q=0;q<i;q++)
{
delayus(1);
}
}








                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息