51单片机3个定时器能否同时工作

昨天晚上做一个利用51控制红外接收管接收遥控器发送的红外信号,并用数码管显示按下的键值,单片机根据收到的不同的键值信号驱动步进电机正反转。现在遇到个问题,就是我的定时器T0用于计红外信号两个下降沿之间的时间,定时器T2用于控制步进电机,这个经我测试是好使的,可今天我想加一个将收到的键值通过串口线发送给上位机,而波特率我用到了T1来设置,可加完之后,上位机能收到红外键值,但步进电机却不转了,我想问,是不是有什么优先级之类的导致的?求大神帮忙看一下

当然可以同时工作,当然有优先的问题,不过你的问题不一定是优先级造成的,如果是C语言编制的话,有可能是工作寄存器造成的,试试不同的中断用不同的工作寄存器组。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-12
肯定可以同时工作。

关键看中断使用的寄存器是不是冲突了。
第2个回答  2014-01-12
有可能是中断冲突吧……