完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
单片机中断系统概述:
中断是指单片机的CPU在执行程序过程中,外部有一些事件变化,如数据采集结束,电平变化,定时器/计数器溢出等,要求CPU立即处理,这时CPU暂时停止当前的执行程序,转去处理中断请求,处理后,再回到原来所执行程序的地址继续执行原来的程序,这个过程称为中断。 如图: 当CPU正在处理一个中断请求的时候,外部又发生了一个优先级比它高的中断事件,请求CPU及时处理。于是,CPU暂时中断当前的中断服务工作,转而处理所发生的事件。处理完毕,再回到原来被中断的地方,继续原来的中断处理工作。这样的过程,称为中断嵌套,这样的中断系统称为多级中断系统。 如图: 发出中断请求信号的设备称为中断源。中断源是引起中断的原因,不同的机器中断源也有所不同,一般中断源包括:外部设备,键盘,打印机,内部定时器、故障源以及根据某种需要人为设置的中断源。 要求中断处理发出的标志信号称为中断请求。 中断后转向执行的程序叫做中断服务或中断处理程序。原来的程序称为主程序,主程序被断开的地址称为断点。 实现中断功能的硬件系统和软件系统统称为中断系统。 作用: 中断系统在计算机应用系统中起着十分重要的作用,是计算机的重要组成部分,中断的使用消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率,改善了计算机的性能。 典型的80C51单片机是一个多中断源的单片机,其片内的中断系统主要用于实时控制,使单片机能及时响应和处理单片机外设或其内部所提出的中断要求。 51系列单片机中断源: MCS-51中断系统包括5个中断请求源,4个用于中断控制和管理的可编程和位寻址的特殊功能寄存器,即中断请求标志寄存TCON、SCON,中断允许控制寄存器IE和中断优先级控制寄存器IP。MCS-51中断系统提供两个中断优先级,可实现二级中断嵌套,并且每一个中断源可编程为开放或屏蔽。 重点: 51子系列中有五个中断源(52子系列为6个),分为三类,即外部中断,定时器/计数器中断,串行口中断 : 1、外部中断0请求,中断请求信号方式为低电平或脉冲下降沿有效。由P3.2引脚输入。 2、外部中断1请求,中断请求信号方式为低电平或脉冲下降沿有效。由P3.3引脚输入。 3 、T0:定时器/计数器0溢出(信号作为)中断请求,当CPU响应该中断时由硬件清零。外部计数脉冲由P3.4引脚输入。 4、T1:定时器/计数器1溢出(信号作为)中断请求,当CPU响应该中断时由硬件清零。外部计数脉冲由P3.5引脚输入。 5、TX/RX:串行中断请求。当串行口完成一帧发送或接收时,由内部的硬件自动置位中断请求标志TI或RI,请求中断。注意RI、TI必须由用户软件清零复位,由P3.0,P3.1引脚输入。 51系列单片机中断请求标志寄存器 1.定时器/计数器控制寄存器TCON TCON为定时器/计数器的控制寄存器,它同时也锁存T0、T1溢出中断源标志、外部中断请求标志,与这些中断请求源相关的位含义如表所示。 IT0(TCON.0):选择外部中断请求0为边沿触发或电平触发方式的控制位。IT0=0,电平触发方式,低电平有效;IT0=1,边沿触发方式,电平负跳变有效( 正跳变和负跳变就是上升沿和下降沿)。IT0可由软件置“1”或清“0”。 IE0(TCON.1):外部中断0的中断申请标志。当IT0=0时,每个机器周期的S5P2采样INT0,若INT0为低电平,则IE0置“1”。当IT0=1,若采样到电平由高变低,则IE0置“1”。IE0为1表示外部中断0正在向CPU申请中断。当CPU响应该中断,转向中断服务程序时,由硬件使IE0清“0” 。 IT1(TCON.2):选择外部中断请求1为边沿触发方式或电平触发方式的控制位,其作用和IT0类似。 IE1(TCON.3):外部中断1的中断申请标志。其意义和IE0相同 TF0(TCON.5):MCS-51片内定时器/计数器0溢出中断申请标志。当启动T0计数后,定时器/计数器0从初始值开始1计数,当最高位产生溢出时,由硬件使TF0置“1”,向CPU申请中断,CPU 响应TF0中断时,TF0会自动清“0”。 TF1(TCON.7):MCS-51片内定时器/计数器1溢出中断申请标志,功能和TF0类似。 当MCS-51系统复位后,TCON各位被清0。 2.串行口控制寄存器SCON SCON为串行口控制寄存器,SCON的低二位,锁存串行口的接收中断和发送中断标志,其格式如表所示。 TI(SCON.1):串行口的发送中断标志。当串行发送数据结束,发送停止位开始时,由内部硬件自动使TI置“1”,向CPU申请中断。向串行口的数据缓冲器SBUF写入一个数据后,就立即启动发送器继续发送。CPU响应发生器中断请求,转向执行中断服务程序时,并不清零TI,TI须由用户的中断服务程序清“0”,以便下次继续发送; RI(SCON.0):串行口的接收中断标志。当串行接收数据结束,接收到停止位的中间时,由内部硬件自动使RI置“1”,向CPU申请中断。 同样RI必须由用户的中断服务程序清“0”,以便下次接收。 注:一般情况,以上五个中断源的中断请求标志是由中断机构硬件电路自动置位的,但也可以人为通过指令(SETB BIT),对TCON和SCON的中断标志位置位,即“软件代请中断”,这是单片机中断系统的一大特点。 3. 中断允许寄存器IE MCS-51单片机对中断的开放或屏蔽,是由片内的中断允许寄存器IE控制的。IE的格式表所示。 IE寄存器各位功能(“0”—禁止中断,“1”—允许中断): EA(IE.7):CPU的中断开放/禁止总控制位。EA=0时,禁止所有中断;EA=1时,开放中断,但每个中断还受各自的控制位控制。 ES(IE.4)允许或禁止串行口中断。ES=0时,禁止中断;ES=1时,允许中断。 ET1(IE.3):允许或禁止定时/计数器1溢出中断。ET1=0时,禁止中断;EX1=1时,允许中断。 EX1(IE.2):允许或禁止外部中断1中断。EX1=0时,禁止中断;EX1=1时,允许中断。 ET0(IE.1):允许或禁止定时器/计数器0溢出中断。ET0=0时,禁止中断,ET0=1时允许中断。 EX0(IE.0):允许或禁止外部中断0中断。EX0=0时,禁止中断;EX0=1时,允许中断。 当MCS-51系统复位后,IE各位均被清0,所有中断被禁止。 4.中断优先级寄存器IP MCS-51单片机设有两级优先级,高优先级中断和低优先级中断。如果CPU正在处理的是低级的中断请求,那么高级的中断请求可以使CPU暂停处理低级中断请求的中断服务程序,转而处理高级中断请求的中断服务程序,待处理完高级中断请求的中断服务程序后,再返回原低级中断请求的中断服务程序,这种情况称为中断嵌套。具有中断嵌套的系统称为多级中断系统,没有中断嵌套的系统称为单级中断系统。 中断源的中断优先级分别由中断控制寄存器IP的各位来设定。IP的格式如表所示。 IP 寄存器各位功能( “0”—低优先级,“1”—高优先级): PS(IP.4):串行口中断优先级控制位。PS=1,为高优先级中断,PS=0,为低优先级中断。 PT1(IP.3):定时/计数器T1中断优先级控制位。PT1=1,高优先级中断,PT1=0,低优先级中断。 PX1(IP.2):外部中断1中断优先级控制位。PX1=1,高优先级中断,PX1=0,低优先级中断。 PT0(IP.1):定时器/计数器T0中断优先级控制位。PT0=1,高优先级中断,PT1=0,低优先级中断。 PX0(IP.0):外部中断0中断优先级控制位。PX0=1,高优先级中断,PX0=0,低优先级中断。 注意: 中断申请源的中断优先级的高低,由中断优先级控制寄存器IP的各位控制,IP的各位由用户用指令来设定。 复位操作后,IP= ××00000B,即各中断源均设为低优先级中断 中断查询顺序,优先问题: 若CPU正在对某一个中断服务。则级别低的或同级中断申请不能打断正在进行的服务。而级别高的中断申请则能中止正在进行的服务,使CPU转去更高级的中断服务。若多个中断源同时申请中断,则级别高的优先级先服务。若同时收到几个同一级别的中断请求时,中断服务取决于系统内部辅助优先顺序。在每个优先级内,存在着一个辅助优先级,其优先顺序如表所示。 综上所述,中断系统的使用规则: 低优先级中断可以被高级中断系统中断,反之不能; 当多个中断源同时发出申请时,级别高的优先级先服务,先按高低优先级区分,再按辅助优先级区分。 最后补充一个中断函数: 在C51中,中断服务程序即定义的中断函数。当中断事件发生后,对应的中断函数被自动调用,中断函数既没有参数,也没有返回值。 //中断服务函数的一般形式为: 函数类型 函数名() interrupt n using n //例如,外中断2的中断服务函数如下: void int1( ) interrupt 2 using 1 /*中断号n=2,选择1区工作寄存器区(通常省略不写,否则仿真软件可能仿真失败)*/ |
|
|
|
只有小组成员才能发言,加入小组>>
2516 浏览 0 评论
1096浏览 2评论
707浏览 1评论
459浏览 0评论
200浏览 0评论
342浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 21:06 , Processed in 1.386689 second(s), Total 83, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号