一、主体不同
1、内部中断:断是一个算法指令,是由软中断指令启动的中断。
2、外部中断:是单片机实时地处理外部事件的一种内部机制。
二、机制不同
1、内部中断:执行除法指令时,出现除数为0或商超过寄存器所能表达的范围,则产生类型为0 的内部中断。是优先级最高的内部中断。
2、外部中断:当某种外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理;中断处理完毕后.又返回被中断的程序处,继续执行下去。
三、特点不同
1、内部中断:由一条指令INT n产生中断类型码或者由指令规定,或者是预定的。不执行INTA总线周期,CPU也不发出响应信号INTA。
2、外部中断:在实时控制中,现场的各种参数、信息均随时问和现场而变化。这些外界变量可根据要求随时向CPU发出中断申请。请求CPU及时处珲中断请求,如中断条件。
参考资料来源:百度百科-外部中断
参考资料来源:百度百科-内部中断
外部中断0设置为低电平触发,去掉while循环后一直按下按键实际代码为delay()
P1=0xfe
delay()
EX0=0
P1=_crol_(P1,1)
delay()
EX0=1
P1=0X00
一直重复.
之前的代码进入中断后会一直循环,并不会退出中断。正确做法中断应该改为:
void
tx0()
interrupt
0
using
0
{
unsigned
char
i
delay()
P1=0xfe
delay()
EX0=0
while(1)
{
P1=_crol_(P1,1)
delay()
if(P3&0x04)
//判断是否松开中断0的按键
{
break
}
}
EX0=1
P1=0X00
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)