任意型号单片机,延迟1或2秒怎么写?12M,24M怎么算?for后面怎么写。要过程不要结果。
答案:2 悬赏:30
解决时间 2021-12-13 03:51
- 提问者网友:多余借口
- 2021-12-12 03:43
任意型号单片机,延迟1或2秒怎么写?12M,24M怎么算?for后面怎么写。要过程不要结果。
最佳答案
- 二级知识专家网友:woshuo
- 2021-12-12 04:22
一般先写一个延时几个毫秒的子程序,很简单。
void delay( int ms )
{
while( ms-- )
{
int i = 延时常数;
do { _nop_(); } while( --i );
}
}
要延时一秒钟,就是1000ms,delay( 1000 );
几个注意事项,
1、延时程序没有关中断,所以中断程序会影响定时精度。
2、延时常数可以用软仿真程序实验确定,需要根据不同的单片机、晶振频率调整延时常数。
3、想要适用任意型号单片机,内层循环最好加一句空操作,通常这可以阻止编译时优化程序。
void delay( int ms )
{
while( ms-- )
{
int i = 延时常数;
do { _nop_(); } while( --i );
}
}
要延时一秒钟,就是1000ms,delay( 1000 );
几个注意事项,
1、延时程序没有关中断,所以中断程序会影响定时精度。
2、延时常数可以用软仿真程序实验确定,需要根据不同的单片机、晶振频率调整延时常数。
3、想要适用任意型号单片机,内层循环最好加一句空操作,通常这可以阻止编译时优化程序。
全部回答
- 1楼网友:冷眼_看世界
- 2021-12-12 04:40
没看懂什么意思?
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯