要改成:
delay1s()
{
unsigned int i,j
for(i=1000i>0i--)
for(j=123j>0j--)
}
最好写成带参数的好神缓枝,如:
void delay_ms(uint xms)
{
unsigned int i,j
for(i=xmsi>0i--)
for(j=123j>0j--)
}
如要延时1S时,函数调用时写为:
delay_ms(1000)
所谓的延时程序,就是让程序进入一段无效循环,达余散到延时目的有一个延时竖颤氏参数表的。
下面是一个10ms延时子程序(12MHZ)洞基
void delay10ms(void)
{
unsigned char i,j,k
for(i=5i>0i--)
for(j=4j>0j--)
for(k=248k>0k--)
}
汇编语言中,延迟有几种方式:1、通过一些专门的语句,比如
NOP执行一个空 *** 作磨唤
2、通过空循环,比如:
setb p1.0IO口置1
mov r2,#200R2赋值200
djnz r2,$ 循环200次,延历备时约400微妙
clr p1.0IO口清肢游毁0
3、通过调用延时程序,比如:
lcall delay调用延时子程序
.....
delay:延时约400微妙
mov r2,#200
djnz r2,$
ret
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)