欢迎来到天天文库
浏览记录
ID:18759247
大小:579.00 KB
页数:20页
时间:2018-09-22
《重型车辆转向设计计算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章 MCS-51系列单片机的中断系统及定时器/计数器3.1中断的概念 众所周知,CPU的工作速度愈来愈快,CPU启动外部设备输入/输出一个字节数据只需要微秒级甚至更短的时间,而低速的外设工作速度一般在毫秒级,若CPU和外部设备是串行工作的,则CPU就浪费了很多时间去等待外设,其效率大大降低。若没有中断技术,CPU难于为多个设备服务,对故障的处理能力也极差。为了解决这些问题,在计算机中引入了中断技术,目前所有的计算机都有中断处理的能力。3.1.1中断的基本概念及相关术语 中断是CPU在执行现行程序的过程中,发生随机事件和特殊请求时,使CPU中止
2、现行程序的执行,而转去执行随机事件或特殊请求的处理程序,待处理完毕后,再返回被中止的程序继续执行的过程。实现中断的硬件逻辑和实现中断功能的指令统称为中断系统。引起中断的事件称为中断源,实现中断功能的处理程序称为中断服务程序。中断的响应过程如图3.1所示,(a)为单级中断,(b)为两级中断嵌套。 对于中断系统来说,引起中断的事件称为中断源;由中断源向CPU所发出的请求中断的信号称为中断请求信号;CPU中止现行程序执行的位置称为中断断点;中断断点处的程序位置称为中断现场;由中断服务程序返回到原来程序的过程称为中断返回;CPU接受中断请求而中止现行程序,转
3、去为中断源服务称为中断响应。 在中断系统中,对中断断点的保护是CPU在响应中断时自动完成的,中断服务完成时执行中断返回指令而得到恢复;对于中断断点处其他数据的保护与恢复是通过在中断服务程序中采用堆栈操作指令PUSH及POP来实现的,这种操作通常称为保护现场与恢复现场。3.1.2中断的作用 中断系统在计算机系统中有很重要的作用,利用中断可以实现以下功能: (1)分时操作。利用中断系统可以实现CPU和多台外设并行工作,能对多道程序分时操作,以及实现多机系统中各机间的联系,提高计算机系统的工作效率。 (2)实时处理。利用中断系统可以对生产过程的随机信息及时
4、采集和处理,实现实时控制,提高计算机控制系统的灵活性。 (3)故障处理。利用中断系统可以监视现行程序的程序性错误(如运算溢出、地址错等)和系统故障(如电源掉电、I/O总线奇偶错误等),实现故障诊断和故障的自行处理,提高计算机系统的故障处理能力。3.1.3中断源 通常,计算机的中断源有下列几种: (1)一般输入/输出设备。当外设准备就绪时可以向CPU发出中断请求,从而实现外设与CPU的通信。如键盘、打印机等。 (2)实时时钟或计数信号。如定时时间或计数次数一到,则向CPU发出中断请求,要求CPU予以处理0 (3)故障源。当采样或运算结果出现超出范围或系统
5、停电时,可以通过报警、掉电等信号向CPU发出中断请求,要求CPU加以处理。 (4)为调试程序而设置的中断源。为了便于控制程序的调试,及时检查中间结果可以在程序中设置一些断点或单步执行等。3.1.4中断系统的基本功能 为了满足系统中各种中断请求的要求,中断系统应该具备如下的基本功能: (1)识别中断源。在中断系统中必须能够正确识别各个中断源,以便区分各个中断请求,从而为不同的中断请求服务。 (2)能实现中断响应及中断返回。当CPU收到中断请求申请后,能根据具体情况决定是否响应中断,如果没有更高级别的中断请求,则在执行完当前指令后响应这一请求。响应过程应包
6、括:保护断点、保护现场、执行相应的中断服务程序、恢复现场、恢复断点等。当中断服务程序执行完毕后返回被中断的程序继续执行。 (3)能实现中断优先权排队。如果在系统中有多个中断源,可能会出现两个或多个中断源同时向CPU提出中断请求的情况,这样就必须要求设计者事先根据轻重缓急,给每个中断源确定一个中断级别,即优先权。当多个中断源同时发出中断请求时,CPU能找到优先权级别最高的中断源,并优先响应它的中断请求;在优先权级别最高的中断处理完了以后,再响应级别较低的中断源。 (4)能实现中断嵌套。当CPU响应某一中断的请求,在进行中断处理时,若有优先权级别更高的中断
7、源发出中断请求,CPU要能中断正在进行的中断服务程序,保留这个程序的断点和现场,而响应高优先权的中断,在高优先权处理完以后,再继续执行被中断的中断服务程序,即形成中断嵌套,如图3.1(b)所示。而当发出新的中断请求的中断源的优先权与正在处理的中断源同级或更低时,则CPU就可以不响应这个中断请求,直至正在处理的中断服务程序执行完以后才去处理新的中断申请。3.2MCS-51系列单片机的中断系统 MCS-51系列单片机中不同型号芯片的中断源数量是不同的,最基本的8051单片机有5个中断源,分别是INTO、INT1、TO、Tl。中断源分为两个中断优先权级别,可
8、以实现两级中断服务程序嵌套。每一个中断源可以编程为高优先权级别或低优先权级别中断,允许或禁止向
此文档下载收益归作者所有