本文目录
- c语言 delay函数
- delay函数怎么使用来延长时间
- 怎么用delay函数控制小灯
- delay() c语言延迟函数
- 请问单片机中的delay()的单位时间是什么
- C语言中 delay 函数如何运用
- delay函数
c语言 delay函数
delay函数 功能:将程序的执行暂停一段时间(毫秒) (该函数是TC下特有的函数,VC下应使用Sleep()函数) 用法:voiddelay(unsignedmilliseconds); 程序例: /*Emitsa440-Hztonefor500milliseconds*/ #include《dos.h》 intmain(void) { sound(440); delay(500); nosound(); return0; }
delay函数怎么使用来延长时间
函数名: delay 功 能: 将程序的执行暂停一段时间(毫秒) 用 法: void delay(unsigned milliseconds); 程序例: /* Emits a 440-Hz tone for 500 milliseconds */ #include《dos.h》 int main(void) { sound(440); delay(500); nosound(); return 0; }
怎么用delay函数控制小灯
#include#define uchar unsigned char #define uint unsigned int //延时子程序 void mDelay(uchar Delay) { uchar i; for(;Delay》0;Delay--) { for(i=0;i } } void main() { uchar i,d; P0 = 0; //所以LED点亮。mDelay(250);//延时250mS(12M晶振) mDelay(250);//延时250mS(12M晶振) while(1) { d = 0x01; for(i=0;i { P0 = ~d; //数据取反。d//左移一位 mDelay(200);//延时200mS(12M晶振) } } }#include#define uchar unsigned char #define uint unsigned int //延时子程序 void mDelay(uchar Delay) { uchar i; for(;Delay》0;Delay--){ for(i=0;i } } void main() { uchar i,d; P0 = 0; //所以LED点亮。mDelay(250);//延时250mS(12M晶振)mDelay(250);//延时250mS(12M晶振) while(1) { d = 0x01; for(i=0;i { P0 = ~d; //数据取反。d//左移一位 mDelay(200);//延时200mS(12M晶振) } } }
delay() c语言延迟函数
下面是delay函数原型:原型:voidDelay(unsignedintnDelay){unsignedinti,j,k;for(i=0;i《nDelay;i++)for(j=0;j《6144;j++)k++;}用法:#include《system.h》功能:短暂延时说明:延时msec*4毫秒所以,delay的延迟时间是和你的cpu时钟周期相关的
请问单片机中的delay()的单位时间是什么
单片机中的delay()的单位时间不是系统提供的,而是用户自己编制的。
如果用循环语句实现的循环,没法计算,但是可以通过软件仿真看到具体时间,但是一般精精确延时是没法用循环语句实现的。
如果想精确延时,一般需要用到定时器,延时时间与晶振有关系,单片机系统一般常选用11.059 2 MHz、12 MHz或6 MHz晶振。第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1 μs和2 μs,便于精确延时。本程序中假设使用频率为12 MHz的晶振。
最长的延时时间可达216=65 536 μs。若定时器工作在方式2,则可实现极短时间的精确延时;如使用其他定时方式,则要考虑重装定时初值的时间(重装定时器初值占用2个机器周期)。
扩展资料
单片机C语言程序中延时函数delay的原理是:仅仅执行一些,没有实质性影响的所谓“无意义指令”,比如做比大小啊,做某个int的自加运算啊之类的。
单片机的有些程序需要调用延时程序,合理的安排循环次数以及空操作的个数方法:用汇编的话就根据你的当前晶振频率去推算你的指令周期,然后结合需要延迟的时间。
编写延迟程序,用C的话还是要看最后生成的汇编码是什么样的了。最简单的方法就是写好程序以后再编译器里软仿真看时间。
单片机C语言延时需注意的问题:
标准的C语言中没有空语句。但在单片机的C语言编程中,经常需要用几个空指令产生短延时的效果。这在汇编语言中很容易实现,写几个nop就行了。
在keil C51中,直接调用库函数:
#include // 声明了void _nop_(void);
_nop_(); // 产生一条NOP指令
作用:对于延时很短的,要求在us级的,采用“_nop_”函数,这个函数相当汇编NOP指令,延时几微秒。NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M晶振,延时1uS。对于延时比较长的,要求在大于10us,采用C51中的循环语句来实现。
C语言中 delay 函数如何运用
1、delay函数是一般自己定义的一个延时函数。2、C语言定义延时函数主要通过无意义指令的执行来达到延时的目的。下面给出一个经典的延时函数。
// 定义一个延时xms毫秒的延时函数void delay(unsigned int xms) // xms代表需要延时的毫秒数{ unsigned int x,y; for(x=xms;x》0;x--) for(y=110;y》0;y--);}
delay函数
cpu每次执行一次代码的时间是一定的,如果改变执行代码的次数不同的话,就相当于改变了外设等待cpu的时间。即假如执行一次循环是1ms的话,那么执行参数为600时就相当于等待了600*255*1ms,在这个时候外设就处于等待阶段,相当于延时,也就可以看到了LED间隔性的明灭!