for(x=xms;x>0;x--) for(y=110;y>0;y--); 延时多久?

用的11.0592M的晶振
void delay_1602(uint xms)
{
uint x,y;
for(x=xms;x>0;x--)
for(y=110;y>0;y--);
}
这个函数延时了多久呀 delay(6)、delay(20)都具体延时了多久呀

实际仿真结果:
delay(6) 延迟了9.5ms
delay(20) 延迟了31.6ms
所以你可以估算一下这个函数的实际延迟时间,大约是标称的1.58倍。
如果想要更精确,就需要微调y的初值,不过这种延时说到底也是没法多精确的。
温馨提示:内容为网友见解,仅供参考
无其他回答

for(x=xms;x>0;x--) for(y=110;y>0;y--); 延时多久?
delay(6) 延迟了9.5ms delay(20) 延迟了31.6ms 所以你可以估算一下这个函数的实际延迟时间,大约是标称的1.58倍。如果想要更精确,就需要微调y的初值,不过这种延时说到底也是没法多精确的。

51单片机C语言中delay函数是怎么定义和使用的?
{ 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单片机中delay.h是怎么来的
\/\/定义一个延时xms毫秒的延时函数voiddelay(unsignedintxms)\/\/xms代表需要延时的毫秒数{unsignedintx,y;for(x=xms;x>0;x--)for(y=110;y>0;y--);}

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--);}

求教一个51单片机程序。。(LCD电子时钟)
\/\/延时函数,后面经常调用void delay(uint xms)\/\/延时函数,有参函数{ uint x,y; for(x=xms;x>0;x--) for(y=110;y>0;y--);}\/***液晶写入指令函数与写入数据函数,以后可调用***\/write_1602com(uchar com) \/\/***液晶写入指令函数***{ rs=0; \/\/数据\/指令选择置为指令 rw=0; \/\/读写选择 ...

就是主函数 那行 error c141:syntax error near 'void' 请问怎么修改...
0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71, 0x76,0x79,0x38,0x3f}; \/*延时子函数,xms为形参*\/void delay(uint xms) { uint x,y; for(x=xms;x>0;x--) for(y=110;y>0;y--); } 。。。这个是矩阵键盘的程序 while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } } ...

传感器制作温度计
for(x=xms;x>0;x--) for(y=110;y>0;y--); } \/***12864驱动程序***\/ void write_com(uchar com) { rs=0; r_w=0; en=0; P0=com; delayms(1); en=1; delayms(1); en=0; } void write_dat(uchar dat) { rs=1; r_w=0; en=0; P0=dat; delayms(1); en=1; delayms(1);...

请大神看一下89c51用LCD1602显示1分钟倒计时程序有什么错
unsigned int num=123;void delay(unsigned int xms){ unsigned int x,y;for(x=xms;x>0;x--)for(y=110;y>0;y--);} sbit LCD_EN=P2^5;sbit LCD_RS=P1^0;sbit LCD_RW=P1^1;void write_com(unsigned char com){ LCD_RS=0;LCD_EN=0;P0=com;delay(5);LCD_EN=1;LCD_EN=0;...

基于89C52单片机的HC-SR04超声波测距系统程序
for(x=xms;x>0;x--)for(y=112;y>0;y--);} void write_com(uchar com){ RS=0;RW=0;P0=com;delay(5);EN=1;delay(5);EN=0;} void write_dat(uchar dat){ RS=1;RW=0;P0=dat;delay(5);EN=1;delay(5);EN=0;} void write_1602(uchar add,uchar dat2){ write_com(0x...

...uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--) 为什么j=110...
0592兆Hz,所以第二个for语句执行110次的时间大概就是1ms,(这里涉及到晶振频率和机器周期之间的那几个公式你自己翻翻课本看)乘上第一个for中的 i 的初值就得到你要延时的时间了,如果你要延时1秒,那么你就重新定义 i 的数据类型为unsigned int i,然后j的数据类型不变,给 i 赋值1000即可。

相似回答