关于51单片机用定时器1秒延时,这有个程序不知对了?求解。

2025-02-26 05:14:25
推荐回答(2个)
回答1:

你这个程序肯定不行,别说1秒,0.1秒都达不到,我帮你改一下:
void delay1()
{
uchar t = 19;
TMOD=0x10;
for(t=19;t>0;t--)
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TR1=1;
while(!TF1);//等待定时器1溢出标志置位
TF1 = 0;//清0标志位
}
}
你没有说明晶体振荡器频率,所以定时器初值和循环次数t按原程序

回答2:

51单片机用定时器1秒延时  供参考