★4.2.3 80C51中断系统
外部中断源的外部中断0和外部中断1的中断请求信号,分别由外部中断请求输入引脚(P3.2)、
P3.3)输入,可以通过定时/计数器控制寄存器TCON设定为低电平触发或负边沿触发。
外部中断有两种触发方式,分别为电平触发和边沿触发,并由特殊功能寄存器TCON中的IT0、IT1位控制。TCON既与中断控制有关,又与定时器控制有关。特殊功能寄存器TCON的地址为88H,可位寻址,每一位有相应的位地址。其格式见表4-2。
表4-2 特殊功能寄存器TCON格式
1)IT0:外中断0触发方式控制位D0。由IT0选择为低电平有效还是下降沿有效。
2)IE0:外中断0中断请求标志位D1。
IT0=0,电平触发方式;IT0=1,边沿触发方式(下降沿有效)。CPU在每个机器周期的S5P2期间取样引脚电平,如果在连续的两个机器周期检测到
引脚由高电平变为低电平,即第一个周期取样到
=1,第二个周期取样到
=0,则置IE0=1,即此时出现有效的中断信号申请中断,中断标志IE0由硬件自动置1,并产生中断请求。在边沿触发方式下,CPU响应中断时,由硬件自动清除IE0标志。但应注意,为保证CPU能检测到负跳变,
上的低电平持续时间至少应保持1个机器周期。IT0=0,为电平触发方式。CPU在每个机器的S5P2取样
引脚电平,当取样到低电平时,中断标志IE0置1,向CPU请求中断,当CPU响应中断请求进入相应中断服务程序执行时,取样到INT0高电平时,清除IE0标志,IE0被自动复位。
3)IT1:外部中断触发方式控制位D2,与IT0相同。
4)IE1:外中断1中断请求标志位D3,与IE0相同。
5)TR0/TR1:定时/计数器的启/停控制位D4/D6。
6)TF0:定时/计数器T0溢出中断请求标志位D5。T0启动后便从初值开始进行加1计数,直至最高位产生溢出时,向CPU发出溢出中断请求,CPU检测到中断请求后,由硬件将TF0置位。CPU响应中断时,由硬件自动将TF0复位为0。
7)TF1:定时/计数器T1溢出中断请求标志位D7。其控制功能与TF0类似。
单片机复位后,TCON和SCON各位均被清0。另外,所有的中断请求标志位均可由软件置1或清0,获得的效果与硬件置1或清0相同。