4_中断系统
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1 TCON定时控制寄存器
TFl和TF0: 定时器1和定时器0的溢出标志。 当定时器计满产生溢出时,由硬件自动置 “1”,并可申请中断。进入中断服务程序后, 由硬件自动清0。 也可作为程序查询的标志位,在查询方式 下应由软件来清0。
3.1 TCON定时控制寄存器
TR1和TR0: 为定时器1和定时器0的启停控制位。 将TRx清0后,可停止定时器的工作。 将该位置“1”后,可启动定时器工作。
3.3 IE中断允许寄存器
D7 EA D6 D5 ET2 D4 ES D3 ET1 D2 EX1 D1 ET0 D0 EX0
EA:CPU中断总允许位。 ES :串行口中断允许位。 ET1:定时器1中断允许位。 EX1:外部中断1的中断允许位。 ET0:定时器0的中断允许位 EX0:外部中断0的中断允许位。 ET2:定时器2中断允许位
TCON定时控制寄存器ቤተ መጻሕፍቲ ባይዱSCON串行口控制寄存器 IE中断允许寄存器
IP中断优先级寄存器
3.1 TCON定时控制寄存器
作用: 控制定时器/计数器的启、停 外部中断源的触发方式 定时器的溢出中断标志 外部中断源的中断请求标志。 其地址为88H。
3.1 TCON定时控制寄存器
中断源的入口地址分别为: 外部中断0中断: 0003H 最高级 T0定时器0中断: 000BH 外部中断1中断: 0013H T1定时器l中断: 001BH 串行口输入/输出中断: 0023H 最低级 定时器2中断: 002BH 最低级(52系列单片 机中)
3 MCS-51单片机中断系统使用
MCS-51单片机中断控制部分由4个专用 寄存器组成:
中断系统
1 中断系统概述 2 MCS-51单片机的中断系统 3 MCS-51单片机中断系统使用 4 C51中中断系统的应用
1 中断系统概述
1. 中断 中断是指计算机在执行某一程序的过程中, 由于 计算机系统内、 外的某种原因, 而必须中止原程序 的执行, 转去执行相应的处理程序, 待处理结束之后, 再回来继续执行被中止的原程序的过程。 采用中断技术后的计算机, 可以解决CPU与外设 之间速度匹配的问题, 使计算机可以及时处理系统 中许多随机的参数和信息, 同时, 它也提高了计算机 处理故障与应变的能力。
3.1 TCON定时控制寄存器
IE1和IE0: 为外部中断、的中断请求标志位。 当外部中断源有请求时,对应的中断标 志位置“1”。 当CPU响应该中断后由硬件自动将其复 位(清0)。
3.1 TCON定时控制寄存器
ITl和IT0 外部中断1和外部中断0的触发方式选 择位。设置为0时,相应的外部中断为低 电平触发方式; 设置为“1”时,相应的外部中断为边 沿触发方式。
2. 中断源 中断源是指在计算机系统中向CPU发出 中断请求的来源, 中断可以人为设定, 也可以 是为响应突发性随机事件而设置。通常有I/O 设备、实时控制系统中的随机参数和信息故 障源等。 通常,计算机的中断源有如下几种:
(1) 一般的输入/输出设备。如键盘、打印机等,它 们通过接口电路向CPU发出中断请求。 (2) 实时时钟及外界计数信号。如定时时间或计数 次数一到,在中断允许时,由硬件则向CPU发出 中断请求。 (3) 故障源。当采样或运算结果溢出或系统掉电时, 可通过报警、掉电等信号向CPU发出中断请求。 (4) 为调试程序而设置的中断源。调试程序时,为 检查中间结果或寻找问题所在,往往要求设置断 点或进行单步工作(一次执行一条指令),这些 人为设置的中断源的申请与响应均由中断系统来 实现。
(5)中断源的入口地址。 不同中断源均有不同的中断矢量。 当某中断源的中断请求被CPU响应之后,CPU 将通过硬件自动地把相应中断源的中断入口地址(又称 中断矢量地址)装入PC中,即从此地址开始执行中断 服务程序。 因此,使用时一般在此地址单元中存放一条跳转 指令,当CPU响应中断时,使单片机自动执行相应入 口地址的跳转指令,然后再通过该跳转指令跳至到用 户安排的中断服务程序的入口处。 MCS-51单片机各中断源的矢量地址是固定的。
3.2 SCON串行口控制寄存器
SM0和SM1:串行口工作方式选择位 SM2:多机通信控制位 REN :允许接收控制位 TB8、RB8:待发送、接收数据的第9位 RI、TI:接收和发送中断标志位
3.2 SCON串行口控制寄存器
TI(SCON.1):发送中断标志位。
单片机在发送数据过程中,当CPU将一 个数据写入发送缓冲器SBUF时,会自动启动 发送。每发送完一个数据后,由硬件自动将 TI位置位。 但CPU响应中断时,并不能自动清除TI位, 所以必须由软件清除。
然后根据中断源的类别在硬件的控制下内部自动形成长调用指令lcall此指令的作用是将对应中断源的矢量入口地址装入程序计数器pc使程序执行该中断矢量入口地址的跳转指令进而转至中断服务程序对应的入口地址
中断系统
中断技术是计算机中一项很重要的技术。 中断系统的功能主要是为了解决快速CPU与 慢速的外设间的矛盾,它由硬件和软件组成。 有了中断系统能使计算机的功能更强、效率 更高、使用更加方便灵活。 本节将介绍单片机的中断系统、处理过 程及其应用。
(3)中断允许: 两级串联式中断允许。 EA总中断开关EA=1,开总中断; 开某个中断源中断时,还需将对应中断 源的中断允许位(EX0、ET0、EX1、ET1、 ES)置位。 中断允许控制位存放在特殊功能寄存器 IE中。
(4)中断优先级: MCS-51单片机中断分二级,即高级和 低级。 对于每个中断源均可通过中断优先级 控制寄存器中的相应位控制,当某中断源 的优先控制位置为“1”时,该中断源设置为 高级,否则为低级。 对于同级中断源,由内部硬件查询逻辑 来确定响应次序。
(1)中断源:MCS-51单片机有五个中断源。 外部中断源两个:其中断请求信号分别由P3.2、P3.3引 脚输入,可选择低电平有效或下降沿有效(分别由和设置)。 定时器中断两个:T0、T1溢出中断。 串行口中断一个:发送/接收共用一个中断源。
(2)中断请求标志 有五个中断请求标志。标志位分别为IE0、IE1、 TF0、TF1、TI/RI。 ①IE0、IE1分别为外部中断标志。当外部中断 输入信号有效,将TCON中的IE0或IE1标志位置1, 可向CPU申请中断。 ②TF0和TF1为定时器/计数器T0和T1的溢出中 断标志。当T0或T1计数器加1计数产生溢出时,则 将TCON中的TF0或TF1置位,向CPU申请中断。 ③RI和TI串行口的接收和发送中断标志。当串 行口接收或发送完一个数据时,将TCON中的RI或TI 置位“1”,向CPU申请中断。
3. 中断优先级 中断优先级越高, 则响应优先权就越高。 当CPU正在执行中断服务程序时, 又有中断优 先级更高的中断申请产生, 这时CPU就会暂停 当前的中断服务转而处理高级中断申请, 待高 级中断处理程序完毕再返回原中断程序断点 处继续执行, 这一过程称为中断嵌套。
4. 中断响应的过程 (1) 在每条指令结束后, 系统都自动检测中断请求 信号, 如果有中断请求,且CPU处于开中断状态下, 则响应中断。 (2) 保护现场, 在保护现场前, 一般要关中断, 以防 止现场被破坏。保护现场一般是用堆栈指令将原程 序中用到的寄存器推入堆栈。 (3) 中断服务, 即为相应的中断源服务。 (4) 恢复现场, 用堆栈指令将保护在堆栈中的数据 弹出来, 在恢复现场前要关中断, 以防止现场被破坏。 在恢复现场后应及时开中断。 (5) 返回, 此时 CPU将推入到堆栈的断点地址弹 回到程序计数器, 从而使CPU继续执行刚才被中断 的程序。
D7 TF1 D6 TR1 D5 TF0 D4 TR0 D3 IE1 D2 IT1 D1 IE0 D0 IT0
TFl和TF0:定时器1和定时器0的溢出标志。 TRl和TR0:定时器l和定时器0的启停控制位。 IEl和IE0: 外部中断、的中断请求标志位。 ITl和IT0: 外部中断1和外部中断0的触发方 式选择位。
2 MCS-51单片机的中断系统
MCS-5l系列单片机有5个中断源。中断源分为2个 中断优先级,即高优先级和低优先级,每个中断源的 优先级都可以由软件来设定。 MCS-51的中断系统组成见图6-1所示。它由4个 与中断有关的特殊功能寄存器TCON、SCON、中断 允许控制寄存器IE、中断优先级管理(IP寄存器)和 中断顺序查询逻辑电路等组成。
3.4 IP中断优先级寄存器
当系统复位后,IP各位均为0,所有中断 源设置为低优级中断。IP也是一个可进行字 节寻址和位寻址的专用寄存器。
3.4 IP中断优先级寄存器
1.受IP寄存器控制,CPU将各中断源的优先级分为高低2级, 并遵循以下2条基本原则: (1)低优先级中断源可以被高优先级中断源中断,反之不能。 (2)一种中断(不管是什么优先级)一旦得到响应,与它同级 的中断不能再中断它。 。
D7 D6 D5 PT2 D4 PS D3 D2 D1 D0
PT1 PX1 PT0 PX0
IP.7和IP.6保留位。 PT2 :定时器2优先级设定位,仅用于52 PS :串行口优先级设定位。 PT1 :定时器1优先级设定位。 PX1 :外部中断1优先级设定位。 PT0 :定时器0优先级设定位。 PX0: 外部中断0优先级设定位。。
3.2 SCON串行口控制寄存器
RI(SCON.0):接收中断标志位;
在串行口允许接收时,当一帧数据接收 完毕,由硬件自动将RI位置位。 同样CPU响应中断时不能自动清除RI位, 必须由软件清除。
3.3 IE中断允许寄存器
MCS-51单片机中,设有一个专用寄存 器IE(称为中断允许寄存器)。其作用是用 来对各中断源进行开放或屏蔽的控制。其各 位的定义如下:
3.4 IP中断优先级寄存器 PT2(IP.5)为定时器2优先级设定位。 PT2=1时,为高优先级,否则为低优先级。 PS(IP.4)为串行口优先级设定位。 PS=1时,为高优先级,否则为低优先级。 PT1(IP.3)为定时器1优先级设定位。 PT1=1时,为高优先级,否则为低先级。 PX1(IP.2)为外部中断1优先级设定位。 PX1=1时,为高优先级,否则为低优先级。 PT0(IP.1)为定时器0优先级设定位。 PT0=1时,高优先级,否则为低优先级。 PX0(IP.0)为外部中断0优先级设定位。 PX0=1时,为高优先级,否则为低优先级。
3.4 IP中断优先级寄存器 2.当CPU同时收到几个同一优先级的中断请求时, 按自然优先级顺序确定应该响应哪个中断请求; 其自然优先级由硬件形成,排列如下: 最高级 外部中断0 定时器0中断 外部中断1 定时器1中断 最低级 串行口中断
3.4 IP中断优先级寄存器 3.中断响应的阻断 在中断处理过程中,若发生下列情况,中断响应 会受到阻断: (1)同级或高优先级的中断正在进行中; (2)现在的机器周期不是执行指令的最后一个机器 周期,即正在执行的指令还没完成前不响应任 何中断; (3)正在执行的是中断返回指令RETI或是访问专 用寄存器IE或IP的指令。CPU在执行RETI或读 写IE或IP之后,不会马上响应中断请求,至少 要在执行其它一条指令之后才会响应。 若存在上述任一种情况,中断查询结果就被取消。
3.3 IE中断允许寄存器
EA(IE.7)为CPU中断总允许位。 EA=0,CPU禁止一切中断 EA=1,CPU开放中断 EA=1时,仅使CPU对所有的中断开放,但每个中断源被 允许还是被屏蔽是由各自的允许位确定。
3.3 IE中断允许寄存器
ES(IE.6)为串行口中断允许位。 ES=1,允许串行口接收和发送中断,否则禁止中断。 ET0(IE.1)、 ET1(IE.3)、 ET2(IE.5)为定时器中断允许位。 ETx=1,允许Tx中断,否则禁止中断。 EX0(IE.0) 、EX1(IE.2) 为外部中断的中断允许位。 EXx=1允许外部中断l中断,否则禁止中断。
3.3 IE中断允许寄存器
系统复位后,IE各位均为0,即禁止所有 中断。IE寄存器可以进行字节寻址也可以进 行位寻址。
3.4 IP中断优先级寄存器
MCS-51单片机的中断分为2个优先级, 每个中断源的优先级都可以通过中断优先级 寄存器IP中的相应位来设定。IP各位的定义 如下:
3.4 IP中断优先级寄存器