求大神指点!!!为什么我写了一个外部中断0中断,采用的是电平触发方式,当中断来时,蜂鸣器响;

求大神指点!!!为什么我写了一个外部中断0中断,采用的是电平触发方式,当中断来时,蜂鸣器响;,第1张

你好,你可以在退出中断时不要打开外部中断使能,在主循环程序里加一条判断就像判断按键一样恢复高电平以后再使能外部中断允许就可以克服这个问题了,还有就是选择边沿触发(上升沿或下降沿)也不会有次问题

效果是一样的,不过你好像写错了吧,应该是INT0和INT1吧?

INT0优先级更高,INT0是除了复位之外优先级最高的中断了。

低电平触发就是只要中断输入引脚为低电平,那么程序就一直停留在中断程序里,直到检测到高电平。

上升沿和下降沿触发的话,分别是在低电平变高电平和高电平变低电平的一瞬间执行一次,执行完中断程序之后会自动退出中断程序,回到主程序。

跟现在的程序没有关系,原来的肯定被删除了

因为你直接“把蜂鸣器的控制端口接P3^7接低电平” 所以肯定要响的 跟程序没有任何关系

让蜂鸣器不响的方法是把把蜂鸣器的控制段不接到P37口

嗯,不是调用,是对应中断IO管脚接收到信号才触发的。

一般的单片机触发方式有两种:低电平触发IT0=0(或中断1的IT1=0)和下降沿触发IT1=1。

IT0或IT1不设置也行,默认为0即低电平触发,只要中断IO管脚输入电平为0,即低电平触发进入中断,但前提是EA=1而且ET0=1(EA为打开总中断,ET0是允许进入中断函数),这个时候会停止主函数,转而进入中断函数处理,处理完中断函数后返回原来停止的地址继续执行主函数。

你所说的INTERRUPT 1是中断1,不关IT的事,说明了你同时还打开了ET1=1,自己检查下

it0、it1这个寄存器是设置外部中断0和1的触发方式,it0、it1都为1,是边沿触发,为0是低电平触发。ex0、ex1是设计外部中断允许,ex0=1,ex1=1是允许中断,可以配合it0、it1来使用,可以不用对其进行设置,默认是0(低电平)触发。

定时器是et0和et1。

以上就是关于51单片机当中断IT0置0,为低电平有效,那么中断程序运行完之后,电平还是保持低电平全部的内容,包括:51单片机当中断IT0置0,为低电平有效,那么中断程序运行完之后,电平还是保持低电平、C51中IT0与IT1效果一样不IT0(IT1)=0时,外部中断为低电平触发方式什么意思、求大神指点!!!为什么我写了一个外部中断0中断,采用的是电平触发方式,当中断来时,蜂鸣器响;等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/8873087.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存