本文目录一览:
- 单片机c语言中delay()函数的头文件是什么?
- 52单片机C语言中“Delay”是什么意思,怎么用?
- 51单片机C语言程序中延时函数delay的原理是什么?
- 51单片机C语言中delay函数是怎么定义和使用的?
单片机c语言中delay()函数的头文件是什么?
delay
函数是一个自己定义的延时函数。C语言定义延时函数主要通过无意义指令的执行来达到延时的目的,并没有一个软件自带头文件专门有 delay
这个函数的。
单片机c语言中delay()的使用:
void Delay10us(uchar Ms)
{
uchar data i;
for (; Ms > 0; Ms--)
for (i = 26; i > 0; i--);
}
计算公式:
i = [(延时值 - 1.75) * 12 / Ms - 15] / 4
扩展资料
把 delay(10000)
改为 100000
:
void main()
{
int i;
char str[] = "whatareyoufuckingdoing?";
int len = sizeof(str) / sizeof(char);
for (i = 0; i < len; i++)
{
if (str[i] != ' ' && str[i] != '\0')
{
delay(100000);
}
delay(100000);
printf("%c", str[i]);
}
getch();
}
52单片机C语言中“Delay”是什么意思,怎么用?
一般延时 1ms 的程序是:
void Delay(uint x)
{
uchar i;
while(x--)
{
for(i = 120; i > 0; i--);
}
}
当你在别的函数中用到 Delay(10000);
就是延时 10000ms,也就是 10 秒。
51单片机C语言程序中延时函数delay的原理是什么?
原理:只是执行一些所谓的“无实际意义的指令”,如缩放或执行一个 int
自加。简单地说,就像高中数学中的“乘法原理”一样,很容易迅速增加上面提到的“无意义指令”的数量。
关于大小的值:如果是在 C 语言中,该值不仅与晶振、单片机本身的速度有关,也与 C 的编译器有关。所以,虽然这个值可以精确计算,但大多数情况下,程序员是经验值。
当然,如果你在汇编中编程,情况就不同了,因为每条指令使用一定数量的机器周期,你当然可以根据所有指令使用的总时间来计算特定延迟的总时间。
扩展资料:
定义延迟 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
51单片机C语言中delay函数是怎么定义和使用的?
定义一个延时 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
扩展资料
- 在 C51 中进行精确的延时子程序设计时,尽量不要或少在延时子程序中定义局部变量,所有的延时子程序中变量通过有参函数传递。
- 在延时子程序设计时,采用
do...while
结构做循环体要比for
结构做循环体好。 - 在延时子程序设计时,要进行循环体嵌套时,采用先内循环,再减减比先减减,再内循环要好。