欢迎来到天天文库
浏览记录
ID:44985380
大小:1.21 MB
页数:53页
时间:2019-11-06
《第5章 MCS-51单片机的中断系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第5章MCS-51单片机的中断系统第5章MCS-51单片机的中断系统【学习目的和要求】通过本章的学习,应该了解MCS-51单片机中断系统的概念、结构、功能,中断源的种类和产生中断的方式;掌握中断控制寄存器IE、中断优先级寄存器IP、定时器控制寄存器TCON的使用方法;了解中断的响应过程、外部中断源的扩展原理。能熟练地编制中断初始化和中断服务程序。5.1中断系统概述第5章MCS-51单片机的中断系统当CPU正在处理某件事情(例如,正在执行主程序)的时候,外部或内部发生的某一事件(如某个引脚上电平的变化,一个
2、脉冲沿的发生或计数器的计数溢出等)请求CPU迅速去处理,于是,CPU暂时终止当前的工作,转去处理所发生的事件。中断服务程序处理完该事件后,再回到原来被终止的地方,继续原来的工作,这样的过程称为中断中断过程示意5.2中断系统的功能第5章MCS-51单片机的中断系统中断系统的主要功能是:(1)实现中断及中断返回当某一中断源发出中断请求时,CPU根据正在执行任务的重要性(中断优先级)来决定是否响应该中断请求。若允许响应这个中断请求,CPU在执行完相关指令后,会自动保护程序断点,然后转到此中断源对应的服务程序入口
3、地址,执行该中断服务程序。在此中断处理完后再恢复现场,CPU返回到被中断处继续执行程序。(2)实现优先级排队每个中断源可编程为两种级别的中断,高级中断请求和低级中断请求,因此可实现两级中断服务嵌套。有时会出现两个或两个以上的中断源同时提出中断请求的情况。这时,CPU能够判别中断源的优先级别,根据中断源的优先级原则,在优先级别高的中断源处理完后,再响应级别较低的中断源。即使同一级别的中断源,在同时请求中断时,CPU响应也有先后顺序的区别。5.2中断系统的功能第5章MCS-51单片机的中断系统(3)实现优先级
4、控制当CPU响应某一中断源的请求而进行中断处理时,若有优先级更高的中断源发出中断请求,则CPU中断正在执行的中断服务程序,保留程序的断点和现场,响应更高一级的中断。在高级中断处理完之后,再返回到被中断的服务程序继续执行。若发出中断请求的中断源优先级别与正在处理的中断源同级或更低时,CPU不响应这个中断请求,直到正在处理的中断的服务程序执行完后,才去处理新的中断请求。5.3中断系统结构第5章MCS-51单片机的中断系统5.3.1中断系统组成MCS-51的中断系统主要由4个特殊功能寄存器和硬件查询电路等组成,
5、定时器控制寄存器TCON、串行口控制寄存器SCON、中断允许寄存器IE和中断优先级寄存器IP,特殊功能寄存器主要用于控制中断的开放和关闭、保存中断信息、设定优先级别。硬件查询电路主要用于判定5个中断源的自然优先级别。图5-2MCS-51的中断系统结构5.3.2中断请求源第5章MCS-51单片机的中断系统MC5-51单片机的中断系统有5个中断请求源,具有两个中断优先级,可实现两级中断服务程序嵌套。MCS-51中断系统的五个中断请求源是:⑴—外部中断0请求,由引脚输入,中断请求标志为IE0。—外部中断l请求,
6、由⑶定时器/计数器T0溢出中断请求,中断请求标志为TF0。⑷定时器/计数器T1溢出中断请求,中断请求标志为TF1。⑸串行口中断请求,中断请求标志为TI或RI。各中断源向CPU请求中断的方式可以通过特殊功能寄存器用软件设置。⑵引脚输入,中断请求标志为IE1。1.定时器控制寄存器TCONTCON的字节地址88H,位地址8FH~88H,与中断请求有关的各位如图5-3所示:D7D6D5D4D3D2D1D088H各标志位的功能如下:⑴IT0—外部中断0触发方式选择位。IT0=0,为电平触发方式,5.4中断控制第5章
7、MCS-51单片机的中断系统TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H引脚上低电平有效IT0=1,为脉冲触发方式,引脚上的电平从高到低的负跳变有效。IT0位可由软件置“1”或清“0”。第5章MCS-51单片机的中断系统⑵IE0—外部中断0请求标志位。当IT0=0,即电平触发方式时,每个机器周期的S5P2采样引脚,若脚为低电平,则置“1”IE0,否则清“0”IE0。当IT0=1,即跳沿触发方式时,在第一个机器周期采样为低电平,则置“1”IE
8、0。IE0=1,表示外部中断0正在向CPU申请中断。当CPU响应中断,转向中断服务程序时,由硬件清“0”IE0。⑶IT1—外部中断1触发方式选择位,其功能同IT0。⑷IE1—外部中断1中断请求标志位,其功能同IE0。第5章MCS-51单片机的中断系统⑸TF0—定时器/计数器0溢出标志位。定时器/计数器0被启动计数后,从初值开始加1计数,当定时器/计数器0计数满而产生溢出时,由硬件自动使TF0置1,并向CPU申请中断。该标志一直
此文档下载收益归作者所有