51单片机的外部中止有两种触发方法可选:电平触发和边缘触发。挑选电平触发时,单片机在每个机器周期查看中止源口线,检测到低电平,即置位中止恳求标志,向CPU恳求中止。挑选边缘触发方法时,单片机在上一个机器周期检测到中止源口线为高电平,下一个机器周期检测到低电平,即置位中止标志,恳求中止。
这个原理很好了解。但应用时需求特别留意的几点:
1)电平触发方法时,中止标志寄存器不锁存中止恳求信号。也就是说,单片机把每个机器周期的S5P2采样到的外部中止源口线的电平逻辑直接赋值到中止标志寄存器。标志寄存器关于恳求信号来说是通明的。这样当中止恳求被堵塞而没有得到及时呼应时,将被丢掉。换句话说,要使电平触发的中止被CPU呼应并履行,有必要保证外部中止源口线的低电平坚持到中止被履行停止。因而当CPU正在履行同级中止或更高档中止期间,发生的外部中止源(发生低电平)假如在该中止履行结束之前吊销(变为高电平)了,那么将得不到呼应,就好像没发生相同。相同,当CPU在履行不可被中止的指令(如RETI)时,发生的电平触发中止假如时刻太短,也得不到履行。
2)边缘触发方法时,中止标志寄存器锁存了中止恳求。中止口线上一个从高到低的跳变将记录在标志寄存器中,直到CPU呼应并转向该中止服务程序时,由硬件主动铲除。因而当CPU正在履行同级中止(乃至是外部中止自身)或高档中止时,发生的外部中止(负跳变)相同将被记录在中止标志寄存器中。在该中止退出后,将被呼应履行。假如你不期望这样,有必要在中止退出之前,手艺铲除外部中止标志。
3)中止标志能够手艺铲除。一个中止假如在没有得到呼应之前就现已被手艺铲除,则该中止将被CPU疏忽。就好像没有发生相同。
4)挑选电平触发仍是边缘触发方法应从体系运用外部中止的意图上去考虑,而不是如许多材料上说的依据中止源信号的特性来取舍。
传统的MCS51单片机有两个外部中止,有低电平和下降沿两种触发方法。经过特别功用寄存器TCON的状况,能够装备中止的触发方法。