预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共120页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第6章中断系统6.1中断系统概述2.中断源 中断源是指在计算机系统中向CPU发出中断请求的来源,中断可以人为设定,也可以是为响应突发性随机事件而设置。通常有I/O设备、实时控制系统中的随机参数和信息故障源等。 通常,计算机的中断源有如下几种:(1)一般的输入/输出设备。如键盘、打印机等,它们通过接口电路向CPU发出中断请求。 (2)实时时钟及外界计数信号。如定时时间或计数次数一到,在中断允许时,由硬件则向CPU发出中断请求。 (3)故障源。当采样或运算结果溢出或系统掉电时,可通过报警、掉电等信号向CPU发出中断请求。 (4)为调试程序而设置的中断源。调试程序时,为检查中间结果或寻找问题所在,往往要求设置断点或进行单步工作(一次执行一条指令),这些人为设置的中断源的申请与响应均由中断系统来实现。3.中断优先级 中断优先级越高,则响应优先权就越高。当CPU正在执行中断服务程序时,又有中断优先级更高的中断申请产生,这时CPU就会暂停当前的中断服务转而处理高级中断申请,待高级中断处理程序完毕再返回原中断程序断点处继续执行,这一过程称为中断嵌套。4.中断响应的过程 (1)在每条指令结束后,系统都自动检测中断请求信号,如果有中断请求,且CPU处于开中断状态下,则响应中断。 (2)保护现场,在保护现场前,一般要关中断,以防止现场被破坏。保护现场一般是用堆栈指令将原程序中用到的寄存器推入堆栈。 (3)中断服务,即为相应的中断源服务。 (4)恢复现场,用堆栈指令将保护在堆栈中的数据弹出来,在恢复现场前要关中断,以防止现场被破坏。在恢复现场后应及时开中断。 (5)返回,此时CPU将推入到堆栈的断点地址弹回到程序计数器,从而使CPU继续执行刚才被中断的程序。5.中断的特点 (1)分时操作 中断可以解决快速的CPU与慢速的外设之间的矛盾,使CPU和外设同时工作。CPU在启动外设工作后继续执行主程序,同时外设也在工作。每当外设做完一件事就发出中断申请,请求CPU中断它正在执行的程序,转去执行中断服务程序(一般情况是处理输入/输出数据),中断处理完之后,CPU恢复执行 主程序,外设也继续工作。这样,CPU可启动多个外设同时工作,大大地提高了CPU的效率。(2)实时处理 在实时控制中,现场的各种参数、信息均随时间和现场而变化。这些外界变量可根据要求随时向CPU发出中断申请,请求CPU及时处理中断请求。如中断条件满足,CPU马上就会响应,进行相应的处理,从而实现实时处理。 (3)故障处理 针对难以预料的情况或故障,如掉电、存储出错、运算溢出等,可通过中断系统由故障源向CPU发出中断请求,再由CPU转到相应的故障处理程序进行处理。6.2MCS-51单片机的中断系统(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)中断允许:两级串联式中断允许。EA=1,开CPU中断;开某个中断源中断时,还需将对应中断源的中断允许位(EX0、ET0、EX1、ET1、ES)置位。中断允许控制位存放在特殊功能寄存器IE中。 (4)中断优先级:MCS-51单片机中断分二级,即高级和低级。对于每个中断源均可通过中断优先级控制寄存器中的相应位控制,当某中断源的优先控制位置为“1”时,该中断源设置为高级,否则为低级。对于同级中断源,由内部硬件查询逻辑来确定响应次序。(5)中断源的入口地址。不同中断源均有不同的中断矢量,当某中断源的中断请求被CPU响应之后,CPU将通过硬件自动地把相应中断源的中断入口地址(又称中断矢量地址)装入PC中,即从此地址开始执行中断服务程序。因此,使用时一般在此地址单元中存放一条跳转指令,当CPU响应中断时,使单片机自动执行相应入口地址的跳转指令,然后再通过该跳转指令跳至到用户安排的中断服务程序的入口处。MCS-51单片机各中断源的矢量地址是固定的。中断源的入口地址分别为: 外部中断0中断:0003H最高级 T0定时器0中断:000BH 外部中断1中断:0013H T1定时器l中