MCS-51 单片机中断系统芯片破解
芯片破解MCS-51单片机中断系统的结构如图4-1所示。MCS-51单片机有5个中断源,分别是2个外部中断源、2个定时/计数器中断源和1个串行接口中断源。与中断系统有关的寄存器有TCON、SCON、IE和IP,它们都可以按位寻址,其中的每一位都可以通过指令来设置。
图4-1 MCS-51中断系统的结构
下面结合图4-1介绍MCS-51单片机中断系统的基本工作流程。
(1)中断的触发
单片机两个外部中断源INT0和INT1的中断请求信号来自单片机的外部引脚INT0和INT1。有效的外部中断请求信号(即中断触发方式)可以是低电平信号或电平的下降沿信号。
定时/计数器T0和T1可以工作在计数和定时两种工作方式下,两种工作方式都可以产生中断请求。工作于计数方式时,定时/计数器记录T0和T1引脚上的脉冲个数,当脉冲数达到指定值时,将产生中断请求;工作于定时方式时,定时/计数器通过记录机器周期的个数完成定时工作,定时时间到时将产生中断请求。
单片机的串行通信接口(简称串口)可以向外发送数据或从外部接收数据,通常TXD引脚发送数据,RXD引脚接收数据。串口每发送或接收完一个字符帧后都会发出中断请求,分别被称为发送中断请求和接收中断请求。
另外,在MCS-51单片机中,串口的发送中断和接收中断虽然不同,但却被当作同一个中断源,对应同一个中断服务处理程序。
(2)中断请求
芯片破解单片机给每个中断事件分配了一个中断请求标志位,当某一中断源发出中断请求时,其对应的中断请求标志位被置1,以表示该中断发出了中断请求。外部中断INT0和INT1、定时/计数器T0和T1以及串口发送中断和接收中断的中断请求标志位分别为IE0、IE1、TF0、TF1、TI和RI,这些中断请求标志位分别存放在定时/计数器控制寄存器TCON(见表4-1)和串口控制寄存器SCON(见表4-2)中。
芯片破解单片机只能根据中断请求标志位的状态判断中断请求是否发生,若中断发生则中断请求标志位为1,否则为0。若中断请求标志位为1且该中断没有被屏蔽,则单片机将执行该中断的中断服务处理程序。中断请求被处理后,应及时地将其中断请求标志位清0,否则单片机将误认为中断请求未消失。