********
void
T0_int(void)
interrupt
1
{
TH0
=
0x4C
TL0
=
0x00
T0_count++
if(T0_count==20)
//1S到
{
T0_count
=
0
//在这写程序
}
}
main()
{
TMOD
=
0x01//定时器让颤0,工坦侍败作方式1,16位谈伍计数
TH0
=
0x4C
//50MS定时器初值
TL0
=
0x00
IE
=
0x82
//开总中断,开T0中断
EA
=
1
ET0
=
1
TR0
=
1
T0_count
=
0
i
=
0
loop:
goto
loop
}
还有:
for(us=0us<60us++)
/*延时500us*/
for(us=0us<1us++)
/*
延时15微秒*/
for(us=0us<5us++)
/*
延时51微秒*/
根据外部晶振的不同,延时1毫秒的循旁轿环次数也不一样,一般12M晶振的话用 for(j=timej>0j--)延时时,1毫秒time大概为125左右,这里用110,大概晶振为11.0592M,所以这段程序,内部循环完成1毫秒延时,外部循环完成运橘肆500毫伍档秒延时。希望对你能有所帮助。
这是一个延时程罩漏磨序,c是延时物斗的相对长短有两层for循环执行空搜漏语句达到延时目的。
c只是延时的相对大小,c大了,外层循环就多,
时间就长一些。反之亦然。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)