—— —— —— 技术资料下载中心

>> PIC单片机原理 \

PIC单片机16F84的内部硬件资源（六）
8 中断 PIC单片机16F84具有实时处理功能，能对外界异常发生的事件由中断技术作及时处理。 当单片机的CPU正在处理某事件时，若外部发生了某一事件(如定时器溢出、引脚上电平变化)，请求CPU迅速去处理，于是CPU就暂时中止当前的工作，转去处理所发生的事件。中断处理完该事件后，再回到原来被中止的地方，继续执行原来的工作，如图1所示。实现这种功能的部件称为中断系统。产生中断的请求源称为中断源。中断源向CPU提出的处理请求，称为中断请求或中断申请。CPU暂时中断自身的事务，转去处理事件的过程，称为CPU的中断响应过程。对事件的整个处理过程，称为中断服务(或中断处理)。处理完毕，再回到原来被中止的地方，称为中断返回。
PIC16F84芯片有4种中断源，其逻辑电路如图2所示。
9中断控制
中断主要由中断控制寄存器INTCON(图3)来控制。INTCON是一个可读/写寄存器，含有定时器TMRO溢出、RB口的变化和外部INT引脚中断等各种允许控制和标志位。
全局中断允许位GIE(D7)置1，将开放所有未被屏蔽的中断，如将该位清零，将禁止所有的中断。在响应中断时，GIE位将被清零，以禁止其它中断，返回的断点地址被压栈保护，接着把中断入口地址0004h装入程序计数器PC。在中断服务程序中，通过对中断标志位进行查询，确定中断标志位必须在重新开放中断之前用软件清零，以避免不断地中断申请而反复进入中断。
(1)INT中断。RBO/INT引脚上的外部中断由边沿触发，当INTEDG位(OPTION寄存器第6位)被置1时，选用上升沿触发，如该位被清零，则由下降沿触发。当检测到引脚上有规定的有效边沿时，便把INTE位(INTCON的D4位)置1。在重新开放这个中断之前，必须在中断服务程序中对INTE位清零。　　(2)TMRO中断。当定时器TMRO的计数器计满溢出(即由FFH变成00H)时，硬件自动把TOIF(INTCON的D2位)置1。其中断可以通过对TOIE(INTCOND的D5位)置1或清零来控制该中断是否开放。
(3)PORTB口引脚电平变化中断。在PORTB口的D7～D0引脚上一旦有电平变化，就会把RBIF(INTCON的D0位)置1。这个中断可以通过对RBIE(INTCON的D3位)置1或清零来控制该中断是否开放。
(4)中断的现场保护。在发生中断时，只有返回断点的地址被压栈保护。若用户还希望保护关键的寄存器(如W寄存器和STATUS寄存器)。这需要由软件来实现。有关中断的现场保护，请参看本报第15期有关PIC单片机指令识读中的实例。

成都　卫东

知识竞赛试题：
23用简单的实例说明中断在PIC单片机中的用途。
编后语：“PIC单片机系列专题”至今已刊登了十五期，余下还将刊载十期，共计二十五期。以后的内容将主要围绕PIC单片机的汇编和实际应用及开发来展开介绍，欢迎广大读者对本专题多提意见和建议。为配合本专题，“《电子报》单片机公共实验室”还为读者及会员准备一系列性价比高，适合初学者的PIC单片机、编程器、仿真器，以后本栏目将逐步加以介绍。另外，本专题的“知识竞赛”试题将于今年8月13日第32期《电子报》刊载完毕，欢迎读者踊跃参加。参加的读者务请在9月5日前，将所有试题按编号回答好后，寄往本报编辑部，或E－mail至dzb12@netdzb.com。我们将评出一、二、三等奖若干名，分别奖以奖金、PIC开发器、书刊等(详情见今年《电子报》第8期第十一版)。

[ 返回 ]