c51定时器0和定时器1同时运行

2025-03-28 18:59:55
推荐回答(3个)
回答1:

不能这样写程序!不要在中断函数中写太长,更不能在中断函数中有延时,中断函数中调用别的函数也是非常不好的。

原因是:如果中断占用时间太多,甚至于下次中断又要来了,但本次中断还没完成,你说程序还能按时执行下去吗?

正确的写法是在中断函数中尽量少操作,只置位变量形式的时间标志,如100ms标志,500mS标志等等,真正的处理(如秒分时日月年处理)放在主函数的主循环中做。这样做的目的是让中断占用时间尽量短。

回答2:

你该不会是让两个中断同时运行的吧。实在想用秒表,你可以在时钟的中断里面另外设一组变量,虽然有毫秒级误差 ,但是至少能够运行。你这样两个中断响应一个时却不关掉总中断,再响应另一个,肯定会冲突的。

回答3:

你的main呢? 先把 计时器和中断使能啊