标题: 如何用单片机红外遥控开启或关闭电机 [打印本页]

作者: 放眼天下    时间: 2019-2-26 19:43
标题: 如何用单片机红外遥控开启或关闭电机
我在一个单片机中断函数里面写了一个温度控制电机的程序,定时扫描的那种,但是我又想通过红外线也控制电机,并且红外线的操作优先级啊高于温度。想要达到的效果是当温度到达临界值,电机开启,其余时刻电机关闭。红外线控制时,电机不受温度控制,这个应该怎么做到?初学51,请多指教!

作者: HC6800-ES-V2.0    时间: 2019-2-27 08:45
你的温度中断是不是外部中断?红外遥控也是外部中断,这样的中断优先级很容易设置:
PX1和PX0:分别是外部中断1和外部中断0的中断优先级。
                 1时:相应的外部中断为高优先级;0时:相应的外部中断为低优先级。
作者: 放眼天下    时间: 2019-2-27 10:03
HC6800-ES-V2.0 发表于 2019-2-27 08:45
你的温度中断是不是外部中断?红外遥控也是外部中断,这样的中断优先级很容易设置:
PX1和PX0:分别是外部 ...

好的,谢谢,我试试
作者: 放眼天下    时间: 2019-2-27 10:10
HC6800-ES-V2.0 发表于 2019-2-27 08:45
你的温度中断是不是外部中断?红外遥控也是外部中断,这样的中断优先级很容易设置:
PX1和PX0:分别是外部 ...

温度控制不是外部中断,是定时器中断,每隔一段时间自动扫描温度并显示,我觉得红外的控制即使成功也会马上被定时器的中断控制所取代,不清楚应该怎样写着两段的代码
作者: HC6800-ES-V2.0    时间: 2019-2-28 08:19
放眼天下 发表于 2019-2-27 10:10
温度控制不是外部中断,是定时器中断,每隔一段时间自动扫描温度并显示,我觉得红外的控制即使成功也会马 ...

有了优先级,高优先级不会被低优先级打断。以STC89C52芯片为例:


看清楚没?
一个中断在执行时,会被比它的优先级高的中断打断,不会被优先级同级或更低的中断打断!!!!!
所以,你设置了红外外部中断是高优先级时,它是不会被低优先级的定时器中断打断的,反而是红外外部中断会打断定时器中断。

作者: 放眼天下    时间: 2019-3-2 10:29
哦哦,知道了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1