如向液晶屏1602送数据,液晶屏是低速器件,单片机是高速器件,单片机每送完一个数据,过一小会儿液晶屏才能处理完,才能继续给它发数据,这期间单片机就要等它忙完,程序可以查询它是否忙,也可以不查询而给一个充足的延时后就认为它忙完了,继续给它送数据 如果它处理需500US,我们给它1mS延时,肯定够了
还有如果测频率,我们要计单位时间内的脉冲个数,如果我们不用定时器,也可以用汇编语言写一个精确的延时函数,脉冲计数器打开后,延时500ms或1000ms,关闭计数器,读计数器的值,就可计算出频率
还有LED闪烁指示工作状态,人眼能观察的闪烁频率是很低的,这时我们就让程序执行:
开LED--延时--关LED--延时--开LED.....
不延时的话我们直接反复开关LED,看到的是LED一直在亮,但亮度不高
总之,需要延时的场合太多了,有的是US级的,有的是ms级的
很短的延时可用1至2个NOP语句代替,精确延时一般用定时器
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)