:MCS-51单片机中断系统结构(一节)

第五章MCS-51单片机中断系统第一节中断系统结构(一)学习要求了解中断响应过程,中断请求撤除法。(三)习题与思考题1.8052单片机提供了几个中断源?3.MCS-51单片机的中断系统有哪几部分组成?MCS-51系列单片机的中断系统中有几个优先级?MCS-51系列单片机的中断系统中有几个优先级?

中断返回:断点弹出打开中断允许返回原来的程序。 3. 中断优先级及其嵌套优先级——高优先级和低优先级,可以通过SFR 寄存器IP 设置。 中断嵌套的原则是高优先级中断不能被低优先级中断打断,同一级别的中断不能互相中断。 4、中断控制的特点是通过执行具有特定功能的程序段来达到预定的目的。 5、中断系统结构图 2、通过设置四个特殊功能寄存器:TCON、SCON、IE、IP 来实现中断控制。 1. 中断请求控制 (1) 定时中断和外部中断请求控制寄存器 TCON 字节地址 88H,位地址 8FH~88H,与中断请求相关的位表示如下: (2) 串行中断请求控制寄存器 SCON 串行中断该请求由TI和RI的逻辑“或”得到。 即无论该标志是发送还是接收,都会发生串行中断请求。 字节地址98H,位地址9FH~98H,与中断请求相关的位表示如下:TI为发送中断,RI为接收中断,为“1”时表示请求中断,必须是响应后由用户软件清零。 (3) 取消中断请求并响应中断后,必须及时清除TCON 和SCON 中响应的中断请求标志位,否则会导致重复查询和响应中断。 外部中断请求的取消: 对于边沿触发方式:由于触发信号经过后就消失了,自然是自动取消。 对于电平触发方式:取消需要通过软件和硬件的结合来实现。

取消定时中断请求:定时中断后,硬件自动清“0”。 串行中断请求的取消:“0”不能自动清除,必须在中断服务子程序中用软件清除。 2、中断权限控制由SFR寄存器IE设置,分为两级权限控制。 EA位作为总体控制,各个中断源的使能位作为分控制。 中断使能控制寄存器IE,字节地址A8H,位地址AFH~A8H,与中断使能相关的位表示如下:单片机复位=00H,因此整个中断系统处于禁止状态。 3. 中断优先级控制由SFR 寄存器IP 设置。 有 2 个优先事项。 对应位置为“1”,优先级高。 对应位置为“0”,为低优先级。 中断优先级寄存器 IP,字节地址 B8H,位地址 BFH~B8H,与中断使能相关的位表示如下: 注:当 5 个中断使能位全部设置为“1”时,效果与全部清除相同,并且它们处于相同的优先级。 中断按照自然优先级进行处理,即INTT0INTT1串口PT2,优先级从高到低。 (三)练习与思考题 1、8052单片机提供了多少个中断源? 中断优先级有多少级? 2. 外部中断有几种触发方式? 3、MCS-51单片机的中断系统由哪些部分组成? 功能是什么? MCS-51系列单片机的中断系统有多少个优先级? 怎么设置呢? 第二节中断响应 (一)学习要求 (1)掌握中断响应的条件和过程。 (2)了解中断响应的复位。

(3)了解程序初始化和编程。 (4)了解多个外部中断源的扩展(二)内容概要 1、中断响应的条件 CPU响应中断的基本条件如下:中断总使能位EA=1,即CPU打开中断; 中断请求中断源的中断使能位为1,即不被屏蔽。 MCS-51 CPU 在每个机器周期的 S5P2 期间顺序采样每个中断请求标志。 如果设置了,只要满足上述条件且不存在以下三个条件,则CPU在下一个周期的S1期间做出响应。 打断。 否则,取消抽样结果。 这三种情况是: (1) CPU正在处理同级或更高优先级的中断。 (2) 当前机器周期不是所执行指令的最后一个机器周期。 (3) 正在执行的指令是RETI或访问IE或IP指令。 CPU执行完RETI、IE、IP指令后,还需要执行至少一条其他指令才能响应中断请求。 2:中断响应过程 单片机在每个机器周期的S5P2期间顺序采样每个中断源。 CPU在下一个机器周期S6期间按优先级顺序查询中断标志。 如果发现中断标志为1,则重新查找。 在下一个机器周期S1期间,根据优先级进行中断处理。 响应中断后,中断标志自动清除,硬件将程序计数器PC的内容压入堆栈进行保护,然后将相应的中断向量加载到程序计数器PC中,使程序转移到中断向量地址单元执行相应的中断服务程序。

有下列情况之一的,中断请求将被阻塞: 1)CPU正在执行同级或者更高一级的中断服务程序。 (2) 当前正在执行的指令尚未完成。 (3) 当前执行的指令是RETI 或IE 和IP 寄存器的读/写指令。 执行完这些指令后,至少还要执行一条指令才能响应中断。 3、复位状态下CPU响应中断请求后,必须取消请求,清除中断标志位,回到从中断返回前的原始状态(执行RETI)。 否则会再次错误地造成中断响应。 如前所述,对于定时器/计数器0和1的中断请求以及边沿触发方式的外部中断0和1,CPU响应后使用硬件清除相应的中断请求标志位TF0、TF1、IE0和IE1。中断,即自动取消中断请求。 对于串行接口中断和定时器/计数器中断,CPU响应中断后不使用硬件清除中断标志位。 相应的中断标志必须由用户编程的中断服务程序清除。 例如,使用CLRTF2 指令清除TF2,使用CLREXF2 指令清除EXF2。 程序初始化的概念和步骤。 所谓程序中断系统初始化,是指用户给相关特殊寄存器中的相关控制位赋值,进行中断控制。 步骤如下: 1) 设置相应中断的中断使能标志和EA。 2) 设置所使用的中断源的中断优先级。 3)对于外部中断,应设置中断请求信号格式(电平触发/边沿触发)。

工作模式需设置为定时/计数中断(定时/计数5-1通过P1.0~P1.7控制发光二极管,输出两种节日灯,使用外部中断P3.2切换分析:主程序中的状态:1个灯亮,循环向左移动 中断程序中的状态:8个灯依次亮起,间隔1秒,然后熄灭主流程图(略),程序如下: ORG0000HLJMPMAINORG0003H;中断入口 LJMP0100HORG0030HSTART:MOVSP,#60HSETBIT0;设置下一个跳转为有效 SETBEX0;打开 SETBEAMOV IP,#01H MOV# 01HLOOP: MOV P1, LCALLDELAY AJMP LOOP 中断服务程序:ORG 0100H PUSH ACC CLR MOVR0, #00 HLOOP1: SETB MOVP1, LCALLDELAY JNB ACC.7, LOOP1 LOOP2: CLR MOVP1, LCALLDELAY JB ACC.7, LOOP2 INC R0 CJNE R0, #03H,LOOP1 POP ACC RET DELAY:第二次延迟 (3) 练习与思考题 MCS-51 系列单片机中有多个中断源。 中断标志是如何产生以及如何清零的? 当CPU响应中断时,它们的中断向量地址是多少? MCS-51系列单片机的中断系统有多少个优先级? 怎么设置呢? CPU响应中断的条件是什么? 什么情况下中断响应会被阻塞? 简述MCS-51中断响应流程? MCS-51中断响应时间是固定的吗? 为什么? 8031芯片的INT0和INT1引脚分别输入压力超限和温度超限中断请求信号,定时器/实时时钟用作定时检测。 用户指定的中断优先级排队顺序为:压力超限->温度超限->定时检测,需要确定IE和IP的内容才能实现上述要求。

单片机

武汉靠谱的Java培训机构怎么能少得了我们蜗牛?

2024-2-5 2:02:22

单片机

Win10onARM版本树莓派3代Wifi驱动开源Wifi

2024-2-5 3:02:22

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索