21ic问答首页 - 求助大家一个问题,还望各位大佬帮忙解答,感谢
求助大家一个问题,还望各位大佬帮忙解答,感谢
大圣02020-09-09
最近开始接触51单片机,想问大家一个关于led延时的问题,用的是11.0592MHz的晶振,下面是我的程序代码,
#include<reg51.h>
sbit led = P1^0;
unsigned int i,j;
void main()
{
while(1)
{
led = 0;
for(i=0;i<1000;i++)
for(j=0;j<110;j++);
led = 1;
for(i=0;i<1000;i++)
for(j=0;j<110;j++);
}
}
实现的功能是亮1秒,再灭1秒。我不太明白,还望大家指点一下,感谢!
#include<reg51.h>
sbit led = P1^0;
unsigned int i,j;
void main()
{
while(1)
{
led = 0;
for(i=0;i<1000;i++)
for(j=0;j<110;j++);
led = 1;
for(i=0;i<1000;i++)
for(j=0;j<110;j++);
}
}
实现的功能是亮1秒,再灭1秒。我不太明白,还望大家指点一下,感谢!
赞0
评论
2020-09-09
赞0
评论
2020-09-09
非常感谢
赞0
兄弟,那个9us,是1/f?,那也是0.09us呀
评论
2020-09-09
汇编语言能精确计算共几条指令,耗时多少,C语言就算勿清爽了,哈哈
for(i=0;i<1000;i++) 语句执行需要好几个时钟周期,我这里是估算的.
赞0
评论
2020-09-09
赞0
#include<reg51.h>
sbit led = P1^0;
unsigned int i,j;
void main()
{
while(1)
{
led = 0; ;开灯
for(i=0;i<1000;i++) ;内循环 i+1 1000次, 每次9us, 1000次=9ms 9us由系统时钟决定
for(j=0;j<110;j++); ;外循环j+1 110次, 每次9ms, 110次=1s
led = 1; ;关灯
for(i=0;i<1000;i++) ;内循环 i+1 1000次, 每次9us, 1000次=9ms 9us由系统时钟决定
for(j=0;j<110;j++); ;外循环j+1 110次, 每次9ms, 110次=1s
}
}
评论
2020-09-09
您需要登录后才可以回复 登录 | 注册