关于51单片机的外部中断电平触发方式的几点疑问

2020-02-05 08:46发布

51单片机的外部中断的电平触发方式是采用的低电平触发,现在假如程序如下
void main()
{
  EA=1;//开总中断
  EX0=1;//允许外部中断0
  IT0=0;//电平触发方式,低电平有效
  while(1)
{
  指令3;
}
}
void int0()   interrupt 0
{
  指令1;
  指令2;
}
问题1:
假如给IN0一个低电平(将该脚接一下地后又与地断开,处悬空状态)后,程序时如何运行的?
问题2:
假如给INT0一个低电平后保持不变(始终为低),程序如何执行?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
bxzyf
1楼-- · 2020-02-05 09:17
1.假如给IN0一个低电平,单片机检测到后,执行中断程序。中断程序执行完毕退出后有两种可能:如果INT0恢复高电平,则返回主循环;如果INT0没有来得及恢复高电平,则会再一次执行INT0中断程序。
2.将反复执行中断处理程序。
number007cool
2楼-- · 2020-02-05 13:13
回复  【1楼】 bxzyf
1.假如给IN0一个低电平,单片机检测到后,执行中断程序。中断程序执行完毕退出后有两种可能:如果INT0恢复高电平,则返回主循环;如果INT0没有来得及恢复高电平,则会再一次执行INT0中断程序。
---------------------------------------------------------------------------------------
INT0默认的情况下悬空,给INT0一个低电平后,将INT0管脚继续悬空(既没有接低也没有接高).因而没有恢复高电平一说.
number007cool
3楼-- · 2020-02-05 17:11
还有没有其他回答,谢谢!
rainyss
4楼-- · 2020-02-05 22:05
楼主你问的是两个问题:
1.中断线一直保持有效时,51 CPU如何运行
2.引脚悬空时,中断线的状态到底是什么

回答:
1.51单片机处理中断并返回后至少执行一条指令才能再次进入中断,这是51的特性,早年单板开发机上就拿这个特性来完成单步调试功能.
2.引脚悬空时为弱上拉高电平,也就是说一般情况下是高电平,但有强干扰时可能产生低电平.注意,这是针对标准51,很多单片机修改了硬件,引脚可以设置为高阻态,那么电平就可能是随机的了.
zpyws
5楼-- · 2020-02-05 23:44
 精彩回答 2  元偷偷看……
loggerjy
6楼-- · 2020-02-06 01:05
回复【4楼】rainyss
楼主你问的是两个问题:
1.中断线一直保持有效时,51 cpu如何运行
2.引脚悬空时,中断线的状态到底是什么
回答:
1.51单片机处理中断并返回后至少执行一条指令才能再次进入中断,这是51的特性,早年单板开发机上就拿这个特性来完成单步调试功能.
2.引脚悬空时为弱上拉高电平,也就是说一般情况下是高电平,但有强干扰时可能产生低电平.注意,这是针对标准51,很多单片机修改了硬件,引脚可以设置为高阻态,那么电平就可能是随机的了.
-----------------------------------------------------------------------

同意

一周热门 更多>