资料
本文由残荷听雨1988贡献
doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
MCS- 系列单片机 单片机的 第四章 MCS-51 系列单片机的中断系统
中断系统是为使 CPU 具有对单片机外部或内部随机发生的事件的实时处理 而设置的。MCS-51 片内的中断系统能大大提高 MCS-51 单片机处理外部或内部的 能力。 4.1 中断的概念
单片机处理外部或内部事件有两种方式:程序查询方式和中断方式。程序查 询方式是单片机对外部或内部事件的处理时,CPU 不断查询是否有事件发生。采 用程序查询方式,CPU 不能在做别的事,而是大部分时间处于等待状态。单片机 都具有实时处理功能,能对外部或内部发生的事件做出及时的处理,这靠中断技 术实现。 中断方式是当 CPU 正在处理某件事情(如正在执行主程序)的时候,外部或 内部发生的某一事件(如计数器的计数溢出等)请求 CPU 迅速去处理,于是 CPU 暂时中止当前的工作,转去处理所发生的事件。中断服务处理程序处理完该事件 后,再回到原来被中止的地方,继续原来的工作。 处理事件的过 主 求 程, 称为 CPU 的中断 请 程 断 中 中 响应过程。 对事件的 序 应 断 响 整个处理过程, 称为 服 N 务 N+1 中断服务或中断处 返 程 继 回 理。 如图 4.1 中断过 主 序 续 程 序 程。 执 行 主 程 序
图 4.1 中断过程 实现这种功能的部件称为中断系统,产生中断请求的来源称为中断源。中断 源向 CPU 提出的处理请求称为中断请求或中断申请。CPU 暂时中止执行的程序, 转向执行中断服务程序, 除了硬件会自动把断点地址 (16 位程序计数器 PC 的值) 压入堆栈之外,用户还得注意保护有关的工作寄存器、累加器、标志位等信息, 称为保护现场。最后执行中断服务程序后,恢复有关的工作寄存器、累加器、标 志位等信息,称为恢复现场。最后执行中断返回指令,从堆栈中自动弹出断点地 址到 PC,继续执行被中断的程序,称为中断返回。 中断方式完全消除了 CPU 在程序查询方式中的等待现象,大大地提高了 CPU 的工作效率。
MCS4.2 MCS-51 中断系统的结构
MCS-51单片机的中断系统有5个中断请求源,具有两个中断优先级,可实现 两级中断服务程序嵌套。用户可以用软件来屏蔽所有的中断请求,也可以用软件 使CPU接收中断请求;每一个中断源可以用软件独立地控制为开中断或关中断状 态;每一个中断源的中断级别均可用软件设置。
4.2.1 中断源
MCS-5l 提供五个中断请求源,其中两个为外部中断源,由 INT0,INT1 引脚 输入;两个片内的定时器/计数器溢出中断请求;串行口产生的中断请求(TI 或 RI)。它们相对应的入口地址见表 4.1。 表 4.1 MCS-51 中断源及其入口地址 五个中断源 入口地址 外部中断0(/INT0) 0003H T0溢出中断 000BH 外部中断1(/INT1) 0013H T1溢出中断 001BH 串口中断 0023H 这些中断请求源分别由 MCS-51 的特殊功能寄存器 TCON 和 SCON 的相应位锁 存。 TCON 为定时器/计数器的控制寄存器,字节地址为 88H,TCON 也锁存外部中 断请求标志。其格式如下表 4.2: 表 4.2 TCON 中的中断请求标志位 位 D7 D6 D5 D4 D3 D2 D1 D0 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 各位的功能如下: IT0:选择外部中断请求 INT0 为边沿触发方式或电平触发方式的控制位。当 IT0 为 0 时,为电平触发方式,INT0 低电平有效;当 IT0 为 l 时,1NT0 为边沿 触发方式,INT0 输人脚上的电平从高到低的负跳变有效。INT0 由软件置“1”或 清“0”。 IE0:外部中断 INT0 的中断申请标志位。当 IT0=0 即电平触发方式时,每 个机器周期的 S5P2 采样 INTO, INT0 为低电平, 被置 若 IE0 “1” 否则被清 , “0” ; 当 IT0=1,即 INT0 程控为边沿触发方式时,当第一个机器周期采样到为低电平 时,则 IE0 被置“l”,IE0 为 1 表示外部中断 0 正在向 CPU 申请中断。当 CPU 响应中断,转向中断服务程序时,IE0 由硬件清“0”。 ITl:选择外部中断请求 1 为边沿触发方式或电平触发方式的控制位,其意 义和 IT0 类似。 IEl:外部中断 1 的中断申请标志位,其意义和 IE0 类似。