微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 如何解决51单片机多个中断的问题

如何解决51单片机多个中断的问题

时间:10-02 整理:3721RD 点击:
最近在做STC89C52的避障小车,超声波和舵机PWM的程序里都有用到中断,超声波使用外部中断0和定时器0中断,舵机使用定时器1中断,现在两个程序都使用时,产生冲突不能正常使用,屏蔽掉舵机PWM控制程序能正常测距,有什么方法解决呢?

设置一下中断优先级

设置中断优先级,或者按照说明书上的优先级来做程序

舵机和超声波的问题已经解决了,是由于我使用了定时器2,并打开了中断,查STC官网资料,定时器2中断后,TF2一定要由软件来清0,他不像定时器0和定时器1那样进入中断后由硬件清0,所以每退出定时器2中断后,又马上进入定时器2中断,导致超声波部分不能正常工作!搞得这里也花了不少时间,吸取教程吧,以后别再范这个错误了,我现在在弄用一个定时器产生两路PWM信号,用来控制小车的两个电机,朋友,我什么办法,指点我一下哈,万分感激!

舵机和超声波的问题已经解决了,是由于我使用了定时器2,并打开了中断,查STC官网资料,定时器2中断后,TF2一定要由软件来清0,他不像定时器0和定时器1那样进入中断后由硬件清0,所以每退出定时器2中断后,又马上进入定时器2中断,导致超声波部分不能正常工作!搞得这里也花了不少时间,吸取教程吧,以后别再范这个错误了,我现在在弄用一个定时器产生两路PWM信号,用来控制小车的两个电机,朋友,有什么好的办法和建议,指点我一下哈,万分感激!

设置中断优先级啊

谢谢,问题我已解决

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top