版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
6.1中断概念中断(interrupt)是暂时停下目前所执行的程序,先去执行特定的程序(即中断子程序),待完成特定的程序后,再返回接着执行刚才停下的程序,这样的过程称为中断,如图6.1所示。譬如,十字路口的交通岗正常工作时,红绿灯遵循既定的规律进行变换;一旦有急救车或消防车等特殊情况时,进入特殊处理程序,即相当于进行中断处理,这时需要两个方向都亮起红灯,让急救车过去,等特殊情况过去后,再恢复之前状态。如果整个过程用单片机控制,则红绿灯按照既定规律进行变换时,相当于单片机再重复执行主程序;急救车或消防车来临进入特殊处理程序时,相当于单片机进入中断服务程序;急救车或消防车过去,相当于单片机从中断程序返回到主程序。中断机制的引入,提高了单片机的工作效率。返回6.251单片机中断源51系列单片机的中断系统有5个中断源,2个中断优先级,可实现二级中断服务嵌套,如图6.2所示。51单片机的5个中断源是外部中断INT0、外部中断INT1、定时/计数器中断TF0、定时/计数器中断TF1和串行口中断UART(RI/TI).返回6.3中断寄存器要想让51单片机中断系统良好地运行,需要用到以下4个特殊功能寄存器:(1)中断允许寄存器IE(InterruptEnableRegister)。(2)定时器控制寄存器TCON(Timer/CounterControlRegister)。(3)串行口控制寄存器SCON(SerialControlRegister)。(4)中断优先级寄存器IP(InterruptPriorityRegister)。下一页返回6.3中断寄存器6.3.1中断允许寄存器IE51单片机中断系统的所有中断通过寄存器IE控制,当IE某二进制位设定为1时,相应的中断源允许中断处理;当IE的某个二进制位设定为0时,相应的中断源被屏蔽中断。51单片机通过寄存器IE对中断系统实现两级控制,所谓两级控制,就是有一个总的开关中断控制位EA(即IE.7)和子中断开关控制位。当EA=0时,屏蔽所有的中断申请,任何中断申请都不接受;当EA=1时,CPU开放总中断,但5个中断源还要由IE低5位的各对应控制位进行控制(见图6.2)。IE寄存器(字节地址为A8H)各位地址如表6.1所示。上一页下一页返回6.3中断寄存器CPU复位时,IE各位清0,禁止所有中断。IE的数值可通过程序语句设定。6.3.2定时/计数器控制寄存器TCON在51单片机中断系统中,要采用什么中断,选择何种触发方式,就要由TCON和SCON设置,TCON设置除串口中断外的其余四种中断触发方式和中断标志位,SCON设置串口的接收中断标志位RI和发送中断标志位TI。TCON的字节地址是88H,可以按位寻址,各位地址如表6.2所示。TCON中各位的含义如下:(1)IT0(TCON.0):外部中断0(即INT0)的触发方式设置位。上一页下一页返回6.3中断寄存器(2)IE0(TCON.1):外部中断INT0中断请求标志位。IE0=1时,表示INT0向CPU请求中断。当INT0为电平触发方式,且CPU响应中断时,不自动将该位清0;当INT0为边沿触发方式,且CPU响应中断时,自动将该位清0。(3)IT1(TCON.2):外部中断1(即INT1)的触发方式设置位,含义与IT0类似。(4)IE1(TCON.3):外部中断INT1请求标志位。IE1=1时,表示INT1向CPU请求中断,含义与IE0类似。上一页下一页返回6.3中断寄存器(5)TF0(TCON5):定时/计数器T0的溢出中断请求标志位。当启动定时/计数器T0以后,T0从初值开始加1计数,计数器最高位产生溢出时,由硬件使TF0置1,并向CPU发出中断请求。当CPU响应中断时,硬件将自动对TF0清0,也有软件清0的情况,具体在第7章讲解。(6)TF1(TCON.7):定时/计数器T1的溢出中断请求标志位,含义与TF0类似。(7)TR0(TCON.4)和TR1(TCON.6),两位的具体含义在第7章讲解。6.3.3串行口控制寄存器SCON串行口控制寄存器SCON有两个串行中断标志位,分别是串口接收中断标志位RI和串口发送中断标志位TI。SCON的字节地址是98H,各位地址如表6.3所示。上一页下一页返回6.3中断寄存器SCON中的RI和TI含义如下:(1)RI:接收中断标志位。当串行接收数据时,每接收完一帧,由硬件自动将RI位置1,即向CPU发出接收中断请求;在中断服务程序中,通过程序语句将其清0,撤销该中断申请。(2)TI:发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件自动将TI位置1,即向CPU发出发送中断请求;在中断服务程序中,通过程序语句将其清0,撤销该中断申请。故CPU响应串行接收/发送中断请求时,不能自动清除RI/TI位,RI/TI位必须由软件清除。上一页下一页返回6.3中断寄存器6.3.4中断优先级寄存器IP51单片机有两个中断优先级,可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中相应位的状态来规定的。IP的状态由软件设定,某位设定为1,则相应的中断源为高优先级中断;某位设定为0,则相应的中断源为低优先级中断。单片机复位时,IP各位清0,各中断源同为低优先级中断。IP寄存器的字节地址为B8H,与中断允许寄存器相对应的位地址如表6.4所示。当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于内部硬件查询顺序。其优先级顺序排列如表6.5所示。上一页返回6.4中断处理过程6.4.1中断响应条件CPU响应中断必须同时满足以下三个条件:(1)中断源有中断请求。(2)中断源的中断允许位为1。(3)CPU总中断允许位为1(即EA=1)。若遇到下列任一条件,中断响应将受阻:(1)CPU正在处理同级或更高优先级中断。(2)当前查询周期不是所执行指令的最后一个机器周期。即在完成所执行指令前,不会响应中断,从而保证指令在执行过程中不被打断。(3)正在执行的指令为RETI或任何访问IE或IP寄存器的指令(防止中断处理机制失控)。即只有在这些指令后面至少再执行一条指令时才能接受中断请求。下一页返回6.4中断处理过程6.4.2中断响应时间图6.3为某中断的响应时序图。从中断源提出中断申请,到CPU响应中断,需要经历一定的时间。若M1周期的S5P2前某中断请求有效,在S5P2时刻其中断请求被锁存在相应的标志位中;下一个机器周期M2恰逢某指令的最后一个机器周期,且该指令不是RET、RETI或访问IE、IP的指令。于是,后面两个机器周期M3和M4便可以执行硬件LCALL指令,M5周期将进入中断服务程序。6.4.3中断响应过程CPU中断的响应过程如下:(1)将相应优先级状态触发器设置成“1”(以阻断后来的同级或低级的中断请求)。上一页下一页返回6.4中断处理过程(2)执行硬件LCALL指令,把程序计数器PC的内容压入堆栈保存,再将相应的中断服务程序的入口地址送入PC。(3)执行中断服务程序。(3)执行中断服务程序。中断响应过程的前两步是由中断系统内部自动完成的,而中断服务程序则要由用户编写程序来完成。6.4.4中断返回中断服务程序的最后一条指令必须是中断返回指令RETI。RETI指令能使CPU结束中断服务程序的执行,返回到主程序断点处继续执行主程序。RETI指令的具体功能是:(1)将之前压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序。上一页下一页返回6.4中断处理过程(2)将相应中断优先级状态触发器清0,恢复原来工作状态。不能用RET指令代替RETI指令,因为用RET指令虽然也能控制PC返回到原来中断的地方,但RET指令没有清零中断优先级状态触发器的功能,中断控制系统会认为中断仍在进行,其后果是与此同级的中断请求将不被响应。上一页返回6.5中断程序举例6.5.1主程序说明1.主程序的起始地址51系列单片机复位后,(PC)=0000H,而0003H~002BH分别为各中断源的入口地址。所以,编程时应在0000H处写一跳转指令(一般为长跳转指令),使CPU在执行程序时,从0000H跳过各中断源的入口地址。主程序则是以跳转的目标地址作为起始地址开始编写的,一般从0030H开始,如图6.4所示。2.主程序的初始化51单片机复位后,特殊功能寄存器IE和IP的内容均为00H,表示所有的中断全部关闭,且均为低优先级。所以编程时,应先对IE和IP进行初始化编程,以开放某些中断源中断,并设置其优先级等。下一页返回6.5中断程序举例6.5.2中断服务程序说明1.中断服务程序的起始地址当CPU开始响应中断请求信号时,CPU要把当前PC内容入栈保护,然后转去相应的中断服务程序入口处执行。51单片机中断系统的5个中断源分别有自己固定的入口地址(见表6.5),但这些入口地址仅相距8字节。如果中断服务程序的指令代码少于8字节,则可从规定的中断服务程序入口地址开始,直接编写中断服务程序;若中断服务程序的指令代码大于8字节,则应采用与主程序相同的方法,在相应的入口处写一条跳转指令,并以跳转指令的目标地址作为中断服务程序的起始地址进行编程。上一页下一页返回6.5中断程序举例2.中断服务程序编写中的注意事项(1)需要确定是否保护现场。(2)及时清除那些不能被硬件自动清除的中断请求标志,以免产生错误的中断。6.5.3外部中断INT0程序举例程序流程图如图6.6所示。上一页返回图6.1中断流程返回图6.251单片机中断系统结构图返回表6.1中断允许寄存器IE返回表6.2定时/计数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京工业发展投资管理有限公司2026届校招备考题库及参考答案详解
- 2026滨州市公安机关警务辅助人员招录备考题库(141人)带答案详解
- 辽宁科技大学2026年招聘高层次和急需紧缺人才102人备考题库及答案详解(新)
- 2026浙江温州市苍南县城市投资集团有限公司招聘19人备考题库有完整答案详解
- 2026重庆市涪陵区大顺镇人民政府招聘公益性岗位1人备考题库完整答案详解
- 分析培训教学课件
- 销售中心VIP接待培训课件
- 苏教版-三年级科学上册-《寻找有生命的物体》-公开课课件合集
- 苏教版语文六年级上册《草原》时
- 五下《确定位置(二)》教学设计
- 京瓷哲学手册样本
- 五年级简便计算100题
- 三年级作文写小狗海滩冬天童话故事
- (康德卷)重庆市2024届高三一诊物理试卷(含答案)
- 重庆市沙坪坝小学小学语文五年级上册期末试卷
- 中药制剂技术中职PPT完整全套教学课件
- 龙虎山正一日诵早晚课
- 《国际学术论文写作与发表》学习通超星课后章节答案期末考试题库2023年
- 中考满分(合集15篇)
- 艺术课程标准(2022年版)
- 《大数据营销》-课程教学大纲
评论
0/150
提交评论