我想用51单片机定时器一在方式一下延时一秒的函数。但是实际结果很快。不正常

我想用51单片机定时器一在方式一下延时一秒的函数。但是实际结果很快。不正常我的思想是利用定时器50毫秒循环20次成为一秒。再嵌套一个for循环。就可以在函数上面输入任意秒。知道哪出了问题,求大神教。

你的TMOD设置错了,实际延时程序用的是定时器1,但你初始化是TMOD=0x01,定时器1工作于模式0,定时器0才工作于模式1,模式0是13位定时器模式,最大值8192就溢出了。所以出现你的错误。可以修改如下:
main()
{
TMOD=0x10;
.....
}追问

谢谢你,我刚入门,竟然放这种低级错误,你真厉害!

温馨提示:答案为网友推荐,仅供参考