MCS-51的中断结构与控制
MCS-51的中断源及中断结构
向CPU发出中断请求的信号称为中断源。在2.1.2节中我们已经了解到MCS-51系列单片机中有5个中断源,其中2个外部中断源,3个内部中断源,具体如下:
:外部中断,由引脚P3.2引入中断请求。
:外部中断,由引脚P3.3引入中断请求。
➢ 定时计数器T0: 内部中断,定时计数器0溢出时发出中断请求。
➢ 定时计数器T1: 内部中断,定时计数器1溢出时发出中断请求。
➢ 串行口中断: 内部中断,包括串行接收中断RI和串行发送中断TI。
MCS-51单片机自然优先级如表4-1所示。
表4-1 优先级的排列
(二)中断结构
MCS-51系列单片机的中断系统结构如图4-2所示。
图4-2 MCS-51中断结构
由图4-2可以看出,中断系统中涉及TCON、SCON、IE以及IP四个特殊功能寄存器,它们主要有以下功能:
➢ 锁存中断请求标志: TCON和SCON锁存各中断源的中断请求标志位。
➢ 中断允许寄存器IE: 控制CPU是否响应中断源的请求。
➢ 中断优先级寄存器IP: 设置各中断源的优先级,每个中断源可编程为高优先级中断或低优先级中断。
1. TCON中的中断标志位
TCON的字节地址为88H,可进行位寻址,其具体的结构、位名称、位地址以及功能如表4-2所示。
表4-2 TCON的结构、位名称、位地址以及功能
IT0(D0位): 外部中断
的触发方式控制位,由软件进行置“1”和清“0”。IT0=1时,为边沿触发方式(即当引脚P3.2出现下降沿脉冲信号时,中断请求有效);IT0=0时,为电平触发方式(即当引脚P3.2为低电平信号时,中断请求有效)。
IE0(D1位): 外部中断
的请求标志位。当CPU检测到外部中断请求时,该标志位置“1”,当CPU转向中断处理子程序时,由硬件自动清“0”(只适用于边沿触发方式)。
注意
在电平触发方式中,CPU转向中断处理子程序时,不能自动清除IE标志位,也不能由软件进行清除。所以在中断返回前需撤销引脚上的低电平,否则就会产生CPU多次响应一次中断的错误。
IT1(D2位)和IE1(D3位): 外部中断
的触发方式控制位和请求标志位,其
含义与IT0和IE0相同。
➢ TR0(D4位): 定时计数器T0的启动停止标志位,由用户编程确定。TR0=1时,定时器开始计数(即从设定的初值作加1计数);TR0=0时,定时器停止。
➢ TF0(D5位): 定时计数器T0的中断溢出标志位。定时器作加1计数,当最高位产生进位时,定时器计数溢出,此时,由硬件置位TF0=1,CPU响应中断后,由硬件清“0”,TF0=0。
➢ TR1(D6位)和TF1(D7位): 定时计数器T0的启动停止标志位和中断溢出标志位,其含义与TR0和TF0相同。
2. SCON中的中断标志位
SCON的字节地址为98H,可进行位寻址,其具体的结构、位名称、位地址以及功能如表4-3所示。
表4-3 SCON的结构、位名称、位地址以及功能
➢ RI: 串行口接收中断标志位,当串行口接收到一帧数据时,RI置1,CPU响应中断后,硬件不能自动清除RI,需要由软件清“0”。
➢ TI: 串行口发送中断标志位,当串行口发送一帧数据时,T1置1,CPU响应中断后,硬件不能自动清除RI,同样需要由软件清“0”。
提示
RI和TI通过一个或门向CPU发中断请求,CPU响应中断请求后,首先需要判断是RI和TI哪一个中断源发出的请求,才能去执行相应的中断子程序。
串行中断的有关内容以及SCON中的其他标志位含义将在项目六中进行详细讲述。
3. 中断允许控制寄存器IE
IE控制所有中断源的开放和屏蔽,字节地址为A8H,可进行位寻址,其具体的结构、位名称、位地址以及控制的相应中断源如表4-4所示。
表4-4 IE的结构、位名称、位地址以及功能
EX0: 外部中断
的中断允许控制位。EX0=1时,
开中断;EX0=0时,
关中断。
➢ ET0: 定时计数器T0中断允许控制位。ET0=1时,T0开中断;ET0=0时,T0关中断。
EX1: 外部中断
的中断允许控制位。EX1=1时,
开中断;EX1=0时,
关中断。
➢ ET1: 定时计数器T1中断允许控制位。ET0=1时,T1开中断;ET0=0时,T1关中断。
➢ ES: 串行口中断允许控制位。ES=1时,串行口开中断;ES=0时,串行口关中断。
➢ EA: CPU中断允许控制位。EA=1时,CPU全部开中断;EA=0时,CPU全部关中断。
提示
CPU复位时,IE各位清0,禁止所有中断。
4. 中断优先级控制寄存器IP
MCS-51单片机中有两个中断优先级,中断优先级控制寄存器IP用来定义每个中断源的中断优先级。IP的结构、位名称、位地址以及控制的中断源如表4-5所示。
表4-5 IP的结构、位名称、位地址以及功能
IP的状态由用户来设定,某位为1,则相应的中断源处于高优先级中断;某位为0,则相应的中断源处于低优先级中断。
提示
单片机复位时,IP各位清0,各中断源处于低优先级中断。
MCS-51的中断处理过程
图4-3 中断处理过程
中断处理过程如图4-3所示,单片机工作时,在每个机器周期中都去查询各个中断标记位,如果某位是“1”,就说明有中断请求了;接下来需要判断中断请求是否满足响应条件;如果满足响应条件,CPU将进行相应的中断处理;中断处理完毕,进行中断返回,继续执行指令。
如果本次查询中没有中断请求或中断请求不能满足响应条件,CPU将继续原来的指令执行操作。
(一)中断响应
CPU检测到中断请求后,需要判断此中断请求是否满足响应条件,中断响应条件如下:
(1)CPU开中断,申请中断请求的中断源开中断。
(2)没有响应同级别或更高级别的中断。
提示
中断二级嵌套的响应原则:
① 同一中断优先级中,有多个中断请求时,按自然优先级进行响应(即查询顺序)。
② 当前进行的中断只能被高优先级的中断所打断(同级别或低优先级的中断请求不予响应)。
(3)当前处在所执行指令的最后一个周期。单片机有单周期指令、双周期指令、三周期指令和两个四周期指令,如果正在执行的是多字节指令,需要等整条指令执行结束,才能响应中断。
(4)如果正执行的指令是返回指令(RETI)或访问IP、IE寄存器的指令,那么CPU将至少再执行一条指令才能响应中断。
满足中断条件的情况下,CPU响应中断过程如下:
① 将IP中相应的优先级控制位置1,以阻断后来的同级和低级的中断请求。
② 撤销该中断源的中断请求标志,否则,中断返回后将重复响应该中断。
③ 保护断点地址,程序转向执行中断服务子程序。
提示
中断响应时间:
以外部中断0为例,INT0的引脚电平在每个机器周期的S5P2时刻经反相器锁存到TCON的IE0标志位,CPU在下一个机器周期查询新置入的IE0和IE1,满足相应条件,CPU将执行一条两个机器周期的长调用指令LCALL,由硬件将中断矢量地址装到PC中,使程序转入中断矢量入口。所以,从产生外部中断到中断执行,至少需要3个机器周期。
若正在处理的程序为RETI或访问IP,IE等,则额外等待的时间不会多于5个机器周期。所以外部中断的响应时间在3~8个机器周期之间。
(二)中断处理
中断处理过程一般可以分为保护现场、执行中断服务程序和恢复现场三个过程。
(1)保护现场
执行中断服务子程序之前,CPU只保护了一个地址(PC的值),如果主程序和中断服务子程序中都用到一些公共存储空间(如A、PSW和DPTR等),那么执行中断服务子程序前需要将这些数据保存起来,以免返回主程序时出现错误。
(2)执行中断服务程序
在MCS-51系列单片机中,五个中断源都有它们各自的中断入口地址。
:0003H
➢ T0: 000BH
:0013H
➢ T1: 001BH
➢ 串口中断: 0023H
可以看出,中断服务程序的存储空间很小,如果我们需要的程序超出了空间的限制,这时可以在中断处安排一条LJMP指令把中断服务程序跳转到其他地址。
提示
中断响应标志的清除:
CPU在响应中断请求后,该中断的中断请求在中断返回前应当清除,以免重复中断,被再次响应。
边沿触发的外部中断,定时器中断,均有硬件自动清除;串行口中断,需由软件清除;电平触发的外部中断需由外接触发器控制清除。
(3)恢复现场
恢复现场和保护现场相对,返回主程序前需要将保护现场过程中压入堆栈的相关数据弹出,以保证程序返回断点时能正确执行。
(三)中断返回
中断返回由中断返回指令RETI来实现。这条指令的功能是把断点地址从堆栈中弹出,送回到程序计数器PC;通知中断系统已完成中断处理,并同时清除优先级状态。
C51中断函数的定义
C51编译器支持在C源程序中直接开发中断过程,C51编译器及其对C语言的扩充允许编程者对中断所有方面的控制和寄存器组的使用。中断服务函数的完整语法如下:
函数的返回值 函数名([参数]) interrupt n [using m]
{
函数体;
}
关于函数的使用进行以下说明:
(1)对中断程序而言,函数的返回值和参数一般为void。
(2)interrupt n 中n的取值为0~31的常数,不允许用表达式,表示中断向量的编号。在8051中,一般0代表外部中断0,1代表定时器0,2代表外部中断1,3代表定时器1,4代表串行中断。
(3)using m 中m的取值为0~3的常数,不允许用表达式,表示内部RAM中的第r组工作寄存器。在调用中断函数时,要求中断过程调用的函数所使用的寄存器组必须与其相同。
下面我们看一个使用C51语言编写的中断程序。
【例】 设单片机的fosc=12MHz,要求用T0的方式1编程,在P1.0脚输出周期为2ms的方波。
用C语言编写的中断服务程序如下:
在编写中断服务程序时必须注意不能进行参数传递,不能有返回值。
AT89S52单片机的LED点阵显示电子钟安装、调试与维修的教学任务
学习目标
1、 了解单片机指令的总体情况
3、掌握LED点阵显示电子钟的工作原理
4、掌握LED点阵显示电子钟的硬件和软件
5、了解LED点阵显示电子钟指令系统中的符号说明
6、会LED点阵显示电子钟数据传送类指令
学习内容:
1、+5V电源原理及设计
2、单片机复位电路工作原理及设计。
3、单片机晶振电路工作原理及设计。
4、按键电路的设计。
5、74LS373锁存驱动器的特性及使用。
6、74LS138译码器的特性及使用
7、AT89S52单片机引脚。
8、单片机汇编语言及程序设计。
本课题建议学时60学时。
本课题的教学步骤可分为:
1、下发任务书。2学时
2、学生根据任务书等资料解决相关问题。20 学时
3、教师对相关知识的疑难问题进行讲解。9学时
4、学生6-7人一组,讨论并确定安装方案,填写工艺卡3学时
5、学生按照工艺卡完成准备工作。1学时
6、学生绘制电原理图、方框图、安装图、元器件明细表。6学时
7、学生自行完成基于AT89S52单片机的LED点阵显示电子钟的安装、调试、维修。15学时
8、对基于AT89S52单片机的LED点阵显示电子钟的制作维修情况进行评价。
2学时
9、工作任务的小结。 1学时
任务书: (2个课时)
一、项目概述
随着科学技术日新月异的发展,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在。基于AT89S52单片机的LED点阵显示电子钟具有结构简单,性能可靠、价格低和显示灵活等优点,因此得到了广泛应用。
二、项目要求
设计一种基于AT89S52单片机的LED点阵显示电子钟,具体要求如下:
1. 时钟的显示由LED点阵构成。
2. 能正确显示时间,上电显示为12点。
3. 时间能够由按键调整。
4. 误差小于1s。
三、系统设计
根据设计要求,采用并行方式显示,通过锁存器芯片来扩展I/O口,达到控制LED点阵的40个列线的目的。方案中运用5片锁存器74LS373来组成5组双缓冲寄存器,驱动LED点阵的8组列线,用3/8译码器74LS138对LED点阵的8行进行扫描。在送每一行的数据到LED点阵时,先把数据分别送到5个74LS373,然后再把数据一起输出到LED点阵列中,送出去的时间数据由AT89S52来控制。电子钟由显示电路,行驱动电路、列驱动电路、中央控制器AT89S52、按键电路和复位电路组成。
四、硬件设计
单片机采用AT89S52,系统采用高精度的12MHZ的晶振,以获得较高的刷新频率及较准确的时钟频率使显示稳定和计时准确:采用RC上电加按键复位电路:单片机的P0口和P1口的低5位与列驱动去连接,用来显示数据;P2口的低3位与行驱动器相连,用来送行选信号。
单片机P2口的低3位输出的行信号经74LS138译码生成8条行扫描,这8条信号线所带的驱动能力足以驱动8个LED显示器,因此就不需要额外增加驱动电路。74LS138的其他控制引脚按工作状态分别接入相应的高低电平。
列驱动采用集成电路74LS373构成,它是一个8位并入和8位并出的带一定驱动能力的锁存器。用P1口的低5位分别接到第一脚作为选通用,连接P2口的低5位除了作输出驱动外,主要是起锁存数据的功能,所以11脚全部固定接地。
五、软件设计
LED点阵电子钟程序主要功能是屏幕显示时间稳定、精确。所以按照分块设计的方法可以把程序分为主程序、计时程序、显示程序、调时程序。主程序主要是用来初始化系统和控制各个子程序之间执行的顺序。由于计时需要精确,所以我们直接用T0计时器来产生一个20ms的中断程序,在计时中断程序中完成对时、分、秒的调整,而调时程序采用了两个外部中断来完成。
程序清单:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP PINT0
ORG 000BH
LJMP INTT0
ORG 0013H
LJMP PINT1
ORG 0030H
MAIN: MOV SP,#60H
MOV TMOD,#01H
MOV TL0,#0e0H
MOV TH0,#0b1H
MOV IE,#87H
MOV 30H,#01H ;时十位
MOV 31H,#02H ;时个位
MOV 32H,#0AH ;光标点位
MOV 33H,#00H ;分十位
MOV 34H,#00H ;分个位
MOV 35H,#00H ;秒十位
MOV 36H,#00H ;秒个位
SETB IT0
SETB IT1
SETB PT0
SETB TR0
LOOP: LCALL DISP
LJMP LOOP0
INTT0 MOV TL0,#0e0H
MOV TH0,#0b1H
PUSH ACC
PUSH PSW
INC 36H
MOV A,36H
CJNE A,#25,PLL
MOV 32H,#0BH
PLL CJNE A,#50,ENDD
MOV 32H,#0AH
MOV 36H,#00H
INC 35H
MOV A,35H
CJNE A,#60,ENDd
MOV 35H,#00H
INC 34H
MOV A,34H
CJNE A,#0AH,ENDd
MOV 34H,#00H
INC 33H
MOV A,33H
CJNE A,#06H,ENDd
MOV 33H,#00H
INC 31H
MOV A,30H
CJNE A,#02H,END1
MOV A,31H
CJNE A,#04H,END1
MOV 31H,#00H
MOV 30H,#00H
END1: MOV A,31H
CJNE A,#0AH,ENDd
MOV 31H,#00H
INC 30H
ENDd:POP PSW
POP ACC
RET1
DISP: PUSH ACC
PUSH PSW
MOV A,30H
MOV B,#08H
MUL AB
MOV 3BH,A
MOV R4,#00H
MOV R5,#08H
LOOP00:MOV A,3BH
MOV DPTR,#TABE
MOVC A,@A+DPTR
MOV P2,R4
MOV P0,A
MOV P1,#0FEH
INC 3BH
INC R4
LCALL DELAY
DJNZ R5,LOOP00
MOV A,31H
MOV B,#08H
MUL AB
MOV 3BH,A
MOV R4,#00H
MOV R5,#08H
LOOP11: MOV A,3BH
MOV DPTR,#TABE
MOVC A,@A+DPTR
MOV P2,R4
MOV P0,A
MOV P1,#0FDH
INC 3BH
INC R4
LCALL DELAY
DJNZ R5,LOOP11
MOV A,32H
MOV B,#08H
MUL AB
MOV 3BH,A
MOV R4,#00H
MOV R5,#08H
LOOP22: MOV A,3BH
MOV DPTR,#TABE
MOVC A, @A+DPTR
MOV P2,R4
MOV P0,A
MOV P1,#0FBH
INC 3BH
INC R4
LCALL DELAY
DJNE R5,LOOP22
MOV A,33H
MOV B,#08H
MUL AB
MOV 3BH,A
MOV R4,#00H
MOV R5,#08H
LOOP33: MOV A,3BH
MOV DPTR,#TABE
MOVC A, @A+DPTR
MOV P2,R4
MOV P0,A
MOV P1,#0F7H
INC 3BH
INC R4
LCALL DELAY
DJNE R5,LOOP33
MOV A,34H
MOV B,#08H
MUL AB
MOV 3BH,A
MOV R4,#00H
MOV R5,#08H
LOOP44: MOV A,3BH
MOV DPTR,#TABE
MOVC A, @A+DPTR
MOV P2,R4
MOV P0,A
MOV P1,#0EFH
INC 3BH
INC R4
LCALL DELAY
DJNE R5,LOOP44
POP PSW
POP ACC
RET
DELAY: MOV 37H,#50
DEL: MOV 38H#4
DJNE 38H,$
DJNE 37H,DEL
RET
TABE: ;0
DB 00H,18H,24H,24H,24H,24H,18H,00H
;1
DB 00H,10H,30H,10H,10H,10H,38H,00H
;2
DB 00H,18H,24H,04H,18H,20H,3CH,00H
;3
DB 00H,18H,24H,18H,04H,24H,18H,00H
;4
DB 00H,08H,18H,28H,7CH,08H,08H,00H
;5
DB 00H,1CH,10H,18H,04H,24H,18H,00H
;6
DB 00H,18H,24H,38H,24H,24H,18H,00H
;7
DB 00H,3CH,28H,08H,10H,10H,10H,00H
;8
DB 00H,18H,24H,18H,24H,24H,18H,00H
;9
DB 00H,18H,24H,24H,1CH,24H,18H,00H
;
DB 00H,00H,18H,18H,00H,18H,18H,00H
;
DB 00H,00H,00H,00H,00H,00H,00H,00H
RET
PINT0:MOV 4AH,#20
DJNE 4AH,$
JB P3.2,END-DD
MOV 36H,#00H
INC 34H
MOV A,34H
CJNE A,#0AH,END-DD
MOV 34H,#00H
INC 33H
MOV A,33H
CJNE A,#06H,END-DD
MOV 33H,#00H
END-DD:RET1
PINT1: MOV 4AH,#20
DJNE 4AH,$
JB P3.3,END-DD
INC 31H
MOV A,30H
CJNE A,#02H,END-1
MOV A,31H
CJNE A,#04H,END-1
MOV 31H,#00H
MOV 30H,#00H
END1: MOV A,31H
CJNE A,#0AH,END-d
MOV 31H,#00H
INC 30H
END-D: RETI
END
流程卡: (2个课时)
操作流程卡
课题 基于AT89S52单片机的LED点阵显示电子钟设计
序号
操作内容
工作时间
学生: 日期: 教师:
基于AT89S52单片机的LED点阵显示电子钟设计: (15个课时)
1、 准备本项任务所需的材料、工具,
2、 如果不全,缺哪些?
3、 根据上一项目的制作步骤进行操作。
材料明细卡
代号
名称
型号
数量
用途
R1
排阻
10KΩ*8
1
个
LED限流
R2
碳膜电阻
10KΩ
1
个
复位电路
C1
电容
33PF
1个
晶振电路
C2
电容
33PF
1个
晶振电路
C3
电解电容
10vF/10V
1个
复位电路
单片机
AT89S52
1个
控制核心
晶振
12MHZ
1个
晶振电路
驱动器
74LS244
1个
数码管驱动
数码管
4位共阳
1个
显示装置
电源
+5V /0.5A
1个
提供+5V
按键
按键
2个
1个
分时调节
复位电路
驱动器
74LS07
1个
数码管驱动
D
LED
8*8
5个
显示电路
集成块
74LS373
5个
驱动锁存
集成块
74LS138
1个
行扫描
课题 基于AT89S52单片机的LED点阵显示电子钟设计
参考资料提示
序号
书名
出版社
1
电工基础
中国劳动社会保障出版社
2
电子电路基础
中国劳动社会保障出版社
3
数字逻辑电路
中国劳动社会保障出版社
4
电子技术工艺基础
电子工业出版社
5
电子专业技能训练
中国劳动社会保障出版社
基本操作技能
中国劳动社会保障出版社
单片机应用技术
中国劳动社会保障出版社
平分卡: (2个课时)
基于AT89S52单片机的LED点阵显示电子钟设计(满分100分)
评分页
姓名
学号
序号
项目及配分
工艺标准
扣分标准
学生自评分
教师评分
1
作图
30分
1. 布局合理\紧凑
2. 导线横平\竖直\转角成直角,无交叉
3. 元件间连接关系和电原理图一致
1. 布局不合理,每处扣5分
2. 导线不平直\转角不成直角, 每处扣2分,出现交叉, 每处扣5分
3. 连接关系错误, 每处扣10分
2
基于AT89S52单片机的LED点阵显示电子钟设计安装45分
1. 电阻器\二极管水平安装,离万能电路板间距5mm,色标电阻的色环标志方向一致
2. 三极管、可控硅、电解电容垂直安装,元件底部离电路板间距8mm
3. 按图装配,元件的位置\极性正确
4. 焊点光亮\清洁\焊料适量
5. 布线平直
6. 无漏焊\虚焊\假焊\搭焊\溅锡等现象
7. 焊接后元件引脚剪脚留头长度小于1 mm
1. 元件安装歪斜\不对称\高度超差\色环电阻标志不一致, 每处扣1分
2. 错装\漏装, 每处扣5分
3. 焊点不亮\焊料过多过少\布线不平直, 每处扣0.5分
4. 漏焊\虚焊\假焊\搭焊\溅锡, 每处扣3分
5.
6. 剪脚留头长度大于1 mm, 每处扣0.5分
3
基于AT89S52单片机的LED点阵显示电子钟设计调试25分
1.按调试要求和步骤正确测量
2.正确使用万用表
3.正确使用示波器观察波形
1.调试步骤错误,每次扣3分
2.测量结果错误, 每次扣5分误差大, 每次扣2分
3.万用表\示波器使用错误, 每次扣3分
4
安全文明操作
1. 安全用电,不人为损坏元器件\加工件和设备等
2. 保持操作环境整洁,秩序井然,操作习惯良好
1. 发生安全事故,扣总分20分
2. 违反文明操作规程,视情况扣总分5---20分
5
工时: min
超5min扣10分
6
合计
基于AT89S52单片机的LED点阵显示电子钟的维修(满分100分)
评分页
姓名
学号
序号
项目及配分
工艺标准
扣分标准
学生自评分
教师评分
1
查找故障
正确使用电烙铁、万用表、示波器等
电烙铁、万用表\示波器使用错误, 每次扣3分
2
排除故障
1.元件的位置\极性正确
2.焊点光亮\清洁\焊料适量
3.布线平直
4.无漏焊\虚焊\假焊\搭焊\溅锡等现象
5.焊接后元件引脚剪脚留头长度小于1 mm
6.正确使用电烙铁、万用表、示波器等
1.元件安装歪斜\不对称\高度超差\色环电阻标志不一致, 每处扣1分
2.焊点不亮\焊料过多过少\布线不平直, 每处扣0.5分
3.漏焊\虚焊\假焊\搭焊\溅锡, 每处扣3分
7.
4.剪脚留头长度大于1 mm, 每处扣0.5分
5. 电烙铁、万用表、示波器、直流稳压电源、毫伏表、信号发生器使用错误, 每次扣3分
3
安全文明操作
3. 安全用电,不人为损坏元器件\加工件和设备等
4. 保持操作环境整洁,秩序井然,操作习惯良好
3. 发生安全事故,扣总分20分
4. 违反文明操作规程,视情况扣总分5---20分
4
工时: min
超5min扣10分
5
合计
工作小结: (1个课时)
工作任务小结表
日期:
1:你所在的小组从接受任务到完成共用了多少时间?
2:你认为此基于AT89S52单片机的LED点阵显示电子钟设计的制作可以在哪些方面进行改进?
3:对你造成最大困难的是哪些工作?
4:你通过此基于AT89S52单片机的LED点阵显示电子钟仪设计制作在哪些方面得到了提高?
5:你认为在今后的教学中是否还应按照这种教学方法来安排?
相关问答
51 单片机 中ret是什么意思?RETI是中断返回指令;RET是子程序返回指令;RETI比RET多一步清除中断优先级状态位,让同级别的中断有机会得到响应。中断指令“RETI”做为中断...RETI是中...
单片机 ret指令详解?单片机的RET是子程序结束的专用指令,必须放在子程序的出口。如果子程序不是一个出口,那么就可以有多个RET指令。单片机在执行RET指令时,是将程序计数器PC值恢...
rei和 reti 指令主要有哪些区别?程序中用RET做返回,在中断服务子程序中用RETI起中断返回作用。RET和RETI有本质的区别:当某一中断源响应后,单片机中的标志寄存器flagH和flagL其中的一个将会...
单片机 汇编指令中的RET1与RET有什么区别呀?RET是用来对一般程序的返回指命,RETI是只用在中断中返回只要记住一点,中断返回用RETI,其它的用RETRET是用来对一般程序的返回指命,RETI是只用在中断中返回...
【 单片机 题目一套,2、在程序运行中,PC的值是.A、当前正在执...[最佳回答]给你回答一部分吧.选择题:2C3A4B5D填空题:2位单元名称,位单元地址3EA低电平2us4BA512,246低电平触发,下降沿触发7注释操作码8128工作寄存器区...
51 单片机 ,用定时器中断,在P1口实现1S移动一次的流水灯,用汇编语言编写的程序?CNTEQU30HORG0000HSJMPSTAORG000BHLJMPT0ISRORG0050HSTA:MOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0...
执行中断返回指令后,从堆栈区弹出的地址送给什么寄存器?以51系列单片机为例,RETI中断返回:从堆栈栈顶弹出的两个字节内容(即断点地址)送至程序指针寄存器PC以51系列单片机为例,RETI中断返回:从堆栈栈顶弹出的两...
单片机 中断汇编开头几行怎么写,地址是什么?51单片机5个中断源的中断程序入口地址分别是:INT0:0003HT0:000BHINT1:0013HT1:001BH串口:0023H一般在相应的中断入口位置写一跳转指令LJMP,在中断服务程序....
怎么用按键调整 单片机 的延时时间-ZOL问答#0FFHAJMPPTF0RPTF0R:SETBTR0RETI;**********************************...以前我的单片机课程设计,提供给你参考参考,不过...
单片机 中,怎么游淬编语言编写程序实现延迟40ms-ZOL问答40MS时间单片机都在这里循环,不作能它事。1.可以用定时中断的方法:ORG0000...========================POPACCPOPDPLPOPDPHR...