




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程主讲:曹一鹏办公地点:重点实验室中楼412室联系电话第1 1章章: :微机原理微机原理概述概述第第2 2章章: :单片机概单片机概述述第第3 3章章: MCS-: MCS-5151单片机的硬单片机的硬件结构件结构( (* *) )第第4 4章章: MCS-: MCS-5151单片机指令单片机指令系统系统( (* *) )第第5 5章章: MCS-: MCS-5151单片机程序单片机程序设计设计( (* *) )第第7 7章章: MCS-: MCS-5151的定时器的定时器/ /计计数器数器( (* *) )第第6 6章章: MCS-: MCS-5151的中断系统的
2、中断系统( (* *) )第第8 8章章: MCS-: MCS-5151的串行口的串行口( (* *) )第第9 9章章: : 系统扩系统扩展技术展技术第第1010章章: : 模拟模拟接接口口第第1111章章: : 人机交人机交互接口互接口课程内容2 8051单片机的中断系统 8051单片机的中断处理过程 8051单片机的中断服务程序设计 8051的多中断源系统设计本讲主要内容3某人看书某人看书某人正在处理一件事某人正在处理一件事A手机铃响手机铃响出现另一件须立即解决的事出现另一件须立即解决的事B暂停看书暂停看书中止中止A 书中作记号书中作记号记录断点,便于接续记录断点,便于接续 电话谈话电话
3、谈话处理处理B继续看书继续看书继续继续A的工作的工作保护断点中断响应中断请求中断返回 (1) 现实生活中的中断:现实生活中的中断:6.1.1 6.1.1 中断的概念中断的概念4 中断原因:中断原因: 一个人不可能同一个人不可能同时完成两项任务。时完成两项任务。 单片机只有单片机只有一个一个CPU,一,一旦面临多任务,它也会旦面临多任务,它也会中断吗?中断吗?先接电话,然后再继续看书,这样效率最高!5(2) 单片机的中断单片机的中断 CPUCPU进行工作进行工作A A时发生了事件时发生了事件B B,请求,请求CPUCPU马上处理马上处理 CPUCPU暂时中断当前工作暂时中断当前工作A A,转去处
4、理事件,转去处理事件B B 事件事件B B处理完后,回到工作处理完后,回到工作A A被中断的地方继续处理被中断的地方继续处理A A工作工作 中断源 中断请求 中断服务 中断返回 中断系统中断的优点v 利用率高v 实时性强v 可靠性好中断 当CPU正在处理某件事情时,单片机外部或内部发生的某一紧急事件请求CPU立即去处理,于是,CPU暂时中止当前的工作,转去处理这个紧急事件,待处理完毕后,再回到原来被中止的地方,继续原来的工作。中断系统 能够实现中断处理功能的部件中断处理过程 中断请求 中断响应 中断服务 中断返回7主程序中断请求响应中断请求返回主程序中断服务程序继续执行主程序中断源 引起中断的
5、原因,或者是能发出中断申请的来源 又被称作“中断请求源”中断请求 中断源向CPU提出的处理请求外部中断0和1(INT0、INT1) 采集到低电平或者脉冲下降沿时,产生中断请求。 INT0来自P3.2引脚 INT1来自P3.3引脚定时/计数器0和1(T0、T1) 定时功能时,计数脉冲来自片内 计数功能时,计数脉冲来自片外 T0来自P3.4引脚 T1来自P3.5引脚 计数值由8个1变成8个0时,产生中断请求。串行中断 发送或接收完一个字节数据时,产生中断请求 发送来自P3.0引脚 接收来自P3.1引脚8MCS-51MCS-51的中断源的中断源并行处理并行处理 CPUCPU可以与多台外设并行工作,并
6、分时与他们进行信息可以与多台外设并行工作,并分时与他们进行信息交换,提高了交换,提高了CPUCPU的工作效率。的工作效率。实时控制实时控制 单片机应用系统可能随机请求单片机应用系统可能随机请求CPUCPU提供服务。有了中断提供服务。有了中断系统,系统,CPUCPU就可以立即响应并予以处理。就可以立即响应并予以处理。故障处理故障处理 单片机系统在工作时可能会出现一些突发故障,如电源单片机系统在工作时可能会出现一些突发故障,如电源断电,存储器出错,程序执行错误(如除数为断电,存储器出错,程序执行错误(如除数为0 0)等,一旦出)等,一旦出现故障,现故障,CPUCPU就可及时转去执行故障处理程序,而
7、不必停机。就可及时转去执行故障处理程序,而不必停机。9 为实现中断功能而配置的硬件和编写的软件就是中断为实现中断功能而配置的硬件和编写的软件就是中断系统。系统。中断功能由中断系统来执行。中断功能由中断系统来执行。10110INT1INTIT0=0IT0=1IE0TF0IE1TF1TIRIT0T1TXRX+ESET1EX1ET0EX010PT010PT110PX110PS10PX0矢量地址自然优先级矢量地址自然优先级低级中断请求PC高级中断请求PC IE IPIT1=0IT1=1硬件查询硬件查询源允许总允许优先级中断请求标记中断触发方式中断源中断请求中断请求中断允许中断允许中断优先级中断优先级中
8、断响应中断响应 8051中断系统的结构5个中断源、个中断源、2个中断优先级个中断优先级8051单片机有单片机有5个中断源。见下表个中断源。见下表 哪些哪些部件可以部件可以向向CPU申请中申请中断呢?断呢?中断源中断源 说明说明 外部中断外部中断 从从P3.2引脚引入的外部中断申请引脚引入的外部中断申请定时器定时器T0中断中断 定时器定时器T0溢出时引发中断申请溢出时引发中断申请外部中断外部中断从从P3.3引脚引入的外部中断申请引脚引入的外部中断申请定时器定时器T1中断中断定时器定时器T1溢出时引发中断申请溢出时引发中断申请串行口中断串行口中断一次串行发送或接收完成后,发出中断一次串行发送或接收
9、完成后,发出中断申请申请0INT1INT能够向能够向CPU发出中断申请的部件称为中断源。发出中断申请的部件称为中断源。中断允许寄存器中断允许寄存器IE中断优先级寄存器中断优先级寄存器IP定时定时/计数器及外部中断控制寄存器计数器及外部中断控制寄存器TCON串口控制寄存器串口控制寄存器SCON 单片机通过对单片机通过对4个特殊功能寄存器个特殊功能寄存器实施中断控制:实施中断控制:13 触发方式设置及中断标志触发方式设置及中断标志 76543210TCONTF1TR1TF0TR0IE1IT1IE0IT0字节地址:字节地址:88H外部中断触发方式位IT1、IT0(用ITx表示) 电平方式(ITx=0
10、),INTx引脚低电平时IEx=1,响应中断后IEx不自动清0(INTx引脚状态)。 边沿方式(ITx=1),INTx引脚负跳变时IEx=1,响应中断后IEx自动清0。 外部中断标志IE1、IE0(用IEx表示)两种触发方式比较: 电平方式时电平方式时, INTx低电平必须保持到响应时,否则就会漏掉;在中断低电平必须保持到响应时,否则就会漏掉;在中断服务结束前,服务结束前,INTx低电平必须撤除,否则中断返回之后将再次产生中断。低电平必须撤除,否则中断返回之后将再次产生中断。 例,例,8255的中断请求线在接受读或写操作后即被复位,因此以其去请求的中断请求线在接受读或写操作后即被复位,因此以其
11、去请求电平触发方式的中断比较方便。电平触发方式的中断比较方便。边沿方式时,边沿方式时,采样到有效下降沿后,在采样到有效下降沿后,在IEx中将锁存一个中将锁存一个1。若。若CPU暂暂时不能响应,申请标志也不会丢失,直到响应时才清时不能响应,申请标志也不会丢失,直到响应时才清0。 例,例,ADC0809的转换结束信号的转换结束信号EOC为正脉冲,经反相后就可以作为为正脉冲,经反相后就可以作为8051的的INTx信号信号 。 溢出中断标志溢出中断标志TF1、TF0(用(用TFx表示)表示) 溢出中断请求标志溢出中断请求标志TFx ,Tx启动后就开始由初值进行加启动后就开始由初值进行加1计数,直至计数
12、,直至最高位产生溢出使最高位产生溢出使TFx=1向向CPU请求中断。请求中断。CPU响应中断后响应中断后TFx自动自动清清0。 SCONSCON的中断标志的中断标志76543210SCONTIRI字节地址:字节地址:98HRI:串口:串口接收接收中断标志,响应中断时中断标志,响应中断时不能自动清除不能自动清除 TI:串口:串口发送发送中断标志,响应中断时中断标志,响应中断时不能自动清除不能自动清除 外部中断INTi(i=0,1) 电平方式触发中断 ITi设置为0 CPU在每个机器周期的S5P2采样INTi引脚,若INTi引脚为低电平时,则置IEi为1,产生中断请求。 跳沿方式触发中断 ITi设
13、置为1 加到INT0上的信号电平从高跳变到低时,触发中断 当CPU响应中断后,IEi由硬件自动复位定时/计数器中断Ti(i=0,1) Ti产生溢出(计数值由8个1变成8个0)时,TFi由0变成1,向CPU发出中断请求。 中断响应后,TFi自动复位。串行中断 发送(TX) 发送完一个字节数据时,TI由0置1,向CPU发出中断请求。 中断响应后,必须用指令复位TI。 接收(RX) 接收完一个字节数据时,RI由0置1,向CPU发出中断请求。 中断响应后,必须用指令复位RI。17S1S2S3S4S5S6P1 P2 P1 P2P1 P2 P1 P2P1 P2 P1 P218位地址8FH 8EH 8DH
14、8CH 8BH 8AH 89H 88H位符号TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TF1 TF0:当定时当定时/计数器产生溢出时,由硬件置计数器产生溢出时,由硬件置“1”,并申请中断。当转向中断服务时,并申请中断。当转向中断服务时,再由硬件自动清再由硬件自动清“0”。IE1 IE0:当当CPU采样到外部中断请求时,由硬件置采样到外部中断请求时,由硬件置“1”。当转向中断服务时,再由硬件自动。当转向中断服务时,再由硬件自动清清“0”。IT1 IT0:为为1时,脉冲触发方式,下降沿有效时,脉冲触发方式,下降沿有效为为0时,电平触发方式,低电平有效时,电平触发方式,低电平有效
15、位地址9FH 9EH 9DH 9CH 9BH 9AH 99H 98H位符号SM0 SM1 SM2 REN TB8 RB8TIRITI:当串行口发送完一帧串行数据后,由硬件置当串行口发送完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清在转向中断服务程序后,用软件清“0”RI:当串行口接收完一帧串行数据后,由硬件置当串行口接收完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清在转向中断服务程序后,用软件清“0”中断请求所影响到的位地址 中断允许控制中断允许控制中断源的开放和屏蔽由IE控制(1,开放;0,禁止) 76543210IEEAESET1EX1ET0EX0字节地
16、址:字节地址:A8H EX0:外中断0允许 ET0:T0中断允许 EX1:外中断1允许 ET1:T1中断允许 ES :串口中断允许 EA :CPU中断允许 20位地址AFH AEH ADH ACH ABH AAH A9H A8H位符号EA-ESET1 EX1 ET0 EX0EA:中断允许总控制位。中断允许总控制位。0禁止,禁止,1允许。允许。ES:串行中断允许控制位。串行中断允许控制位。0禁止,禁止,1允许。允许。ET1: 定时计数器定时计数器1中断允许控制位。中断允许控制位。0禁止,禁止,1允许。允许。EX1外部中断外部中断1允许控制位。允许控制位。0禁止,禁止,1允许。允许。ET0定时计数
17、器定时计数器0中断允许控制位。中断允许控制位。0禁止,禁止,1允许。允许。EX0外部中断外部中断0允许控制位。允许控制位。0禁止,禁止,1允许。允许。中断允许中断允许21【例】若允许片内2个定时/计数器中断,禁止其他中断源的中断请求,试编写出设置IE的程序段。CLR ES; ES=0,禁止串行口中断CLR EX0; EX0=0,禁止外部中断0CLR EX1; EX1=0,禁止外部中断1SETB ET0; ET0=1,允许定时/计数中断0SETB ET1; ET1=1,允许定时/计数中断0SETB EA; CPU开中断(方法1) 用位操作指令(方法2) 用字节操作指令MOV IE,#100010
18、10BIE位地址AFH AEH ADH ACH ABH AAH A9H A8H位符号EA-ESET1 EX1 ET0 EX010001010 中断优先级控制中断优先级由IP控制(1,高级;0,低级) 76543210IPPSPT1PX1PT0PX0字节地址:字节地址:B8H PX0:外中断0优先级 PT0:T0中断优先级 PX1:外中断1优先级 PT1:T1中断优先级 PS :串口中断优先级同一优先级的自然顺序:同一优先级的自然顺序:自高至低:自高至低:INT0、T0、INT1、T1、串口。、串口。 23位地址BFH BEH BDH BCH BBH BAH B9H B8H位符号-PSPT1 P
19、X1 PT0 PX0PX0: 外部中断外部中断0的优先级设定位,的优先级设定位,1为高,为高,0为低为低PT0: 定时中断定时中断0的优先级设定位,的优先级设定位,1为高,为高,0为低为低PX1: 外部中断外部中断1的优先级设定位,的优先级设定位,1为高,为高,0为低为低PT0: 定时中断定时中断0的优先级设定位,的优先级设定位,1为高,为高,0为低为低PX:串行中断的优先级设定位,串行中断的优先级设定位,1为高,为高,0为低为低中断优先级中断优先级 中断优先级遵循的原则几个中断同时申请,先响应高级的中断几个中断同时申请,先响应高级的中断 正进行的中断服务,同级或低级中断不能对其中断,正进行的
20、中断服务,同级或低级中断不能对其中断,但可以被高级中断所中断。但可以被高级中断所中断。 为此,中断系统内设有对应高、低为此,中断系统内设有对应高、低2个个优先级状态触发器优先级状态触发器(用户不能寻址)。(用户不能寻址)。 状态触发器的复位由中断返回指令状态触发器的复位由中断返回指令RETI控制。控制。25【例】设置IP寄存器的初始值,使得MCS-51系统的2个外中断请求为高优先级,其他中断请求为低优先级SETB PX0; PX0=1,外中断0为高优先级SETB PX1; PX1=1,外中断1为高优先级CLR PT0; PT0=0,定时中断0为低优先级CLR PT1; PT1=0,定时中断1为
21、低优先级CLR PS; PS=0,串行中断为低优先级(方法1) 用位操作指令(方法2) 用字节操作指令MOV IP,#00000101B位地址BFH BEH BDH BCH BBH BAH B9H B8H位符号-PSPT1 PX1 PT0 PX000000101IP6.2.1 6.2.1 中断响应条件和时间中断响应条件和时间 中断响应条件中断响应条件有中断请求有中断请求 相应的中断允许位为相应的中断允许位为1CPU开中断(即开中断(即EA=1) 遇下面情况之一将不被响应(遇下面情况之一将不被响应(此间中断条件失效,中断丢失此间中断条件失效,中断丢失) 正在处理同级或高级中断正在处理同级或高级中
22、断 当前查询周期不是所执行指令的最后一个机器周期当前查询周期不是所执行指令的最后一个机器周期 正在执行正在执行RETI或或访问访问IE或或IP 的指令的指令 中断响应时间中断响应时间中断响应至少需要中断响应至少需要3个完整的机器周期个完整的机器周期(38个)!个)!受阻时要附加受阻时要附加35个机器周期个机器周期(无同级或高级中断正进行无同级或高级中断正进行) 查询周期不是当前指令的最后机器周期查询周期不是当前指令的最后机器周期(如如MUL,+3)查询周期恰逢查询周期恰逢RETI类指令类指令(且后跟且后跟MUL指令指令+5)6.2.2 6.2.2 中断响应过程中断响应过程 CPU响应中断过程响
23、应中断过程将相应优先级状态触发器置将相应优先级状态触发器置1(阻断后来同级或低级中断阻断后来同级或低级中断 )执行硬件执行硬件LCALL指令(指令(PC入栈,中断服务程序入口址送入栈,中断服务程序入口址送PC)执行中断服务程序执行中断服务程序 编写中断服务程序注意编写中断服务程序注意中断服务程序入口存放指令中断服务程序入口存放指令LJMP或或AJMP现场保护与现场恢复现场保护与现场恢复6.2.3 6.2.3 中断返回中断返回 中断服务程序最后指令必须是中断服务程序最后指令必须是RETI,其功能:,其功能: 将断点从堆栈弹送将断点从堆栈弹送PC,CPU从原断点继续执行从原断点继续执行 将相应优先
24、级状态触发器清将相应优先级状态触发器清0,恢复原来工作状态,恢复原来工作状态 注意注意不能用不能用RET代替代替RETI 中断服务程序中中断服务程序中PUSH和和POP必须成对使用必须成对使用6.2.4 6.2.4 中断请求的清除中断请求的清除 CPU响应某中断后,在中断返回前,中断请求应被撤除,否响应某中断后,在中断返回前,中断请求应被撤除,否则会引起另一次中断。则会引起另一次中断。1、定时器、定时器0和定时器和定时器1中断中断 CPU在响应中断后用在响应中断后用硬件硬件自动清除有关的中断请求标志自动清除有关的中断请求标志TF0或或TF1。2、边沿触发的外部中断、边沿触发的外部中断 在硬件在
25、硬件CPU在响应中断后用在响应中断后用硬件硬件自动清除有关的中断请求标自动清除有关的中断请求标志志IE0或或IE1。3、电平触发的外部中断、电平触发的外部中断 在硬件上在硬件上CPU对对/INT0、INT1没有控制,因此必须另外采取没有控制,因此必须另外采取措施措施加外部加外部硬件控制硬件控制和和软件编程软件编程。4、串行口中断、串行口中断 CPU在响应中断后没有用硬件自动清除中断请求标志在响应中断后没有用硬件自动清除中断请求标志RI和和TI,必须在中断服务程序中用必须在中断服务程序中用软件软件清除之,以撤除中断请求。清除之,以撤除中断请求。3031ORG 0000H;程序开始LJMP STA
26、RT;= LJMP 1000HORG 0003H;外部中断外部中断0入口地址入口地址LJMP INTORG 1000H;主程序入口START: MOV P1, #0AAH; 0AAH=10101010BSETB EX0;允许外部中断0SETB PX0;设置外部中断0为高优先级SETB IT0;设置外部中断0为负跳变触发SETB EA;开中断SJMP $;原地跳转,等待中断INT:CLR EA;关中断PUSH PSW;现场保护PUSH ACC;SETB EA;开中断CPL A;对累加器A按位取反MOV P1, A;累加器A值送P1端口CLR EA;关中断POP ACC;现场保护POP PSW;S
27、ETB EA;开中断RETI;关中断现场保护开中断中断处理关中断现场恢复开中断中断返回中断服务程序的基本流程32为了防止此时有高一级的中断进入,以免现场保护的执行过程被中断。关中断现场保护开中断中断处理关中断现场恢复开中断中断返回33关中断现场保护开中断中断处理关中断现场恢复开中断中断返回所谓现场是指中断时刻单片机中某些寄存器和存储器单元中的数据或状态。为了不让中断服务程序的执行破坏这数据或状态,以免中断返回后影响主程序的运行,需要将他们送入堆栈保存起来。34关中断现场保护开中断中断处理关中断现场恢复开中断中断返回为了允许有更高级的中断进入。这样一来,除了现场保护和现场恢复外,中断处理的过程仍
28、允许中断嵌套的功能35关中断现场保护开中断中断处理关中断现场恢复开中断中断返回为了防止此时有高一级的中断进入,以免现场恢复的执行过程被中断。36关中断现场保护开中断中断处理关中断现场恢复开中断中断返回中断处理结束后,在返回主程序前,把保存的现场的内容从堆栈中弹出,以恢复那些寄存器和存储单元中的原有内容37关中断现场保护开中断中断处理关中断现场恢复开中断中断返回为了允许有更高级的中断进入。现场恢复后,仍允许中断嵌套的功能。38关中断现场保护开中断中断处理关中断现场恢复开中断中断返回必须是返回指令RETI。CPU执行完这条指令后,把响应中断时所置“1”的优先级状态触发器清“0”,然后从堆栈中弹出栈顶上的两个字节的断点地址送到程序计数器PC,弹出的第一个字节送入PCH,第二个字节送入PCL,CPU从断点处重新执行被中断的主程序【例例6-1】单外部中断源示例 ORG 0000H LJMP MAIN ORG 0003H LJMP INT0 ORG 0030H MAIN:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030BabyNes胶囊行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030降血脂药行业竞争格局分析及投资前景与战略规划研究报告
- 2025-2030年风扇行业市场深度调研及前景趋势与投资研究报告
- 2025-2030年智慧园区产业市场深度调研及发展趋势与投资战略研究报告
- 2025-2030年光学玻璃产业市场深度分析及前景趋势与投资研究报告
- 2025-2030年中国航空货运安检系统行业市场现状供需分析及投资评估规划分析研究报告
- 湖北健康职业学院《智能电子设计基础》2023-2024学年第二学期期末试卷
- 宁波工程学院《层序地层学原理及应用》2023-2024学年第二学期期末试卷
- 合肥科技职业学院《机械基础机构简图测绘实验》2023-2024学年第二学期期末试卷
- 湖北铁道运输职业学院《画法几何与建筑制图》2023-2024学年第二学期期末试卷
- 分子氧氧化丙烯制环氧丙烷铜基催化剂的制备及性能研究
- 经营书院合作协议书
- 人教版五下-6.1 同分母分数加减法(教学课件)
- GB/T 10069.3-2024旋转电机噪声测定方法及限值第3部分:噪声限值
- 知道智慧网课《科技伦理》章节测试答案
- 【真题】2023年常州市中考道德与法治试卷(含答案解析)
- GA 1808-2022军工单位反恐怖防范要求
- GB/T 14689-2008技术制图图纸幅面和格式
- 车库顶板行车及堆载方案范本
- 关于开展超大规格防火门产品证书有效性重新确认换证工
- 尿素合成塔制造工艺
评论
0/150
提交评论