51单片机中断系统
0000H单元:上电时,程序计数器PC所指向的单元 0003H单元:外部中断/INT0的入口地址; 000BH单元:定时器T0的溢出中断入口地址; 0013H单元:外部中断/INT1的入口地址; 001BH单元:定时器T1的溢出中断入口地址; 0023H单元:串行口接收、传送的中断入口地址。
如图3-1所示,对事件的整个处理过程,称为中断处理(或中断服务)。
图:中断响应过程
能够实现中断处理功能的部件称为中断系统; 产生中断的请求源称为中断请求源。 中断源向CPU提出的处理请求,称为中断请求(或中断申请)。
进入中断→保护现场→中断处理恢复现场 →中断返回
中断方式优点:大大地提高了CPቤተ መጻሕፍቲ ባይዱ的工作效率。
TCON为定时器/计数器的控制寄存器,字节地址为88H。 TCON包含: (1)T0和T1的溢出中断请求标志位TF1和TF0 (2)外部中断请求标志位IE1与IE0。格式如图5-3所示:
各标志位的功能: (1)IT0—选择外中断请求0为跳沿触发方式还是电平触发方
式: IT0=0,为电平触发方式。IT0=1,为跳沿触发方式。 可由软件置“1”或清“0”。
PAGE: 37
(5)ET0:定时器/计数器T0的溢出中断允许位 0:禁止T0溢出中断; 1:允许T0溢出中断。
(6)EX0:外部中断0中断允许位。 0:禁止外部中断0中断; 1:允许外部中断0中断。
C51复位后,IE清0,所有中断请求被禁止。 若使某一个中断源被允许中断,除了IE相应的位的被置“1” ,还必须
➢ 电平触发方式的外部中断请求信号的完全撤消,是通过软硬 件相结合的方法来实现的。
③串行口中断请求的撤消
➢ 响应串行口的中断后,内部硬件没有自动清除TI或RI,所 以串行口中断请求的撤消只能用软件清除。
5.5 响应中断请求的条件 一个中断请求被响应,需满足以下必要条件: (1)IE寄存器中的中断总允许位EA=1。
图:C51的中断系统结构示意图
在同时收到几个同一优先级的中断请求时,优先响应哪一个 中断,取决于内部的查询顺序。查询顺序如表3-1:
表3-1 中断查询次序
中断源
中断级别(自然级别)
外部中断0
最高
T0溢出中断
外部中断1
T1溢出中断
串行口中断
最低
程序存储器6个特殊单元
在程序存储器中,有六个单元是具有特定功能。 编程者是不能随便使用的。
(3)PX1——外部中断1中断优先级控制位 1:高优先级中断; 0:低优先级中断。
(4)PT0——定时器T0中断优先级控制位 1:高优先级中断; 0:低优先级中断。
(5)PX0——外部中断0中断优先级控制位 1:高优先级中断; 0:低优先级中断。
由软件可改变各中断源的中断优先级。
中断请求的撤消
0:CPU屏蔽所有的中断请求(CPU关中断); 1:CPU开放所有中断(CPU开中断)。
(2)ES:串行口中断允许位 0:禁止串行口中断; 1:允许串行口中断。
(3)ET1:定时器/计数器T1的溢出中断允许位 0:禁止T1溢出中断; 1:允许T1溢出中断。
(4)EX1:外部中断1中断允许位 0:禁止外部中断1中断; 1:允许外部中断1中断。
第5章 C51的中断系统
5.1 中断的概念
CPU正在执行程序时,单片机外部或内部发生的某一事件, 请求CPU迅速去处理。
CPU暂时中止当前的工作,转到中断服务处理程序处理所 发生的事件。
处理完该事件后,再回到原来被中止的地方,继续原来的 工作,这称为中断。
CPU处理事件的过程,称为CPU的中断响应过程。
使EA位=1。
C51的中断系统结构示意图
5.5 中断优先级的概念
1、指定(软)优先级(人为软件指定,可以修改) 2、硬件优先级(自然优先级,不能变动)
C51的中断系统结构示意图
低软件优先级
高软件优先级
关于优先级的两条基本规则: (1)低优先级可被高优先级(软优先级)中断,反之则不能。 (2)同级(软优先级)中断不会被它的同级(软优先级)中断源所中断。
志为IE1。 (3)定时器/计数器T0溢出中断请求,中断请求标志为TF0。 (4)定时器/计数器T1溢出中断请求,中断请求标志为TF1。 (5)串行口中断请求,中断请求标志为TI或RI。 特殊功能寄存器TCON和SCON的相应位锁存各中断请求标志。
程序存储器六个特殊的单元 在程序存储器中,有六个单元是具有特定功能。
调用,因此也不用提前声明。 (4)中断函数要精简,避免因执行时间过长影响其它中
断的响应。
PAGE: 35
void int0( ) interrupt 0 using 1 { }
36
中断系统的编程
注意中断初始化工作:
(1)设置中断允许控制寄存器IE,允许相应的中断请求源 中断。 (2)设置中断优先级寄存器IP,确定所使用的中断源的优 先级。 (3)若是外部中断源,还要设置中断请求的触发方式决定 采用电平触发方式还是跳沿触发方式。
5.2 C51中断系统的结构 有5个中断请求源,两个中断优先级,可两级嵌套。 中断系统结构示意图如下图所示。
图:C51的中断系统结构示意图
5.3 中断请求源 五个中断请求源 : (1)INT0*—外部中断请求0,由引脚INT0*输入,中断请求标
志为IE0。 (2)INT1*—外部中断请求1,由引脚INT1*输入,中断请求标
图:C51的中断系统结构示意图
外部中断的触发方式选择 两种触发方式:电平触发方式和跳沿触发方式。
电平触发方式(低电平触发) CPU在每个机器周期采样到的外部中断输入线的电平。在中断服务程序
返回之前,外部中断请求输入必须无效(即变为高电平),否则CPU返 回主程序后会再次响应中断。 适于外中断以低电平输入且中断服务程序能清除外部中断请求(即外部 中断输入电平又变为高电平)的情况。 跳沿触发方式 连续两次采样,一个机器周期采样到外部中断输入为高,下一个机器周 期采样为低,则置“1”中断请求标志,直到CPU响应此中断时,该标志 才清0。这样不会丢失中断,但输入的负脉冲宽度至少保持1个机器周期。
5.4 中断控制 5.4.1 中断允许寄存器IE
CPU对中断源的开放或屏蔽,由片内的中断允许寄存器IE控制。 字节地址A8H,可位寻址。格式如图5-5。
IE对中断的开放和关闭为两级控制 总的开关中断控制位EA(IE.7位):
EA=0,所有中断请求被屏蔽。 EA=1,CPU开放中断,但五个中断源的中断请求是否允许, 还要由IE中的5个中断请求允许控制位决定。 IE中各位的功能如下: (1)EA:中断允许总控制位
(1)定时器/计数器中断请求的撤消 中断请求被响应后。硬件会自动清TF0或TF1。
(2)外部中断请求的撤消 ①边沿触发方式外部中断请求的撤消是自动撤消的。 ②电平触发方式外部中断请求的撤消: 除了标志位清“0”之外,还需在中断响应后把中断请求 信号引脚从低电平强制改变为高电平,如下图。
➢ 只要P1.0端输出一个负脉冲就可以使D触发器置“1”,从而 撤消了低电平的中断请求信号。
各标志位的功能: (1)TI—发送中断请求标志位。串口每发送完一帧串行数据后,硬件自 动 置“1”TI。必须在中断服务程序中用软件对TI标志清“0”。
(2)RI—接收中断请求标志位。串口接收完一个数据帧,硬件自动置“1” RI标志。必须在中断服务程序中用软件对RI标志清“0”。
图5-2 C51的中断系统结构示意图
0000H单元:上电时,程序计数器PC所指向的单元 0003H单元:外部中断/INT0的入口地址; 000BH单元:定时器T0的溢出中断入口地址; 0013H单元:外部中断/INT1的入口地址; 001BH单元:定时器T1的溢出中断入口地址; 0023H单元:串行口接收、传送的中断入口地址。
返回
图3-2 C51的中断系统结构示意图
(2)IE0—外部中断请求0的中断请求标志位。 IE0=0,无中断请求。IE0=1,外部中断0有中断请求。 当CPU响应该中断,转向中断服务程序时,由硬件清“0”。
(3)IT1—外部中断请求1为跳沿触发方式还是电平触发方式,意义与IT0 类似。
(4)IE1—外部中断请求1的中断请求标志位,意义与IE0类似。 (5)TF0—T0溢出中断请求标志位。
T0计数溢出时,由硬件置“1”TF0,向CPU申请中断,CPU响应TF0中断 时,硬件自动清“0”。 (6)TF1—T1的溢出中断请求标志位,功能和TF0类似。
TR1、TR0 2个位与中断无关。 当C51复位后,TCON被清0,则CPU关中断,所有中断请求被禁止。
SCON为串行口控制寄存器,字节地址为98H。串行口的发送中断和接收中 断的中断请求标志TI和RI,格式如图5-4。
(2)该中断源发出中断请求,即该中断源对应的中断 请求标志为“1”。
(3)该中断源的中断允许位=1,即该中断没有被屏蔽。 (4)无同级或更高级中断正在被服务。
中断系统的编程
编写中断函数时,应注意以下几点: (1)中断函数不带任何参数,否则会导致编译出错。 (2)中断函数不能有返回值,所以函数类型应为void。 (3)中断函数必须由中断源触发而自动调用,不得直接
若CPU正在执行高优先级中断,则不能被任何中断源所中断。 中断优先级寄存器IP,其字节地址为B8H,格式如图3-7。
IP各个位的含义: (1)PS——串行口中断优先级控制位
1:高优先级中断; 0:低优先级中断。
(2)PT1——定时器T1中断优先级控制位 1:高优先级中断; 0:低优先级中断。
MCS51的中断系统有几个中断源
.MCS51的中断系统有几个中断源?几个中断优先级?中断优先级是如何控制的?在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出各个中断源)?各个中断源的入口地址是多少?答:MCS51单片机有5个中断源,2个中断优先级,中断优先级由特殊功能寄存器IP控制,在出现同级中断申请时,CPU按如下顺序响应各个中断源的请求:INT0、T0、INT1、T1、串口,各个中断源的入口地址分别是0003H、000BH、0013H、001BH、0023H。
3.MCS51系列单片机的内部资源有哪些?说出8031、8051和8751的区别。
答:MCS51系列单片机上有1个8位CPU、128B的RAM、21个SFR、4个并行口、1个串行口、2个定时计数器和中断系统等资源。
8031、8051和8751的区别是8031内无ROM;8051内有4KB的掩膜ROM;8751内有4KB的EPROM。
五、作图题(10分)用6264(8K*8)构成16K的数据存储系统。
要求采用线选法产生片选信号,并计算6264的地址范围答:WR接6264的WERD接6264的OEAB0---AB12接6264的A0---A12DB0—DB7接6264的D0—D7AB15、AB14分别接Y0和Y1地址:0000H---1FFFH;2000H---3FFFH六、设计题(1题13分;2题12分,共25分)1.某单片机控制系统有8个发光二极管。
试画出89C51与外设的连接图并编程使它们由左向右轮流点亮。
2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。
试画出8051与外设的连接图并编程实现上述要求1.某单片机控制系统有8个发光二极管。
试画出89C51与外设的连接图并编程使它们由右向左轮流点亮。
答:图 (5分) 构思 (3分)MOV A,#80H (1分)UP:MOV P1,A (1分)RR A (2分)SJMP UP (1分2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。
MCS-51单片机的中断系统
MCS-51单⽚机的中断系统单⽚机中断技术概述在任何⼀款事件驱动型的CPU⾥⾯都应该会有中断系统,因为中断就是为响应某种事件⽽存在的。
中断的灵活应⽤不仅能够实现想要的功能,⽽且合理的中断安排可以提⾼事件执⾏的效率,因此中断在单⽚机应⽤中的地位是⾮常重要的。
单⽚机中断(Interrupt)是硬件驱动事件,它使得CPU暂停当前的主程序,转⽽去执⾏⼀个中断服务⼦程序。
为了更形象地理解中断,下⾯以学⽣上⾃习时接电话为例阐述⼀下中断的概念。
单⽚机的中断系统有5个中断源、2个中断优先级,可实现两级中断服务程序嵌套。
如果单⽚机没有中断系统,单⽚机的⼤量时间可能会浪费在查询是否有服务请求发⽣的定时査询操作上。
采⽤中断技术完全消除了单⽚机在査询⽅式中的等待现象,⼤⼤地提⾼了单⽚机的⼯作效率和实时性。
单⽚机中断系统结构及中断控制中断系统结构图如图5-2所⽰。
由图5-2可见,MCS-51中断系统共有5个中断请求源:INT0——外部中断请求0,中断请求信号由INT0引脚输⼊。
定时/计数器T0计数溢出发出的中断请求。
INT1——外部中断请求1,中断请求信号由INT1引脚输⼊。
定时/计数器T1计数溢出发出的中断请求。
串⾏⼝中断请求。
中断优先级从⾼到底排列。
单⽚机如何知道有中断请求信号?是否能够响应该中断?若5个中断源请求信号同时到来,单⽚机如何响应?这些问题都可以由中断寄存器来解决。
单⽚机中断寄存器有中断标志寄存器TCON和SCON、中断使能寄存器IE和中断优先级寄存器IP,这些寄存器均为8位。
中断标志寄存器5个中断请求源的中断请求标志分别由TCON和SCON的相应位锁存,单⽚机通过这些中断标志位的状态便能知道具体是哪个中断源正在申请中断。
TCON寄存器TCON寄存器为定时/计数器的控制寄存器,字节地址为88H,可位寻址。
特殊功能寄存器TCON的格式如图5-3所⽰。
TCON各标志位功能如下。
TF1——定时/计数器T1的溢出中断请求标志位。
第5章-MCS-51单片机中断系统-PPT
5、2、2 MCS-51单片机得中断源
IT1=1,外中断1为下降沿触发 采样:CPU在每一个机器周期得S5P2期间 对P3、3引脚采样,若上一个机器周期检测为 高电平,紧挨着得下一个机器周期为低电平,则 使IE1置1。 IT0:外中断0触发方式控制位。
CPU主要就是通过标志寄存器、控制 寄存器、优先级寄存器对中断源进行管
5、2、2 MCS-51单片机得中断源
(1)与中断标志相关得SFR
主要有:定时器/计数器T0、T1控制寄 存器TCON
串行口控制寄存器SCON 定时器/计数器2控制寄存器T2CON(第 6章介绍) (2)中断控制寄存器:TCON、IE (3)中断优先级寄存器:IP
DMA释放总线:当一批数据传送后, DMA控制器再向CPU发出“结束总线请 求”,CPU响应请求,收回总线使用权。
DMA方式速度高、效率高,可以与CPU 并行工作。
5、1、2 中断得相关概念
1、中断得概念
CPU在正常运行得时候, 外部或者内部发生了请求 CPU迅速去处理得事件,CPU 暂时中断当前得程序,去处理 所发生得事件,处理完事件后, 再返回到原来被中断得程序 继续运行。此过程称为中断。
图5-3 定时器得控制寄存器
TCON可位寻址。复位后TCON=00H。 TF1(TCON、7):T1溢出标志位
当T1计满溢出时,由内部硬件置位; 中断响应后自动清 0。
5、2、2 MCS-51单片机得中断源
TF0:T0溢出标志位 功能同TF1。
IT1:外中断1触发方式设置位 IT1=0,外中断1为低电平触发
5、1、1 微机得输入/输出方式
MCS-51单片机的中断系统
其各位格式为: D7 D6 D5 D4 D3 D2 D1 D0 -- -- -- PS PT1 PX1 PT0 PX0
如果CPU接收到几个相同优先级的中断请求源时,响应哪一个 中断申请要取决于一个内部的硬件查询序列,此时应按照下表所 示的优先权结构先后响应中断请求。
中断源 外部中断0(IE0) 定时器T0中断(TF0) 外部中断1(IE1) 定时器T1中断(TF1) 串行口中断(RI、TI)
主程序的中断处理
1.2 CPU响应及处理中断机制
一般来说,根据中断源的轻重缓急排序,CPU优先处理最 紧急事件的中断请求源。也就是说,需要对各个中断源设定 相应的优先级,CPU总是最先响应级别最高的中断。中断源可 以分为两个中断优先级:高优先级和低优先级。用户可以用 关中断指令或复位指令来屏蔽所有中断请求,也可以用开中 断指令使CPU接收中断申请。
SM0 SM1 SM2 REN TB8 RB8 TI RI
1.4 中断控制及中断优先级
1.中断允许控制寄存器IE(字节地址A8H)
D7 D6 D5 D4 D3 D2 D1 D0 EA -- ET2 ES ET1 EX1 ET0 EX0
使用汇编语言程序控制中断请求信号的允许 或禁止的程序示例如下:
CLR EA ; 禁止所有中断请求
MOV SP, #60H SETB PX0 SETB IT0 SETB ET0 SETB EX0 SETB EA
【例2】若要求外部中断引脚 采用边沿触发方式,处于高优先 级,初始化程序可以采用位操作指令,也可以用字节型指令进行编 制。
位操作指令: SETB EA SETB EX1 SETB PX1 SETB IT1
送/接收后引起。
2.中断请求标志 1)TCON寄存器中的中断标志 TCON是定时/计数器T0、T1的控制寄存器,格式如下:
51单片机的中断系统
51单片机的中断系统8031单片机的中断系统简单实用,其基本特点是:有5个固定的可屏蔽中断源,3个在片内,2个在片外,它们在程序存储器中各有固定的中断入口地址,由此进入中断服务程序;5个中断源有两级中断优先级,可形成中断嵌套;2个特殊功能寄存器用于中断控制和条件设置的编程。
中断系统的结构:5个中断源的符号、名称及产生的条件如下。
INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。
INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。
T0:定时器/计数器0中断,由T0计满回零引起。
T1:定时器/计数器l中断,由T1计满回零引起。
TI/RI:串行I/O中断,串行端口完成一帧字符发送/接收后引起。
整个中断系统的结构框图见下图一所示。
由图一可见,外部中断有下跳沿引起和低电平引起的选择;串行中断有发送(TI)相接收(R1)的区别;各个中断源打开与否,受中断自身的允许位和全局允许位的控制,并具有高优先级和低优先级的选择。
中断系统的控制寄存器:中断系统有两个控制寄存器IE和IP,它们分别用来设定各个中断源的打开/关闭和中断优先级。
此外,在TCON中另有4位用于选择引起外部中断的条件并作为标志位。
中断允许寄存器—IEIE在特殊功能寄存器中,字节地址为A8H,位地址(由低位到高位)分别是A8H-AFH。
IE用来打开或关断各中断源的中断请求,基本格式如下图二所示:EA:全局中断允许位。
EA=0,关闭全部中断;EA=1,打开全局中断控制,在此条件下,由各个中断控制位确定相应中断的打开或关闭。
×:无效位。
ES:串行I/O中断允许位。
ES=1,打开串行I/O中断;ES=0,关闭串行I/O中断。
ETl;定时器/计数器1中断允许位。
ETl=1,打开T1中断;ETl=O,关闭T1中断。
EXl:外部中断l中断允许位。
EXl=1,打开INT1;EXl=0,关闭INT1。
ET0:定时器/计数器0中断允许位。
MCS-51单片机中断系统
位地址 位符号
8FH 8EH DH CH 8BH 8AH 89H 8H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
IT0 和IT1——外部中断请求触发方式控制位 IT0 (IT1)=1 脉冲触发方式,下降沿有效 IT0 (IT1)=0 电平触发方式,低电平有效
MAIN: ···
HERE:
SJMP HERE
1NJERRV
;中断响应程序
RETI
并不是所有的请求都被响应,当遇到下列情况之一时不响应
这些中断请求:
(1)CPU正在处理一个同级或者高级的中断服务
(2)当前指令还没有执行完毕
(3)当前指令是RET、RETI或者是访问IP、IE的指令,执行完
这些指令后,还必须再执行一条指令,才响应中断请求。
从中断的定义我们可以看到中断应具备中断源、中断 响应、中断返回这样三个要素。中断源发出中断请求,单片机 对中断请求进行响应,当中断响应完成后应进行中断返回,返 回被中断的地方继续执行原来被中断的程序。
6-2 中断控制寄存器
1. 定时器控制寄存器(TCON) 该寄存器用于保存外部中断请求以及定时器的计数溢出。进
IE0和IE1——外中断请求标志位 当CPU采样到 INT(0 或 INT1)端出现有效中断请求时,IE0 (IE1)位由硬件置“1”。当中断响应完成转向中断服务程序
时,由硬件把IE0(或IE1)清零。 TR0 和TR1——定时器运行控制位
TR0 (TR1 )=0 定时器/计数器不工作 TR0 (TR1 )=1 定时器/计数器开始工作 TF0和TF1——计数溢出标志位 当计数器产生计数溢出时,相应的溢出标志位由硬件置“1”。 当转向中断服务时,再由硬件自动清“0”。计数溢出标志位 的使用有两种情况:采用中断方式时,作中断请求标志位 来使用;采用查询方式时,作查询状态位来使用。
第3章MCS-51单片机的中断系统
3.3 MCS-51的中断系统 的中断系统
4、中断响应过程 、 关中断:屏蔽其它中断请求信号。 关中断:屏蔽其它中断请求信号。 保护断点:将断点地址压入堆栈保存,即当前 值入栈 值入栈。 保护断点:将断点地址压入堆栈保存,即当前PC值入栈。 寻找中断源:中断服务程序入口地址送 ,转入中断服务。 寻找中断源:中断服务程序入口地址送PC,转入中断服务。 保护现场:将中断服务程序使用的所有寄存器内容入栈。 保护现场:将中断服务程序使用的所有寄存器内容入栈。 中断处理:执行中断源所要求的程序段。 中断处理:执行中断源所要求的程序段。 恢复现场:恢复被使用寄存器的原有内容。 恢复现场:恢复被使用寄存器的原有内容。 开中断:允许接受其它中断请求信号。 开中断:允许接受其它中断请求信号。 中断返回:执行 指令, 中断返回:执行RETI指令,栈顶内容 指令 栈顶内容→PC,程序跳转回断点。 ,程序跳转回断点。
当前PC入栈 书中作记号 当前 入栈
主程序 执行主程序 中断请求 断点 继续执行主程序 中断返回 执行中断 处理程序 中断响应
中断与转子的区别 中断是随机的, 中断是随机的,转子事先编程决定
3.3.1 中断的定义 2、几个术语 、 主程序:原来正常运行的程序称为主程序。 主程序:原来正常运行的程序称为主程序。 断点: 主程序被断开的位置(或地址)称为“断点” 断点 主程序被断开的位置(或地址)称为“断点”。 中断源:引起中断的原因,或发出中断申请的来源。 中断源 引起中断的原因,或发出中断申请的来源。 引起中断的原因 中断请求:中断源要求服务的请求称为“中断请求” 中断请求 中断源要求服务的请求称为“中断请求” 。 中断源要求服务的请求称为 中断响应: 终止当前执行的程序, 中断响应:CPU终止当前执行的程序,去执行相应中断源 终止当前执行的程序 的中断请求。 的中断请求。 中断服务或中断处理程序: 中断服务或中断处理程序: “中断”之后所执行的相应的处理程序。 中断”之后所执行的相应的处理程序。 中断系统:能够实现中断处理功能的部件。 中断系统:能够实现中断处理功能的部件。
51单片机的中断控制
AEH 0
ADH 0
ACH ES 0
ABH ET1
1
AAH EX1
0
A9H ET0
1
A8H EX0
0
用位操作指令
CLR ES CLR EX0 CLR EX1 SETB ET0 SETB ET1 SETB EA
; ES=0,禁止串行口中断 ; EX0=0,禁止外部中断0 ; EX1=0,禁止外部中断1 ; ET0=1,允许定时/计数中断0 ; ET1=1,允许定时/计数中断0 ; CPU开中断
TI SCON
IE EX0 EA ET0 EX1
ET1 ES
IP
PX0 1
0
PX1 1
0
PT0 1
0
PT1 1
0
PS 1
0
高
0003H 000BH 0013H 001BH 0023H
CPU
0003H 000BH 0013H 001BH 0023H
低
2. 51单片机的中断控制
中断的开放与禁止
51系列单片机的5个中断源都是可屏蔽中断,由中断系统内部的专用寄 存器IE负责控制各中断源的开放或屏蔽。
;EA位置 “1” ,CPU开中断 ;EX0位置 “1” ,允许外部中断0产生中断 ;PX1位置 “1” ,外部中断1为高级中断 ;IT1位置 “0” ,外部中断1为电平触发
3. 51单片机中断程序设计
采用中断的程序结构:
主程序起始地址0000H执行,在0000H处用无条件转移指令; 各中断入口地址,用无条件转移指令
IE A8H
7
6
EA
位地址
AF
5
4
3
2
1
0
51单片机中断系统详解
51单片机中断系统详解51 单片机中断系统详解(定时器、计数器)51 单片机中断级别中断源INT0---外部中断0/P3.2 T0---定时器/计数器0 中断/P3.4 INT1---外部中断1/P3.3 T1----定时器/计数器1 中断/P3.5 TX/RX---串行口中断T2---定时器/计数器 2 中断第5 最低4 5 默认中断级别最高第2 第3 第4 序号(C 语言用) 0 1 2 3 intrrupt 0中断允许寄存器IE位序号符号位EA/0 ------ET2/1 ES ET1 EX1 ET0 EX0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 EA---全局中允许位。
EA=1,打开全局中断控制,在此条件下,由各个中断控制位确定相应中断的打开或关闭。
EA=0,关闭全部中断。
-------,无效位。
ET2---定时器/计数器2 中断允许位。
ET2=1, 打开T2 中断。
ET2=0,关闭T2 中断。
关,。
ES---串行口中断允许位。
关,。
ES=1,打开串行口中断。
关,。
ES=0,关闭串行口中断。
关,。
ET1---定时器/计数器1 中断允许位。
关,。
ET1=1,打开T1 中断。
ET1=0,关闭T1 中断。
EX1---外部中断1 中断允许位。
EX1=1,打开外部中断1 中断。
EX1=0,关闭外部中断1 中断。
ET0---定时器/计数器0 中断允许位。
ET0=1,打开T0 中断。
EA 总中断开关,置1 为开;EX0 为外部中断0 (INT0) 开关,。
ET0 为定时器/计数器0(T0)开EX1 为外部中断1(INT1)开ET1 为定时器/计数器1(T1)开ES 为串行口(TX/RX)中断开ET2 为定时器/计数器2(T2)开ET0=0,关闭T0 中断。
EX0---外部中断0 中断允许位。
EX0=1,打开外部中断0 中断。
EX0=0,关闭外部中断0 中断。
中断优先级寄存器IP位序号位地址------PS/0 PT1/0 PX1/0 PT0/0 PX0/0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 -------,无效位。
51单片机中断系统工作原理
51单片机中断系统工作原理
51单片机中断系统是处理器与外部设备之间通信的一种机制,它允许外设在需要时中断CPU的正常程序执行,从而执行一些高优先级的任务。
本文将从以下几个方面介绍51单片机中断系统的工作原理:
1. 中断源和中断向量表
51单片机中断系统的中断源可以是内部或外部的。
内部中断源包括定时器、串口、ADC等模块,而外部中断源则可以是外部中断引脚、外部数据存储器等。
中断向量表则是一个存储各中断服务程序入口地址的表格,它可以在CPU执行中断时快速定位相应的中断服务程序。
2. 中断控制器和优先级
中断控制器是一个用于控制中断的硬件模块,它可以根据中断源的优先级来决定哪个中断请求会被响应。
优先级高的中断请求会被优先响应,而低优先级的则会被忽略。
在中断控制器中还有一个中断允许寄存器,它用于允许或禁止特定的中断源。
3. 中断服务程序的编写
中断服务程序是一段特殊的程序,它用于响应中断请求并执行相应的操作。
在编写中断服务程序时,需要注意以下几点:首先,中断服务程序必须尽快完成,以便让CPU恢复正常的程序执行;其次,中断服务程序需要保存现场,即保存一些特定的寄存器值,以便后续程序恢复时可以正确地执行;最后,中断服务程序需要执行IRET指令,
以便将中断返回地址出栈并返回到原来的程序执行点。
通过深入了解51单片机中断系统的工作原理,我们可以更好地理解中断系统的原理和应用,并在实际应用中更好地使用它。
