《51单片机中断系统课件.ppt》由会员分享,可在线阅读,更多相关《51单片机中断系统课件.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、测量与机电控制核心课程1、中断的概念中断的概念 2、中断结构及中断响应过程、中断结构及中断响应过程3、定时器定时器/计数器结构计数器结构Contents本章知识点本章知识点测量与机电控制核心课程5.5 中断系统中断的概念?中断的概念?CPU暂时中止其正在执行的程序,转去执行请求中断的那个外设或事暂时中止其正在执行的程序,转去执行请求中断的那个外设或事件的服务程序,等处理完毕后再返回执行原来中止的程序件的服务程序,等处理完毕后再返回执行原来中止的程序,叫做中断。叫做中断。中断的意义?中断的意义?提高提高CPU工作效率;工作效率;具有实时处理功能;具有实时处理功能;具有故障处理功能;具有故障处理功
2、能;实现分时操作。实现分时操作。中断的特点?中断的特点?(1)5个中断源:个中断源:INT0、INT1、C0/T0、C1/T1、串行口中断;、串行口中断;(2)具有优先级管理功能,)具有优先级管理功能,2个优先级,其中每个中断源的优先级可个优先级,其中每个中断源的优先级可由程序指定;由程序指定;(3)每个中断源都有各自的中断标志位)每个中断源都有各自的中断标志位。测量与机电控制核心课程5.5.1 中断结构RITITF1IE1TF0IE0ESET1EX1ET0EX01PSPT1PX1PT0PX0高级高级低级低级内内部部查查询询内内部部查查询询INT0T0EAIT0=0IT0=1INT1IT1=0
3、IT1=1T1TXRXTCONIEIP5.5 中断系统测量与机电控制核心课程中断源中断源是指能发出中断请求,引起中断的装置或事件。是指能发出中断请求,引起中断的装置或事件。中断源中断源中断服务程序入口地址中断服务程序入口地址中断标志位中断标志位INT0(P3.2)0003HIE0(TCON.1)T0(内部)(内部)000BHTF0(TCON.5)INT1(P3.3)0013HIE1(TCON.3)T1(内部)(内部)001BHTF1(TCON.7)串行口中断(内部串行口中断(内部)0023HRI、TI(SCON.0、1)单片机的中断为固定入口式中断,即一响应中断就转入固定入单片机的中断为固定入
4、口式中断,即一响应中断就转入固定入口地址执行中断服务程序。这些单元中往往是一些跳转指令。口地址执行中断服务程序。这些单元中往往是一些跳转指令。中断优先级(中断优先级(2个)个)每个中断源都可由程序指定为高优先级或底优先级每个中断源都可由程序指定为高优先级或底优先级。中断源(中断源(5 5个)个)5.5 中断系统测量与机电控制核心课程中断控制的寄存器中断控制的寄存器 与中断控制有关的控制寄存器有与中断控制有关的控制寄存器有4个:个:TCON-定时控制寄存器定时控制寄存器,IE-中断允许控制寄存器中断允许控制寄存器,IP-中断优先级控制寄存器,中断优先级控制寄存器,SCON-及串行口控制寄存器及串
5、行口控制寄存器。1 1、定时控制寄存器、定时控制寄存器TCONTCON IT0IE0IT1IE1TF0TF1D0D1D2D3D4D5D6D7中断请求标志中断请求标志触发方触发方式选择式选择0低电平低电平1下降沿下降沿5.5 中断系统测量与机电控制核心课程2、串行口控制寄存器串行口控制寄存器SCON RITID0D1D2D3D4D5D6D7串行中断请求标志串行中断请求标志3、中断允许控制寄存器、中断允许控制寄存器IE EX0ET0EX1ET1ESEAD0D1D2D3D4D5D6D74、中断优先级控制寄存器(、中断优先级控制寄存器(IP)PX0PT0PX1PT1PSD0D1D2D3D4D5D6D7
6、0禁止,禁止,1允许允许0低级别,低级别,1高级别高级别5.5 中断系统测量与机电控制核心课程(1)低优先级中断可被高优先级中断所中断;低优先级中断可被高优先级中断所中断;(2)一种中断一旦被响应,与它同级的中断一种中断一旦被响应,与它同级的中断不能再不能再响应;响应;(3)同一级别的各种中断源同时请求中断时,同一级别的各种中断源同时请求中断时,CPU响应中断的顺序为:响应中断的顺序为:INT0、T0、INT1、T1、串行口;、串行口;(4)几个中断同时发生,几个中断同时发生,CPU响应优先级最高的中响应优先级最高的中断。断。中断响应基本规则中断响应基本规则5.5 中断系统测量与机电控制核心课
7、程中断处理过程一般分为中断处理过程一般分为3阶段:中断响应、中断处理、中断返回。阶段:中断响应、中断处理、中断返回。中断响应过程中断响应过程中断申请中断申请响应条件是否满足中断是否受阻断点地址压栈中断地址入PCYNNY中断响应条件:中断响应条件:EA=1并且中断源的中断允许并且中断源的中断允许中断受阻的情况中断受阻的情况1、同级或高级的中断已在进行中;同级或高级的中断已在进行中;2、当前的机器周期不是正在执行的当前的机器周期不是正在执行的指令的最后一个周期;指令的最后一个周期;3、正在执行的指令是返回指令或是正在执行的指令是返回指令或是对专用寄存器对专用寄存器IE、IP进行读写的指令进行读写的
8、指令,只有在执行这些指令之后,至少在,只有在执行这些指令之后,至少在执行一条其它指令后,才会响应。执行一条其它指令后,才会响应。5.5 中断系统测量与机电控制核心课程关中断关中断保护现场保护现场开开中断中断中断服务中断服务关中断关中断开开中断中断中断请求撤回中断请求撤回中断返回中断返回恢复现场恢复现场中断地址弹出中断地址弹出PC断点地址入断点地址入PC中断服务程序中断服务程序5.5 中断系统测量与机电控制核心课程响应时间响应时间-从查询中断请求标志位到转向中断服务入口地址所需从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。的机器周期数。(1)最快响应时间最快响应时间以外部中断的电平
9、触发为最快。以外部中断的电平触发为最快。从查询中断请求信号到中断服务程序需要三个机器周期:从查询中断请求信号到中断服务程序需要三个机器周期:1个周期(查询)个周期(查询)2个周期(长调用个周期(长调用LCALL)(2)最慢响应时间最慢响应时间若当前指令是若当前指令是RET、RETI和和IP、IE指令,紧接着下一条是指令,紧接着下一条是乘除指令发生,则最长为乘除指令发生,则最长为8个周期:个周期:(2个周期执行当前指令(其中含有个周期执行当前指令(其中含有1个周期查询)个周期查询)4个周期乘个周期乘除指令除指令2个周期长调用个周期长调用8个周期。)个周期。)5.5 中断系统测量与机电控制核心课程
10、中断返回中断返回中断处理程序的最后一条指令是中断处理程序的最后一条指令是RETI,它使,它使CPU结束结束中断处理程序的执行,返回到断点处,继续执行主程序。中断处理程序的执行,返回到断点处,继续执行主程序。三种中断的区别 1、外部中断(P3.2/P3.3)激活方式:激活方式:(1)电平触发(低电平有效);电平触发(低电平有效);(2)边沿触发边沿触发(下降沿有效)下降沿有效)由特殊寄存器由特殊寄存器TCON的低的低4位(高位(高4位与定时位与定时/计数有关)决定。计数有关)决定。ITX:外部中断触发方式,外部中断触发方式,0:电平触发电平触发1:边沿触发边沿触发IE1IT1IE0IT0D3D2
11、D1DOIEX:外部中断请求(外部中断请求(1-有,有,0-无)无)(X=0指指IE0/IT0;X=1指指IE1/IT1)5.5 中断系统测量与机电控制核心课程边沿边沿触发方式的最大的优点是中断请求信号不会丢失(负脉冲的宽度应触发方式的最大的优点是中断请求信号不会丢失(负脉冲的宽度应大于大于1个个机器周期),机器周期),CPU响应中断后,硬件自动将标志位清零。响应中断后,硬件自动将标志位清零。电平电平触发方式在触发方式在CPU响应中断后,不能自动清除中断请求信号(故在响应中断后,不能自动清除中断请求信号(故在CPU中断返回之前,外部中断信号必须无效,否则会再次响应)。中断返回之前,外部中断信号
12、必须无效,否则会再次响应)。清除中断请求信号的方法如下清除中断请求信号的方法如下:两种触发方式的区别清除程序:清除程序:ANLP1,#0FEHORLP1,#01HRETIP1.0输出负脉冲使输出负脉冲使D触发器触发器的的Q端为端为1撤消引起重复中撤消引起重复中断的断的INT0低电平信号。低电平信号。INT0P1.0QSCLKD外接中断外接中断请求信号请求信号正脉冲正脉冲8051电路:电路:5.5 中断系统测量与机电控制核心课程2、定时器、定时器/计数器中断(内部)计数器中断(内部)当当C/T溢出时,由硬件自动置位溢出时,由硬件自动置位TF0/TF1,CPU响应中断后,由响应中断后,由硬件自动清
13、除中断标志。硬件自动清除中断标志。另可由程序对另可由程序对TF0/TF1置位或清除。置位或清除。3、串行口接收、串行口接收/发送中断发送中断(内部)(内部)完成一帧信号的接收完成一帧信号的接收/发送时,由硬件自动置中断标志位发送时,由硬件自动置中断标志位(特殊寄存器(特殊寄存器SCON的的RI/TI),CPU响应中断后,必须由软件清响应中断后,必须由软件清除除。5.5 中断系统测量与机电控制核心课程例例:多中断源(中断信号扩展):多中断源(中断信号扩展):(1)利用利用C/T计数输入端(计数输入端(T0/T1)实现外部中断:)实现外部中断:计数输入端计数输入端P3.4/P3.5作为边沿触发的外
14、部中断的输入作为边沿触发的外部中断的输入,这时这时C/T工作于计数方式,计数的初始值为工作于计数方式,计数的初始值为FFH。(2)利用逻辑电路实现外部中断:利用逻辑电路实现外部中断:中断的应用ORG0003HAJMPINT0INT0:PUSHPSWPUSHAJBP1.2,EI1JBP1.1,EI2JBP1.0,EI3。INT0P1.0P1.1P1.2OC门门5VABC5.5 中断系统测量与机电控制核心课程1、作用:、作用:定时、计数、波特率发生器;定时、计数、波特率发生器;2、主要特性:、主要特性:(1)具有两个可编程的定时具有两个可编程的定时/计数器计数器T0/C0和和T1/C1;(2)、)
15、、每个定时器每个定时器/计数器都有计数器都有4种工作方式;种工作方式;(3)任一定时器任一定时器/计数器在定时计数器在定时/计数到设定值后,可由程序安排产生中计数到设定值后,可由程序安排产生中断。断。3、结构:、结构:加法计数器加法计数器TL(低(低8位)、位)、TH(高(高8位)寄存器;位)寄存器;TMOD方式寄存器方式寄存器-决定工作方式决定工作方式TCON控制寄存器控制寄存器-启动停止和定时器的状态启动停止和定时器的状态5.6 定时器/计数器5.5 中断系统测量与机电控制核心课程定时定时/计数器的定时和计数功能计数器的定时和计数功能 在在TMOD中,各有一个控制位(中,各有一个控制位(C
16、T),),分别用于分别用于控制定时控制定时/计数器计数器T0和和T1是工作在定时器方式还是计数器是工作在定时器方式还是计数器方式。方式。1、定时功能定时功能-计数输入信号是内部时钟脉冲,每个机计数输入信号是内部时钟脉冲,每个机器周期使寄存器的值加器周期使寄存器的值加1。所以,计数频率是振荡频率的。所以,计数频率是振荡频率的1/12。2、计数功能计数功能-计数脉冲来自相应的外部输入引脚,计数脉冲来自相应的外部输入引脚,T0为为P3.4,T1为为P3.5。定时定时/计数器的核心部件是二进制加计数器的核心部件是二进制加1计数器计数器(TH0、TL0或或TH1、TL1)。5.5 中断系统测量与机电控制
17、核心课程微处理器与T/C的关系微微处处理理器器P内部总线内部总线TH1TH0TL1TL0T1T070707070TCONTMOD工作方式工作方式工作方式工作方式启动启动/停停止止溢出溢出溢出溢出5.5 中断系统测量与机电控制核心课程(1)加法计数器v作为定时器时,加法计数器对内部机器周期脉冲计数;作为定时器时,加法计数器对内部机器周期脉冲计数;v作为计数器时,加法计数器对芯片引脚作为计数器时,加法计数器对芯片引脚P3.3/P3.4输入的外部输入的外部脉冲计数(下降沿)。脉冲计数(下降沿)。v加法计数器的初始值可由程序设定,并且加法计数器的内容加法计数器的初始值可由程序设定,并且加法计数器的内容
18、可用程序读可用程序读到到CPU中。中。(2)方式寄存器)方式寄存器TMOD作用:用来选择定时器作用:用来选择定时器/计数器的工作方式;计数器的工作方式;格式格式:(以:(以T0为例)为例)T1/T0方式方式0:13位定时位定时/计数计数方式方式1:16位定时计数位定时计数T1/T0方式方式2:8位自动转载位自动转载定时计数定时计数T0方式方式3:T0分为两个分为两个8位位(T1无)无)的定时计数的定时计数GATEC0/T0M1M0门控位门控位 功能选择功能选择 工作方式选择工作方式选择D3D2D1D05.5 中断系统测量与机电控制核心课程(3)控制寄存器TCONv作用:控制作用:控制T0/C0
19、、T1/C1的的运行;运行;v格式:格式:(仅用高仅用高4位,低位,低4位用于中断)位用于中断)TR0TF0TR1TF1(中断标志位(中断标志位TF可由硬件自动清零,也可由程序清零)可由硬件自动清零,也可由程序清零)D7D6D5D4运行运行运行运行TF1、TF0溢出置溢出置1,转中断服务程序后自动清零。,转中断服务程序后自动清零。5.5 中断系统测量与机电控制核心课程以工作方式以工作方式0为例:为例:(1)由由TL的低的低5位与位与TH8位构成位构成13位位T/C;可用程序将可用程序将08191中的某一个数送入中的某一个数送入TL、TH作为初始值,加作为初始值,加法计数器溢出后,必须重新对法计
20、数器溢出后,必须重新对TL/TH赋初始值。赋初始值。(2)作为计数器时,外部计数脉冲的频率应小于作为计数器时,外部计数脉冲的频率应小于1/24fosc,并且并且高、低电平的宽度应大于一个机器周期(高、低电平的宽度应大于一个机器周期(CPU在每一个机器周在每一个机器周期期的的S5P2期间采样期间采样P3.4或或P3.5)。)。(3)定时时间由定时时间由T=(213-T0初值初值)*机器周期机器周期Tcy;计数初值由计数初值由C=(213-T0初值初值)。4、T/C的工作方式定时器计数器共有定时器计数器共有四种四种工作方式工作方式 5.5 中断系统测量与机电控制核心课程1、T0方式方式013位方式
21、位方式 计数脉冲输入TF0T0TR0GATEINT0+&C/T=1振荡器1/12C/T=0TL0 TH08位低5位13位计数器定时器计数器控制端控制端5.5 中断系统测量与机电控制核心课程2、T0方式方式116位方式位方式 振荡器振荡器1/12TL0 TH0TF0+&T0TR0GATEINT0C/T=0C/T=18位8位16位计数器控制端控制端5.5 中断系统测量与机电控制核心课程3、T0方式方式28位自动装入时间常数方式位自动装入时间常数方式 TF0振荡器1/1211&T0TR0GATEINT0C/T=0C/T=1TL0 TH05.5 中断系统测量与机电控制核心课程4、T0方式方式32个个8
22、位方式位方式(T1(T1无无)振荡器振荡器1/12TL0 TF0+&T0TR0GATEINT0C/T=0C/T=18位控制端控制端振荡器振荡器1/12TH0 TF1TR18位5.5 中断系统测量与机电控制核心课程T0被设置为方式被设置为方式3时,占用了时,占用了T1的中断源,故此时的中断源,故此时T1只能用于不需要只能用于不需要中断的场合。中断的场合。一般情况下,当一般情况下,当T0定义为工作方式定义为工作方式3时,时,T1作为串行口的波特率发生器作为串行口的波特率发生器使用。使用。振荡器振荡器1/12TL1 TH1T1C/T=0C/T=1串口T0被设置为方式被设置为方式3时,时,T1工作于方
23、式工作于方式0/方式方式1和方式和方式2的示意图的示意图振荡器振荡器1/12TL1T1C/T=0C/T=1串口TH15.5 中断系统测量与机电控制核心课程定时器、计数器对输入信号的要求定时器、计数器对输入信号的要求1、当输入信号产生负跳变时,计数器增当输入信号产生负跳变时,计数器增1。每个机器周期。每个机器周期对外部输入进行采样一次。对外部输入进行采样一次。2、外部输入的计数脉冲的最高频率为振荡器频率的外部输入的计数脉冲的最高频率为振荡器频率的1/24。3、输入电平至少要保持一个机器周期。输入电平至少要保持一个机器周期。5.5 中断系统测量与机电控制核心课程门控方式门控方式若若GATE0,计数
24、不受外部电平控制(仅由计数不受外部电平控制(仅由TRX决定,决定,X为为0/1)。)。若若GATE1,此时需此时需TR0/TR1=1且且P3.2/P3.31,才允许,才允许T0/T1计数。计数。利用此特点,可测量利用此特点,可测量P3.2或或P3.3引脚上出现的正脉冲宽度。引脚上出现的正脉冲宽度。P3.3(INT1)T1初始化初始化为测量做准备为测量做准备T1计数计数(定时)(定时)T1停止停止读数读数5.5 中断系统测量与机电控制核心课程T1初始化初始化方式方式1;定时;定时;初值。初值。P3.3=0T1启动启动YNP3.3=1YNP3.3=0T1停止停止YNT1记数值读取记数值读取等待等待等待等待等待等待ORG0000HAJMPMAINORG0400HMOVTMOD,#90HMOVTH1,#00HMOVTL1,#00HJBP3.3,WAIT1SETBTR1JNBP3.3,WAIT2JBP3.3,WAIT3CLRTR1MOVA,TH1MOVB,TL1ENDMAIN:WAIT1:WAIT2:WAIT3:正脉冲宽度测量程序5.5 中断系统