51C单片机延时语句问题
voiddelay(ucharx){ucharj;while((x--)!=0)//CPU执行x*12次{for(j=0;j<125;j++){;}}}51的一段延时程序...
void delay(uchar x){ uchar j; while((x--)!=0) //CPU执行x*12次 { for(j=0;j<125;j++) {;} }}
51的一段延时程序如上,X这个量没在其它地方有声明过。。想问 X这个值,具体是多少?如何计算延时时间?
void delay(uchar x)
{ uchar j;
while((x--)!=0) //CPU执行x*12次
{ for(j=0;j<125;j++)
{;}
}
}
重新排一下这段程序好看一点 展开
51的一段延时程序如上,X这个量没在其它地方有声明过。。想问 X这个值,具体是多少?如何计算延时时间?
void delay(uchar x)
{ uchar j;
while((x--)!=0) //CPU执行x*12次
{ for(j=0;j<125;j++)
{;}
}
}
重新排一下这段程序好看一点 展开
4个回答
展开全部
哈哈哈,这个延迟是单片机的一个最基本的知识就是软件延时。
void delay(uchar x){ uchar j; while((x--)!=0) //CPU执行x*12次 { for(j=0;j<125;j++) {;} }}
你的延时程序具体应用如下:
int main(void)
{
while(1)
{
P1 = 0xFF;
delay(100); //X赋值100
P1 = 0x00;
delay(100);
}
}
这样你应该知道X的值是哪里来的吧,这延时是一个带形参的延时子函数,集体延时时间多久就看你的单片机晶振多少,没有准确的时间,只有通过单片机keil2软件仿真看看集体延时是多长时间。
void delay(uchar x){ uchar j; while((x--)!=0) //CPU执行x*12次 { for(j=0;j<125;j++) {;} }}
你的延时程序具体应用如下:
int main(void)
{
while(1)
{
P1 = 0xFF;
delay(100); //X赋值100
P1 = 0x00;
delay(100);
}
}
这样你应该知道X的值是哪里来的吧,这延时是一个带形参的延时子函数,集体延时时间多久就看你的单片机晶振多少,没有准确的时间,只有通过单片机keil2软件仿真看看集体延时是多长时间。
展开全部
这个X是调用函数时,传递过来的参数值。
字符型,最大是255,最小是0.
当然值越大,延时越长。
具体延时时间,要看这个函数反汇编的代码,根据每条指令执行时间,算出总时间,就知道延时多久了。
或调用这个函数,用示波器量这个时间长短也可以。
字符型,最大是255,最小是0.
当然值越大,延时越长。
具体延时时间,要看这个函数反汇编的代码,根据每条指令执行时间,算出总时间,就知道延时多久了。
或调用这个函数,用示波器量这个时间长短也可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void delay(uchar x),那你说uchar 是什么意思?(⊙_⊙)?uchar=unsigned char,是你前面写的声明的等效替代。把unsigned char用uchar表示了,怎么叫没有声明呢?这个不是声明吗?(⊙_⊙)?
还有,X是个形式参量,也需要声明,从而规定输入这个函数的变量的类型要求。
这个x只有程序运行到这个函数时才会出现:编译器会临时开辟一个内存空间来存这个量,取值为输入这个函数的变量,存储位置是随机的,存储在RAM里。算完后,系统就删掉那个临时空间,返回计算结果给原程序。所以,你不必管这个形参的存储位置与初值。(不运行这段程序时,X根本就不存在,也就没有所谓的初值)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void delay(uchar x){
uchar j; while((x--)!=0) //CPU执行x*12次 {
for(j=0;j<125;j++) {
;
} }}
X值是你调用这个延时函数的时候给它赋的。
延时时间是根据你的单片机时钟周期计算,大概每四个机器周期程序执行一步。如果还不清楚可以看一下郭天祥写的那本书
uchar j; while((x--)!=0) //CPU执行x*12次 {
for(j=0;j<125;j++) {
;
} }}
X值是你调用这个延时函数的时候给它赋的。
延时时间是根据你的单片机时钟周期计算,大概每四个机器周期程序执行一步。如果还不清楚可以看一下郭天祥写的那本书
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询