8051单片机中断系统结构及中断控制原理

合集下载

单片机原理及应用教程(C语言版)-第5章 MCS-51单片机的中断系统

单片机原理及应用教程(C语言版)-第5章 MCS-51单片机的中断系统

5.2.5 中断允许控制
例5-1 假设允许INT0、INT1、T0、T1中断,试 设置IE的值。 (2)汇编语言程序 按字节操作: MOV IE,#8FH 按位操作: SETB EX0 ;允许外部中断0中断 SETB ET0 ;允许定时器/计数器0中断 SETB EX1 ;允许外部中断1中断 SETB ET1 ;开定时器/计数器1中断 SETB EA ;开总中断控制位
IP (B8H)
D7 —
D6 D5 D4 D3 D2 D1 D0 — PT2 PS PT1 PX1 PT0 PX0
PT2:定时器/计数器T2的中断优先级控制位 PT2设置1则T2为高优先级,PT2设置0则T2为 低优先级。 后面各位均是如此,设置1为高优先级,设置0 为低优先级,不再一一赘述。 PS:串行口的中断优先级控制位。 PT1:定时器/计数器1的中断优先级控制位。 PX1:外部中断1的中断优先级控制位。 PT0:定时器/计数器0的中断优先级控制位。 PX0:外部中断0的中断优先级控制位。
5.2.4 中断请求标志
4.定时器/计数器T2中断请求标志
T2CON D7 D6 D5 (C8H) TF2 EXF2 D4 D3 D2 D1 D0
EXF2:定时器/计数器2的外部触发中断请求标志 位。T2以自动重装或外部捕获方式定时、计数,当 T2EX(P1.1)引脚出现负跳变时,TF2由硬件置1, 向CPU请求中断,CPU响应中断后,EXF2不会被硬 件清0,需要在程序中以软件方式清0。
5.2.3 外中断触发方式
TCON格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
IT0=1,外中断0为下降沿触发 CPU在每一个机器周期的S5P2期间对P3.2引 脚采样,若上一个机器周期检测为高电平,紧挨着 的下一个机器周期为低电平,则使IE0置1。 IT1:外中断1触发方式控制位。功能同IT0

模块5 认识单片机中断系统

模块5 认识单片机中断系统

断编号;0表示使用第0组工作寄存器 */
TL1 = (65536-50000)%256;
}
22
任务22-1:用定时器T1中断方式控制P3口8位LED闪烁
• (3)用Proteus软件仿真
图5-1用定时器T1中断方式控制P3口8位LED闪烁效果图
23
• 任务23-1:用外中断控制P2口8个LED亮灭 在P3.3引脚(INT1)上接按键S,使用外中断控制P2口8个LED亮灭。
4
任务22-2:相关知识 • 2、中断的作用
➢可以实现CPU与外部设备的并行工作,提高CPU利用效率。 ➢可以实现CPU对外部事件的实时处理,进行实时控制。 ➢实现多项任务的实时切换。
5
80C51单片机具有五个中断源: 定时中断:由单片机的定时器/计数器的溢出标志(TF0、TF1)
触发的中断,80C51单片机有T0和T1两个定时中断。 外中断:由外部信号触发的中断,80C51有2个外部中断(INT0---
case 0x02:exint1();break; /*调用函数exint1(),EXINTT1中断服务,此处省略*/
case 0x04:exint2();break; /*调用函数exint2(),EXINTT2中断服务,此处省略*/
case 0x08:exint3();break; /*调用函数exint3(),EXINTT3中断服务,此处省略*/
IE E X0
TF0 E X0
IE 1 E X1
TF1
TI
≥1
RI
SCO N 中断 标志
E T1
ES
EA
源允许 总允许
IP P X0 1
0
P T0 1 0
P X1 1 0

第5章 中断系统

第5章 中断系统
5.1 中断的概念 5.2 8051的中断源和中断控制寄存器 5.3 中断处理的过程 5.4 中断响应等待时间 5.5 C51中断服务函数 5.6 中断系统的应用 5.7 实践训练—键控彩灯 5.8 习题
计算机与外设交换信息时,慢速工作的外设与快速工作的CPU之间形成一个很大的矛盾。 例如:计算机与打印机相连接,CPU处理和传送字符的速度是微秒级的,而打印机打印字符 的速度远比CPU慢。CPU不得不花大量时间等待和查询打印机打印字符。中断就是为解决这 类问题而提出的。
02
02
Hale Waihona Puke 023.中断允许控制寄存器IE CPU对中断系统的所有中断以及某个中断源的开放和屏蔽是由中断允许控制寄存器IE控制 的。IE的状态可通过程序由软件设定。某位设定为1,相应的中断源中断允许;某位设定为0, 相应的中断源中断屏蔽。CPU复位时,IE各位清0,禁止所有中断。IE的结构、位名称和位地址 见表5-3。
03
4.中断返回 中断服务程序的最后一条指令必须是中断返回指令RETI。RETI指令能使CPU结束中断服务程序的执 行,返回到曾经被中断过的程序处,继续执行主程序。RETI指令的具体功能如下。 (1)恢复断点地址 将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序。 注意,不能用RET指令代替RETI指令,因为用RET指令虽然也能控制PC返回到原来中断的地方,但 RET指令没有清0中断优先级状态触发器的功能,中断控制系统会认为中断仍在进行,其后果是与此同级 的中断请求将不被响应。 若用户在中断服务程序中进行了入栈操作,则在RETI指令执行前应进行相应的出栈操作,使栈顶指 针SP与保护断点后的值相同,即在中断服务程序中PUSH指令与POP指令必须成对使用,否则不能正确 返回断点。 (2)开放同级和低级中断 上述中断响应过程大部分操作是CPU自动完成的,用户只需要了解来龙去脉。而用户需要做的事情是 编制中断服务程序,并在此之前完成中断初始化,即设置堆栈,定义外中断触发方式,定义中断优先级, 开放中断等。

单片机中断系统详细教程

单片机中断系统详细教程

单片机中断系统详细教程一、中断系统的原理中断系统是一种异步事件响应机制,它允许设备在正常程序运行的过程中插入一个特殊事件,中断请求触发后,处理器即刻中断当前程序的执行,执行特定的中断服务程序,完成对事件的处理。

其流程如下:1.当外设需要处理器响应时,会向处理器发送中断请求信号,通常为一个引脚的高电平触发。

2.处理器在接收到中断请求信号后,暂停当前的程序执行,保存当前现场(保存中断发生时的CPU状态),并进入中断服务程序执行,执行完成后再返回到原来的程序继续执行。

二、中断系统的使用方法1.初始化中断控制器:对中断向量表进行初始化,设置中断优先级等。

2.配置外设的中断请求触发方式:设置外设的中断触发方式,包括电平触发和边沿触发。

3.编写中断服务程序:根据需要,编写中断服务程序来处理中断事件。

4.启动中断系统:启动中断系统,使处理器能够响应外设的中断请求。

三、中断系统的实例下面以8051单片机为例,演示如何使用中断系统。

1.初始化中断控制器使用8051单片机的中断系统,首先需要初始化中断控制器,设置中断向量表和中断优先级。

具体步骤如下:```cvoid init_interrup//设置中断向量表EA=1;//打开总中断使能ET0=1;//打开定时器0中断EX0=1;//打开外部中断0EX1=1;//打开外部中断1//设置中断优先级IP=0x10;//设置定时器0中断为高优先级P3=0x0F;//设置外部中断0和中断1为低优先级```2.配置外设的中断请求触发方式在8051单片机中,外部中断0和中断1的触发方式可由用户进行配置,可以选择为低电平触发或上升沿触发。

例如,将外部中断0配置为上升沿触发:```cvoid init_external_interrupIT0=1;//设置外部中断0为边沿触发方式(上升沿触发)EX0=1;//打开外部中断0使能```3.编写中断服务程序根据需要,编写相应的中断服务程序来处理中断事件。

第4章8051单片机的中断系统

第4章8051单片机的中断系统
7
第四章 8051单片机的中断系统
例3-3 双字节数取补子程序。将(R4R5)中的双字节数取补,结果 送R4R5。 低8位送入A CMPT: MOV A,R5 低8位取反 CPL A ADD A, #1 低8位最低位加1 MOV R5, A MOV A, R4 CPL A 与前面相似 ADDC A, #0 MOV R4,A 无需SETB ACC.7 RET 对于二进制数,左移一位相当于乘以2,右移一位相当于除以2。 由于一般带符号数的最高位为符号位,故在执行算术移位操作时, 必须保持符号位不变。 原码表示的负数:由于负数的符号位为1,故移位时符号位不参 加移位; 8
第四章 8051单片机的中断系统
具体
14
第四章 8051单片机的中断系统 例3-10无符号二进制乘法程序。将(R2R3)和(R6R7)两个双字节 无符号数相乘,结果送R4R5R6R7。
NMUL: MOV R4, #0 MOV R5, #0 MOV R0, #16 ; 16位二进制数 CLR C NMLP: MOV A, R4 ;右移一位 RRC A MOV R4, A MOV A, R5 RRC A R4 R5 MOV R5, A MOV A, R6 RRC A MOV R6, A MOV A, R7 RRC A MOV R7, A JNC NMLN ;C为移出的乘数最低位, 若为0,则不执行加法 MOV A, R5 ;执行加法 15 ADD A, R3 MOV R5, A MOV A, R4 ADDC A, R2 MOV R4, A NMLN: DJNZ R0, NMLP ;循环16次 MOV A, R4 ;最后再右移一位 RRC A MOV R4, A R6 R7 MOV A, R5 RRC A MOV R5, A MOV A, R6 RRC A MOV R6, A MOV A, R7 RRC A MOV R7, A RET

中断控制

中断控制
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TF0/TF1:定时器溢出中断申请标志位(由硬件自动置位)。 =0:定时器未溢出; =1:定时器溢出(由全“1”变成全“0”)时由硬件自动置 位,申请中断,中断被CPU响应后由硬件自动清零。
TR0/TR1:定时器运行启停控制位(可由用户通过软件设置 )。
二.51单片机的中断系统
8051单片机提供了5个中断源,2个中断优先级控制,可实 现2个中断服务嵌套。可通过程序设置中断的允许或屏蔽,设 置中断的优先级。 1.8051的中断源 8051允许5个中断源: (1)外部中断源(中断标志为IE0和IE1 ) 由 INT0 ( P3.2 )端口线引入,低电平或下降沿引起。 由 INT1 ( P3.3 )端口线引入,低电平或下降沿引起。 (2)定时器/计数器中断源 (中断标志为TF0、TF1和TI/RI ) T0:定时/计数器0中断,由T0回零溢出引起。 T1:定时/计数器1中断,由T1回零溢出引起。 (3)串口中断源 (中断标志为TI/RI ) TI/RI:串行I/O中断,完成一帧字符发送/接收引起。
void ISR_Key(void) interrupt 0 using 1 { LED = ~ LED; //K1按下触发一次,P0.0取反一次 }
④ 若正在执行RETI,或正在访问IE或IP寄存器,则必须执行完 当前指令的下一条指令。后方能响应中断。
(2)中断响应的过程
中断过程包括中断请求、中断响应、中断服务、中断返 回四个阶段。 中断请求:中断源将相应请求中断的标志位置 “1”,表示发出 请求,并由CPU 查询。 中断响应:在中断允许条件下相应中断。断点入栈→撤除中断 标志→关闭低同级中断允许→中断入口地址送PC。 这些工作 都是由硬件自动完成的。 中断服务:根据入口地址转中断服务程序,包含保护现场、执 行中断主体、恢复现场。 中断返回:执行中断返回RETI指令→断点出栈→开放中断允许 →返回原程序。

单片机 第二章 80C51系列单片机内部结构与工作原理


2.2 80C51单片机内部基本结构及引脚功能
③检查单片机芯片的好坏,可用示波器查看ALE端
是否有脉冲信号输出。
④ALE端的负载能力为8个LS型TTL。 :对EPROM型单片机,如对87C51BH编程时 的编程脉冲输入端。 ⑵、 (29脚):程序存储允许输出端。片外程
序存储器的读选通信号,低电平有效。
2.2 80C51单片机内部基本结构及引脚功能
3、基本功能单元
功能: 满足单片机测控功能要求的基本计算机外 围电路,用来完善和扩大计算机的功能.
组成: 包括定时/计数器、中断系统、串行通信 接口等。 说明: (1)80C51有两个16位定时/计数器 (T0和T1)。 作用: 可以作为内部定时器或外部脉冲计数器使 用。作内部定时器时,是靠对时钟振荡器的12分频脉
2.1 2.2 2.3
2.4
2.5 2.6
2.7
2.8 2.9
80C51系列单片机简介 80C51单片机内部基本结构及引脚功能 80C51单片机CPU结构 80C51存储器结构 输入/输出(I/O)端口 单片机的工作过程 80C51的低功耗方式 本章小结 练习思考题
第二章
80C51系列单片机内部结构与工作原理
①CPU从外部ROM取指令时,在每个机器周期中两 次有效。但在访问片外RAM时,要少产生两次负脉冲信
2.2 80C51单片机内部基本结构及引脚功能
号。有效时,将外部ROM中的指令读到数据总线上。
②检查单片机系统上电后,CPU能否正常到 EPROM/ROM中读取指令码,可用示波器查看该端有无负 脉冲信号输出。 ③可驱动8个LS型TTL门电路。
⑶、 (31脚):内部/外部ROM地址选择信号/ 固化编程电压输入端。 :①为高电平,CPU访问ROM有两种情况: 当PC中的值小于0FFFH时,执行片内ROM指令; 当PC中的值超过0FFFH时,将自动转向执行片外 ROM指令。

80C51的结构和原理-简答题

1、PC机和单片机都是微型机,两者有什么区别?答:PC机和单片机都是微型机,是微型计算机技术发展的两大分支。

PC机以满足海量高速数值计算为主,兼顾控制功能。

单片机以满足测控对象的测控功能,嵌入式应用为主,兼顾数据处理能力。

2、MCS-51单片机的I/O口有什么特点?解:8051单片机的4个I/O口在结构上是基本相同的,但又各具特点。

这四个端口都是8位双向口,每个端口都包括一个锁存器、一个输出驱动器和输入缓冲器。

在无片外扩展存储器的系统中,这四个端口的每一位都可以作为双向通用I/O端口使用。

在作为一般的通用I/O输入时,都必须先向锁存器写入“1”,使输出驱动场效应管FET截止,以免误读数据。

各自特点如下:(1)P0口为双向8位三态I/O口,它既可作为通用I/O口,又可作为外部扩展时的数据总线及低8位地址总线的分时复用口。

作为通用I/O口时,输出数据可以得到锁存,不需外接专用锁存器;输入数据可以得到缓冲,增加了数据输入的可靠性。

每个引脚可驱动8个TTL负载。

(2)P1口为8位准双向I/O口,内部具有上拉电阻,一般作通用I/O口使用,它的每一位都可以分别定义为输入线或输出线,作为输入时,锁存器必须置1。

每个引脚可驱动4个TTL负载。

(3)P2口为8位准双向I/O口,内部具有上拉电阻,可直接连接外部I/O设备。

它与地址总线高8位复用,可驱动4个TTL负载。

一般作为外部扩展时的高8位地址总线使用。

(4)P3口为8位准双向I/O口,内部具有上拉电阻,它是双功能复用口,每个引脚可驱动4个TTL负载。

作为通用I/O口时,功能与P1口相同,常用第二功能。

作为第二功能使用时,各位的作用见教材P.13表1.2.5所示。

3、MCS-51系列单片机的引脚中有多少根I/O线?它们与单片机对外的地址总线和数据总线之间有什么关系?其地址总线和数据总线各有多少位?对外可寻址的地址空间有多大?解:80C51单片机有4个I/O端口,每个端口都是8位双向口,共占32根引脚。

8051单片机的中断系统

8051单片机的中断系统在单片机的世界里,8051 单片机的中断系统就像是一个有条不紊的交通指挥中心,能够让单片机在应对各种复杂任务时做到有条不紊、高效快捷。

什么是中断呢?打个比方,你正在家里专心致志地看书,突然门铃响了,这时候你就得放下手中的书去开门,处理完开门这件事之后再回来继续看书。

对于单片机来说,中断就像是这个突然响起的门铃,它会打断单片机正在进行的主程序,让单片机先去处理更紧急、更重要的任务,处理完后再回到原来的主程序继续执行。

8051 单片机的中断系统有 5 个中断源,分别是外部中断 0(INT0)、外部中断 1(INT1)、定时/计数器 0 溢出中断(TF0)、定时/计数器1 溢出中断(TF1)和串行口中断(RI 或 TI)。

外部中断 0 和 1 通常是由外部信号触发的。

比如说,连接一个传感器,当传感器检测到特定的条件时,就会产生一个信号触发外部中断,让单片机去处理相应的操作。

定时/计数器 0 和 1 溢出中断则是在定时/计数器计满溢出时产生中断。

这就好比你设定了一个闹钟,时间到了闹钟就响,单片机就知道该去执行相应的任务了。

串行口中断是在串行通信过程中,当接收或发送完一帧数据时产生的中断。

每个中断源都有自己的中断标志位。

当相应的中断事件发生时,中断标志位就会被置位。

单片机通过查询这些中断标志位来判断是否有中断请求。

为了有效地管理这些中断,8051 单片机设置了中断允许寄存器 IE和中断优先级寄存器 IP。

中断允许寄存器 IE 就像是一个总开关,决定了哪些中断源可以被响应。

如果某个中断源对应的位被设置为 1,那么它就是被允许的;如果是 0,就会被禁止。

中断优先级寄存器 IP 则决定了多个中断同时请求时的响应顺序。

就像在一个拥挤的路口,警车、救护车等具有更高优先级的车辆会先通过。

在 8051 单片机中,默认的中断优先级顺序是:外部中断 0 >定时/计数器 0 溢出中断>外部中断 1 >定时/计数器 1 溢出中断>串行口中断。

125-51单片机中断系统结构(中断源及中断标志位)


外部中断INT1触发方式控 制位(TCON.2): IT1=0,低电平触发方式 IT1=1, 下降沿触发方式
外部中断INT0触发方式控 制位(TCON.0): IT0=0,低电平触发方式 IT0=1, 下降沿触发方式
序号
1
中断源
外部中断0请求
说 明 由P3.2引脚输入,通过IT0位(TCON.0)来决定是低 电平有效还是下降沿有效。一旦输入信号有效,即向 CPU申请中断。 由P3.3引脚输入,通过IT1位(TCON.2)来决定是低 电平有效还是下降沿有效。一旦输入信号有效,即向 CPU申请中断。
CPU将数据写入发送缓冲器SBUF时,启动发送,每发送完一个串行帧, 硬件都使TI置位;但CPU响应中断时并不自动清除TI,必须由软件清除。 当串行口允许接收时,每接收完一个串行帧,硬件都使RI置位;同样, CPU在响应中断时不会自动清除RI,必须由软件清除。
TI RI
SCON.1 SCON.0
TCON 0x8F 0x8E 0x8D 0x8C 0x8B 0x8A 0x89 0x88 (0x88) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
外部中断INT1中断标 志位(TCON.3) : IE1=1,外部中断1 向CPU申请中断,CPU 响应中断后IE1自动硬 件清0
外部中断INT0中断标 志位(TCON.1) : IE0=1,外部中断0 向CPU申请中断,CPU 响应中断后IE0自动硬 件清0
51单片机中断系统结构
中断源
51单片机有5个中断请求源
:外部输入中断源INT0(P3.2)
外部输入中断源INT1(P3.3)
单片机


INT0 INT1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8051单片机中断系统结构及中断控制原理
当几个中断源同时向CPU请求中断时,按所发生的实时事件的轻重缓急排队,优先处理最紧急事件的中断请求,于是单片机规定每个中断源的优先级别。

当CPU正在处理一个中断请求,又发生另一个优先级比它高的中断请求,CPU暂时中止对前一中断处理,转而去处理优先级更高的中断请求,待处理完后,再继续执行原来的中断处理程序,这样的过程称为中断嵌套,这样的中断系统称为多级中断系统。

由于外界异步事件中断CPU正在执行的程序时随机的,CPU转向去执行中断服务程序时,除了硬件会自动把断电地址,即16位PC程序计数器的值压入堆栈之外,用户还得注意保护有关工作寄存器,累加器,标志位等信息,这个过程通常称为保护现场。

以便在完成中断服务程序后,恢复原工作寄存器,累加器,标志位等的内容,这个过程称恢复现场;最后执行中断返回指令,自动弹出断电到PC,返回主程序,继续执行被中断的程序。

下面我们看看8051中断系统结构及中断控制:
8051单片机有五个中断请求源,四个用于中断控制的寄存器IE.IP.TCON和SCON,用于控制中断的类型,中断允许,中断起停和各种中断源的优先级别。

五个中断源有两个优先级,每个中断源可以编程为高优先级或低优先级中断,可以实现二级中断服务程序嵌套。

8051的中断源包括:INT0,INT1引脚输入的外部中断源;三个内部的中断源,即定时器T0的溢出中断源,定时器T1的溢出中断源和串行口的发送/接收中断源。

从INT0,INT1引脚输入的两个外部中断源和它们的触发方式控制位锁存在特殊功能寄存器TCON的低四位,其格式如下:
IE1,即TCON.3:外部中断INT1请求标志位。

当CPU检测到在INT1引脚上出现的外部中断信号时,由硬件置位IE1=1,请求中断。

CPU执行中断服务程序后,IE1位被硬件自动清0.
IT1,即TCON.2:外部中断INT1请求类型,触发方式控制位,由软件来置1或清0,以。

相关文档
最新文档