不管晶振频率是多少,一次就延时一秒是不可能的。
当晶振频率是12
M时,最大的延时是65536毫秒。通常可以设置定时50毫秒,并设置为中断方式,这样,每次当定时到就中断一次,再对中断计数,中断计数20次就是一秒了。
如果是用VC的话,可以加个TIMER,如果你非要用纯C的话,只有用运行一个比较大的循环来廷时,这叫做软件廷时比如:
long i = 0,j = 0;
while(i<=100000000)
{
while(j<=100000000)
{ j++;
}
j=0;
i++;
}
完整程序为:
#include <iostreamh>
void delay();
void main()
{
cout<<"我 "<<endl;
delay();
cout<<"爱 "<<endl;
delay();
cout<<"她 "<<endl;
}
void delay()
{
long i = 0 ,j = 0;
while(i<=100000)
{
while(j<=100000)
{ j++;
}
j=0;
i++;
}
}
以上就是关于单片机小程序:用定时器T0方式1,延时一秒怎么写晶振为12全部的内容,包括:单片机小程序:用定时器T0方式1,延时一秒怎么写晶振为12、在c/c++程序里怎么用延时、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)