你需要重新给你TH0 TL0赋值
否则 TH0 TL0 是从0开始计数的.所以时间很不准
兄弟我粗粗看了一下,问题的确在定时器上
………你自己的程序……
如果你的定时器初始值TH0,TL0没有计算错的話应该正常了
你的原因在:方式1定时器溢出之后TF0是需要手动清零的。因为你没有清0所以if(TF0==1)这个判断一直成立,定时器当然没有用了
再者,方式1定时器溢出之后TH0TL0会自动清零,如果需要定时器继续按方式1工作下去应该再给TH0,TL0重新赋初值或定时时间常数
这两个TH0,TL0定時常数赋值还是你自己直接算一下写进去好了反正是个常数。单片机计算上面两个式子很累的啊特别是这里的除法,取余运算
查询方式下 中断是关闭的
中断请求标志当然不会自动清零了