收藏 分享(赏)

第7讲中断系统.ppt

上传人:dreamzhangning 文档编号:2829275 上传时间:2018-09-28 格式:PPT 页数:23 大小:625.50KB
下载 相关 举报
第7讲中断系统.ppt_第1页
第1页 / 共23页
第7讲中断系统.ppt_第2页
第2页 / 共23页
第7讲中断系统.ppt_第3页
第3页 / 共23页
第7讲中断系统.ppt_第4页
第4页 / 共23页
第7讲中断系统.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、嵌入式系统及其电路,第 7 讲,8051的特殊功能寄存器 8051单片机的中断系统,本讲内容,8051的特殊功能寄存器 8051单片机的中断系统,1、累加器ACC(0E0H)Accumulator,是一个8位特殊功能寄存器,很多运算都要用A,结果一般放在A中。A是51单片机中使用最频繁的寄存器。,2、寄存器B(0F0H)8位寄存器,与A配合,用于乘、除法指令中。,3、程序状态字PSW(0D0H)Program Status Word,是一个8位寄存器,用来存放程序执行后的状态信息,供程序查询或判断。, CY 进位标志位,有进/借位CY=1,否则CY=0。 AC 半进位标志位,低半字节向高半字节

2、有进/借位, AC=1,否则AC=0 ,可用于BCD码运算判断位。 F0 用户标志位,用户自己定义用。 RS1、RS0 工作寄存器组选择位,详见下表。, OV-溢出标志位,补码运算结果超过-128127为溢出,OV=1;无溢出时,OV=0。 P-奇偶标志位,指令执行后A中1的个数为奇数,P=1;为偶数,P=0,4、堆栈指针SP(81H)Stack Pointer,是一个8位专用寄存器,8位地址指针。用于保存堆栈的栈顶单元的地址。堆栈是一个特殊的存储区,设在片内RAM中。,5、数据指针DPTR(82H、83H)16位寄存器,存放16位地址,可分为DPH和DPL两个8位寄存器使用。DPTR主要用于

3、操作片外RAM,也用于程序区数据表的读取。,6、I/O口P0P3专用寄存器P0P3是输入输出端口P0P3的锁存器。I/O口的操作没有专用指令,用操作RAM的指令。,7、程序计数器PCProgram Counter,是一个16位的指针,存放将要执行指令的地址。用户不可读写它,复位时PC=0000H。,本讲内容,8051的特殊功能寄存器 8051单片机的中断系统,中断及中断源,中断-interrupt1、CPU在执行程序时,CPU以外的设备请求停止现程序的执行,转去执行中断服务程序,处理外设事件,处理后再回到原地执行,这一过程叫中断。,主程序,转移,中断程序,返回,断点,2、中断流程,继续,中断与

4、子程序调用相似, 但有本质的区别, 子程序调用是固定的,专用指令,调用位置固定。,中断与子程序调用的不同点, 中断的执行是随机的,没有调用指令,任何位置。,3、中断工作方式的优点:1)外设与CPU可并行工作CPU与多个外设同时工作,互不干扰2)实现了实时处理、实时控制CPU能及时处理外部事件,如数据采集,监控3)能及时处理随机故障,TCON SCON,IE,IP,排队,TCON,中断源, 向CPU提出中断请求的设备或部件叫中断源, 来源有输入输出设备、实时时钟、硬件故障等。,MCS-51有5种类型的中断源:,外部中断2个INT0、INT1,内部中断3个定时器溢出中断,串行口中断,1、外部中断0

5、-INT0(P3.2)由P3.2引脚输入,一旦输入有效中断信号,便使标志位IE0置1,并向CPU申请中断。 2、外部中断1INT1(P3.3)与INT0类似,P3.3有中断信号,IE1置1,申请中断。,3、定时器0溢出中断-T0是内部中断,无外部输入。定时器T0溢出,使标志位TF0置1,向CPU申请中断。 4、定时器1溢出中断T1与T0类似,T1溢出,TF1置1,向CPU申请中断。 5、串行口中断S当串行口接收完一帧数据,中断标志位RI置1当串行口发送完一帧数据,中断标志位TI置1,每个中断源都有一个对应的中断标志位,中断标志位在两个特殊功能寄存器中,三、中断标志位,TCON定时器控制寄存器,

6、存放有4个标志位,SCON串行口控制寄存器,存放有2个标志位,1、TCON中的中断标志位Timer Control,为8位特殊功能寄存器,地址88H 用4位放定时器T0、T1,外部中断INT0、INT1的中断标志位。 TCON用来控制定时器的启/停和外部中断管理。 TCON可读可写,可位操作。,定时器Timer,外部中断Interrupt,高四位用于定时器, 低四位用于外部中断 1)TF1Timer1 Flowing,定时器T1溢出中断标志位T1溢出,硬件自动置标志位TF1=1,CPU响应中断,硬件自动清TF1=0。 2)TF0定时器T0溢出中断标志位 3)IE1Interrupt Exter

7、nal,外部中断1中断标志位若P3.3上有有效的中断信号,硬件置位IE1=1。 4)IE0外部中断0(P3.2)中断标志位另外4位中,TR0、TR1用于定时器T0和T1的启/停控制。IT0、IT1用于设置外部中断的触发方式。,TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0,D7 D6 D5 D4 D3 D2 D1 D0,TCON (88H),1)TI串行口发送中断标志位,Transfer InterruptCPU发送完一帧数据,硬件置位TI=1,响应中断,不能硬件自动清TF1=0,必须用软件清0。 2)RI串行口接收中断标志位,Receive InterruptCPU接收完一帧

8、数据,硬件置位RI=1,必须用软件清0,2、SCON中的中断标志位,Serial Control,为8位特殊功能寄存器,地址为98H 与中断有关的为低两位,四、中断控制,中断是可控的,由软件设置实现对中断功能的控制,IE中断允许寄存器,用于中断的开放或禁止,IP中断优先级寄存器,用于中断响应优先管理,1、中断允许寄存器IEInterrupt Enable,为一个8位寄存器,地址为A8H,INT0,T0,INT1,T1,S,总控位,EA-Enable Amount,中断总允许位EA=1,CPU开中断;EA=0,关中断,禁止所有中断 ES-Enable Serial,串行口中断允许位ES=1,允许

9、串行口中断;ES=0,禁止串行口中断 ET1-Enable Timer1,定时器T1溢出中断允许位ET1=1,允许T1中断; ET1=0,禁止T1中断 EX1-Enable eXternal,外部中断1中断允许位EX1=1,允许外部中断1中断;EX1=0,禁止 ET0-Enable Timer0,定时器T0中断允许位,类似ET1 EX0-Enable eXternal0,外部中断0允许位,类似EX1,举例,例:设允许T0中断和外部中断0中断,禁止其它中断 位操作指令编程如下:ET0=1;允许T0中断EX0=1;允许INT0中断EA=1;开总开关 字节操作指令编程如下:IE=0x83;,1 0

10、0 0 0 0 1 1 = 0x83,用字节操作指令或用位操作指令对IE进行初始化设置的方法,2、中断优先级寄存器IP,INT0,T0,INT1,T1,S,IP为一个8位特殊功能寄存器,地址为B8H 每个中断源均可设置为高优先级或低优先级:,设置为1时,该中断源为高优先级,设置为0时,该中断源为低优先级, 高优先级中断源可中断正在执行的低优先级中断 同级或低优先级中断不能中断正在执行的中断,管理原则, 51单片机有两级中断优先级,可实现两级中断嵌套。 只有在执行低级中断程序时,出现高级中断申请,才会有两级中断嵌套。, 如果同时出现多个同一优先级中断请求,CPU内部硬件逻辑按自然优先级排队依次响应。,ITX-Interrupt Trigger,外部中断触发方式控制位 外部中断有两种触发方式,通过设置IT0、IT1实现。,设置IT0=0时电平触发方式,低电平有效。,设置IT0=1时为边沿触发方式,下降沿有效。, IT0=1时,下降沿触发,CPU响应中断,硬件自动清IE0=0 IT0=0时,低电平触发,CPU响应中断不会自动清除IE0标志位,必须撤消INT0引脚上的低电平信号,使INT0=1,才能使IE0=0。相当于有硬件连接的:,INT0,INT1,本讲内容小结,8051的特殊功能寄存器 8051单片机的中断系统,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 往来文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报