单片机中断ppt
第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 微机得输入/输出方式
第5章AT89S51单片机的中断系统-2ppt课件
【注意】:TCON既有定时器的控制功能,又有中断控制功能。 虽然不少资料将TCON称为定时器控制寄存器,但多数位都是 为中断控制而设置的(其中与中断有关的控制位共6位)。
位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
✓ 计数溢出标志位的使用有两种情况: • 采用中断方式时,作为中断请求标志位来使用; • 采用查询方式时,作为状态位供查询使用。
(2)SCON中的中断标志位
位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
位符号 SM0 SM1 SM2 REN TB8 RB8 TI
RI
TI:串行发送中断请求标志位
AT89S51单片机的中断系统
本章主要内容
中断的概念和应用 AT89S51中断系统结构 与中断相关的SFR及中断控制 外部中断 C51中断函数编程举例
微机的输入输出方式
(1)无条件传送方式 (2)查询传送方式 (3)直接存储器存取(DMA)方式 (4)中断方式
无条件传送方式
无条件传送方式在这种传送方式下,CPU不需要了解 外设的状态,只要在程序中加入访问外设的指令, 就可实现CPU与外设之间的数据传送。此种方法控制 简单,但数据传送时,由于不知道外设的状态,传 送数据时容易出错。
④ 故障处理:当计算机出现故障时,CPU可自动执行故障 处理程序,提高了系统自身的可靠性。
计算机与外围设备之间传送数据及实现人机联系也常采 用中断方式。
89S51的中断源
中断源:凡是中断请求的来源都统称为中断源。 在单片机系统中,中断可以由各种硬件设备产生,
第六课Interrupt优质获奖课件
中断源
自
低
0
然
级
优
先
级 中断入口
中断源
SCON
2 、 (P3.3 ) 。 可 由 IT1(TCON.2) 选 择 其 为 低 电 平有效还是下降沿有效。当CPU检测到P3.3引脚 上出既有效旳中断信号时,中断标志IE1(TCON.3) 置1,向CPU申请中断。
2024/9/22
21
TCON
IE
IP
——按序执行(极难遇到) ☞正处理低优先级中断又接到高级别中断
——高打断低 ☞正处理高优先级中断又接到低档别中断
——高不理低
2024/9/22
14
在中断源提出了中断申请且CPU此前已经允 许中断旳前提下,还须满足下列三个条件:
☞没有同级旳中断或更高级别旳中断正在处理;
☞正在执行旳指令必须执行完最终 1个机器周期;
ES 1
PX0 1
0 PT0 1
0 PX1 1
0 PT1 1
0 PS 1
0
自
高
然
级
1
优
先
级 中断入口
中断源
自
低
0
然
级
优
先
级 中断入口
中断源
18
80C51旳中断源
一、中断源
TCON
IE
INT0 IT0 1
01
T0 INT1 IT1 1
01
T1
RX TX
2024/9/22
EX0 1 EA 1 IE0
ET0 1 TF0
IT0/IT1:外部中断祈求旳触发方式选择位: =0:在INT0/INT1端申请中断旳信号低电平有效; =1:在INT0/INT1端申请中断旳信号负跳变有效.
【优文档】微机课(外部中断)PPT
TEST .AS示器右边六位动态显示实时钟的时、分、秒
单元分配: 3AH:“秒”单元(BCD码);
估算:2*125*200*1µs≈50ms 【计算程序运行时间例】
3BH:“分”单元(BCD码);
3CH:“时”单元(BCD码)。 (6)只有在当前指令执行完毕后,才能进行中断响应。
DSCEOCNR(串7 行6口)控制只寄存有器 在字节当地址前为98指H。 令执行完毕后,才能进行中断响应。
MOV P1,A ;输出新控制码到P1口
5.5 中断的响应时间
在一个单一中断的系统里,AT89C51单片机对中断请求的响应 的时间一般在3~8个机器周期之间。
各中断源服务程序的入口地址:
它是各中断源的中断服务子程序的执行首地址,CPU响应
D(E5C)正R7在以执行2的4指为令不模是R加ETI或1是,访问相IE或当IP的于指令实。 现校时功能。
PUSH PSW DJNZ R7,D1S2⑦
IEX0P:PUSH ACC
;外部中断0服
务子程序。保护现场 补充5-1:编写完整的应用程序,运用外部中断功能,实现从 INT1引脚每输入2个下降沿信号令3FH单元内容按BCD码加1并且输出到P1
【例B5-3】主程序运用软件延时控制秒闪的同时实现外部中断 INT0每中断五次令一次
)
【例B5-4】上例基础上中断服务子程序具体代码后移的方法 )
【例B5-2】INT0每中断1次令50H单元内容加1并且输出到P1口 )
MOV A,50H ADD A,#1 DA A 按M5O0BVHC,DA 码加1
外部中断应用例:
【例B5-1】。 )
实验板INT0按键电路
【例B5-2】外部中断INT0每中断五次令一次
MCS-51中断系统教学课件PPT
5.2 MCS-51单片机的中断系统 有5个中断请求源,两个中断优先级,可两级嵌套。 MCS-51单片机的中断系统结构示意图,如图5-3所示。
5.2.1 中断源及中断入口
中断源是指能发出中断请求,引起中断的装置或事件。 MCS-51单片机共有5个中断源,其中2个为外部中断源,3 个为内部中断源:
CPU处理事件的过程,称为CPU的中断响应过程。
图5-1中断流程图所示。 对事件的整个处理过程, 称为中断处理(或中断 服务)。
能够实现中断处理功能的部件称为中断系统;产生中断 的请求源称为中断请求源。中断源向CPU提出的处理请 求,称为中断请求(或中断申请)。进入中断→保护现场 →中断处理恢复现场 →中断返回
MOV IP,#00010100B;
需要指出的是,若置5个中断源全部为高优先级,就等于 不分优先级。
MCS-51单片机响应中断的基本原则如下: 1)低优先级中断可被高优先级中断请求所中断,反之则不 能。 2)在同一优先级中(不管是高优先级或低优先级),某个 中断一旦得到响应,与它同级的中断请求就不能再中断它。 CPU同时接收到几个中断时,首先响应优先级最高的中断请 求。如果同级的多个中断请求同时出现,则按CPU查询次序 确定的中断优先权排队来响应,其确定的查询次序见表5.6。 由此可见,各中断源在同一个优先级的条件下,外部中断0 的中断优先权最高,串行口中断优先权最低。
5.3.1 中断响应 1.CPU的中断响应条件 CPU响应中断的条件主要有以下几点: 1)由中断源发出中断申请。 2)中断总允许位EA=1,即CPU允许所有中断源申请中断。 3)申请中断的中断源的中断允许位为1,即此中断源没有被屏
蔽,可以向CPU申请中断。 以上是CPU响应中断的基本条件。若满足,CPU一般会响应中 断,但如果有下列任一种情况存在,中断响应即被封锁。
单片机中断原理(共34张PPT)
3.
中断优先级越高, 则响应优先权就越高。当CPU正 在执行中断服务程序时, 又有中断优先级更高的中断申 请产生, 这时CPU就会暂停当前的中断服务转而处理高 级中断申请, 待高级中断处理程序完毕再返回原中断 程序断点处继续执行, 这一过程称为“中断嵌套”。
4. 中断响应的一般过程
(1) 在每条指令结束后, 系统都自动检测中断请 求信号, 如果有中断请求,且CPU处于开中断状 态下, 则响应中断。
• 采用了中断技术后的计算机, 可以解决 CPU与外设之间速度匹配的问题, 使计算 机可以及时处理系统中许多随机的参数 和信息, 同时, 它也提高了计算机处理故 障与应变的能力。
“中断”与“查询”相比: 执行效率↑ 实时性 ↑
2.
中断源是指在计算机系统中可以向 CPU发出中断请求的来源。 通常有I/O 设备、实时控制系统中的随机参数和信 息故障源等。
例如, 某软件中对寄存器IE、 IP设置如下: MOV IE, # 8FH MOV IP, # 06H
则此时该系统中:
· CPU中断允许; · 允许外部中断 0、 外部中断 1、 定时器 /计数器 0、 定时器 /计数器1提出的中断申请; · 允许中断源的中断优先次序为: 定时器 /计数器 0>外部中断 1>外部中断 0>定时器/计数器 1。
(5) 返回, 此时 CPU将推入到堆栈的断点地 址弹回到程序计数器, 从而使CPU继续执行刚 才被中断的程序。
5.2 MCS - 51中断系统
图5.1 MCS - 51中断系统结构框图
中断源
表 5.1 8051 中 断 源
中断标志(Flag)
IE0:外部中断0中断标志
TF0:定时器/计数器0中断标志 IE1:外部中断1中断标志
3中断
中断1,中断的概念(见ppt)在计算机中,由于计算机内外部原因,或者由于软硬件原因,使CPU从当前正在执行的程序中暂停下来,而自动转去执行预先安排好的为处理该原因所对应的服务程序。
执行完服务程序后,再返回被暂停的位置继续执行原理的程序,这个过程称为中断。
2,中断的意义(1)使用中断,可以使单片机内部的资源并行工作,从而提高处理效率。
(2)使用中断可以及时且高效的处理紧急事件3,中断方式与查询方式的比较(中断的特点)(1)中断方式时,事件发生后,由外设主动向CPU提出申请;而查询方式下,则由CPU一直检测查询事件是否发生。
(2)中断方式可以使CPU与其他资源并行工作,而查询方式则会浪费CPU的资源。
(3)中断方式下,无论什么样的外围事件,无论在何时何地向CPU提出申请,CPU都能对其正确服务。
4,中断源的概念(ppt)产生中断请求信号的事件、原因称为中断源。
5,中断优先级的概念(ppt)在实际系统中,往往根据中断源的重要程度给不同的中断源设定优先等级。
当多个中断源提出中断请求时,优先级高的先响应,优先级低的后响应。
6,中断的屏蔽与开放(ppt)7,51单片机的中断分为哪三类?(1)外部中断(外部事件触发的,通过外部中断引脚输入的)(2)定时器/计数器中断(3)串口中断8,51单片机一共有哪五个中断?(1)INT0中断(2)INT1中断(3)定时器/计数器T0中断(4)定时器/计数器T1中断(5)串口中断9,51单片机的五个中断的中断标志位分别是什么?int0——IE0;int1——IE1;T0——TF0;T1——TF1;串口——RI(接收标志位)和TI(发送标志位)10,中断的机制(1)外部中断如何提出中断申请?通过外部中断引脚INT0(INT1)提出,如果在该引脚上出现了下降沿(边沿检测时)或者出现了低电平(电平检测时),则意味着有中断请求输入。
(2)中断请求如何被保存?每个中断都对应有各自的中断标志位,没有中断请求时,相应的中断标志位为0;如果一旦有中断请求发生,则对应的中断标志位会被硬件自动设置为1. (3)单片机如何获知中断请求?单片机在每个机器周期都会按序检测一遍中断标志位,如果检测到某位为1,则获知该中断请求存在,并获得了中断号。
《单片机原理与技术》课件第7章-中断
1.定时器/计数器控制寄存器TCON
位7
位6
位5
位4
位3
位2
位1
位0
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
IT0:外部中断INT0触发方式选择 位。可由用户用软件选择。 • IT0=1:设定外部中断引脚信号为下降 沿触发方式。 •
IT1:外部中断INT1触发方式选择 位,其功能类似于IT0。 • IE0:外部中断INT0触发有效标志 位。 • IE1:外部中断INT1触发有效标志 位,其功能类似于IE0。 •
•
定时器0与定时器1标志为TF0与TF1, 在定时器溢出周期的S5P2设置。然后其值 在下一周期由电路查询。然而,定时器2标 志TF2是在S2P2设置且在定时器溢出的同 一周期内被查询。 Nhomakorabea•
若请求有效且响应的条件正确,至请 求的服务例程的硬件子例程调用将是下一 条要执行的指令。CALL自己需要两个周期。 因此,在外部中断请求的激活与服务例程 的第一条指令的执行开始之间,至少需要3 个完整的机器周期。图7-9所示为中断响应 时序。
图7-4 中断响应、服务及返回流程图
7.3 80C51中的中断结构
7.3.1 中断启用
图7-5 MCS-51中断源
图7-6 80C51中的IE(中断启用)寄存器
7.3.2
中断优先权
图7-7 80C51中的IP(中断优先级)寄存器
7.3.3
•
中断如何处理
在操作中,所有中断标志在每个机器 周期的S5P2期间被采样。在下一个机器周 期期间查询采样。若找到一启用的中断的 标志已设置,中断系统生成一LCALL至在 程序存储器中的适当单元,至中断服务例 程的LCALL的生成,由以下3个条件中的任 一个阻断:
单片机中断系统.完美版PPT
EA的作用是使中断允许形成两级控制。
P1.1=中le断d处; 响应理,即先响应中断优先级高的中断源,再响应优
执行相应的中断服务程序。
先级低的中断源。例如,若规定按键扫描处理优先 2.中断服务程序(函数)
STC15F2K60S2单片机各个中断源所对应的中断服务程序入口地址及中断号如表5-2所示。 IP2为中断优先级控制寄存器,主要对串行口2、SPI中断源的中断优先级设置,地址为B5H。
➢IE0:外部中断0请求源(INT0/P3.2)标志位。与IE1功能 类似。
➢IT0:外部中断0中断触发方式选择位,功能与IT1类似。
2. SCON和S2CON寄存器
SCON为串行口1控制寄存器,包括了串行口发送和接收 中断的请求标志位TI和RI。SCON寄存器的字节地址为98H,可 位寻址,其格式如下:
外部中断2(IN T 2 )、外部中断3( I N T 3)、定时器T2中断、 外部中断4(IN T 4 )。除外部中断2( I N T 2)、外部中断3 ( I N T 3 )、定时器T2中断、外部中断4(IN T 4 )等4个中断
源固定为最低优先级中断外,其它的中断源都具有2个中断 优先级,可实现2级中断服务程序嵌套。
STC15F2K60S2单片机中断系统结构示意图如图5-2 所示。这些中断源与特殊功能寄存器TCON、SCON、S2CON、 CCON、PCON、ADC_CONTR、IE、IE2、INT_CLKO、IP等有关, 下面首先介绍与中断源有关的寄存器功能。
STC15F2K60S2 单片机中断系统结
构示意图
SCON寄存器的其他位与中断无关,将在后续相关章节 介绍。
中职教育-《89C51单片机实用教程》课件:第7章 89C51单片机中断系统和定时器(4).ppt
SJMP LOOP
END
例7.9 工作模式1的应用 利用定时器 T1 工作模式1, 在引脚 P1.1 上输出
7.4 89C51单片机中定时器/计数器的应用
在定时器/计数器应用时,进行如下工作: 1. 设定TMOD来选择定时器T0,T1的工作方式:
按照实际需要,选择定时方式还是计数方式; 按照定时长短,选择工作模式0、1、2或 3 ; 按照具体要求,选择是否受INT0 (INT1) 控制。 2.根据定时时间长短和工作模式计算计数初值: 根据工作模式,计算出定时时间的计数初值 ;
将计数初值送入定时器中(TH1,TL1,TH0、TL0) 3. 对TCON的设定来启动定时器/计数器工作。 4. 正确选择用程序查询方法或程序中断方式来进
行定时时间到(计数溢出)后的处理操作。
7.4.1 定时器工作方式的设置和计数初值计算
对定时器的工作模式寄存器TMOD进行设定:
l. 定时方式和计数方式选择。
解: ⑴ 如图在引脚 P1.0 上输出周期为 2ms 连续方波,
需要定时器 T0 产生 1ms 的定时。 每隔1ms时间 P1.0 引脚的输出取反即可。
解:
⑵. T0工作于模式0,计数器为13位的加1计数器, fosc=6MHz,则1个振荡周期为1/6μs 定时时间为1ms,根据公式: t =(213-T0初值)×振荡周期×12 1×10-3=(213-T0初值) ×( 1/6×10-6 ) ×12 T0初值= 7692 = 1111000001100B
多为:213=8192个。
例7.5 定时器T0工作在模式0, CPU主频 fosc=6MHz 定时1ms, T0的初值为多少?计算最长定时时间?
解:T0工作于模式0时, 为13位的加1计数器 ①. 定时1ms,根据公式:
单片机原理及应用第4章 AT89S51的中断系统
1、TCON:定时器/计数器的控制寄存器
T1
T0
INT1 INT 0
T1的溢出中 断请求标志 位TF1, T1溢出时置 位,向CPU 申请中断
外部中断请 求标志位 若INT0引 脚上有中断 来,置IE1, 否则清0
外部中断 触发方式
当89S51复位 后,TCON=0
中断源
外部中断0 T0溢出中断 外部中断1 T1溢出中断 串行口中断
中断级别 最高
最低
例 设置IP寄存器的初始值,使2个外中断请求为 高优先级,其它中断请求为低优先级。
(1)用位操作指令 SETB PX0 SETB PX1 CLR PS CLR PT0 CLR PT1
(2)用字节操作指令 MOV IP,#05H
第 4章 AT89S51的中断系统
4.1 中断的概念 中断:用于实时测控
-对应-软件查询方式
4.2 AT89S51中断系统的结构
5个中断源,两级优先级。
中断系统结构示意图如下图所示。
中断标志 寄存器
中断允许 寄存器
中断优先级 寄存器
从图可见:AT89S51有
5个中断源: INT 0 , T0, INT1, T1, (TX,RX)
主程序 初始化 部分
(1)设置IE。 (2)设置IP。 (3)若是外部中断源,设置IT0,TT1触发
方式。
(4)编写中断服务程序。
例 假设允许外部中断0中断,并设定它为高级中断,其它 中断源为低级中断,采用跳沿触发方式。编写初始化程 序段:
解:
SETB EA SETB EX0 SETB PX0 SETB IT0
“1”高优先级 “0”低优先级
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
串行口中断允许位 1 允许中断
T1的溢出中断 1 允许中断
例:假设允许片内定时器/计数器中断,禁止 其他中断。试根据假设条件设置IE的相应值。
解:(IE)=10001010B=8AH
(a)用字节操作指令
MOV SETB SETB SETB IE,#8AH;或 MOV 0A8H,#8AH;
(b)用位操作指令
TCON TF1
T1溢出中断标志 T0溢出中断标志 外中断1请求标志
外部中断1触发方式控制
外中断0请求标志
• 若ITi=1(沿触发),则INTi上的电 平由1变到0时,置位IEi、在CPU响应该 中断时由硬件清0。 • 若ITi=0(电平触发),则输入到INTi 的外部中断源必须保持低电平有效,直到该 中断被响应。同时在中断返回前必须使电平 变高,否则将会再次产生中断。
第五章 中断系统
§5.1 §5.2 §5.3 §5.4 §5.5 §5.6 5.7 微机的输入/输出方式 中断的概念 89C51中断系统结构及中断控制 中断处理过程 外部中断扩展方法 中断程序举例 思考题与习题
§5.1
§5.1.1
微机的输入/输出方式
无条件传送方式
不需要交换状态信息,只需在程序中加入访问外设的指令, 数据传送便可以实现。
主 程 序
中断请求 断点 继 续 执 行 主 程 序
中 断 服 务 程 序
§5.2 中断的概念
一、什么是中断 二、中断源 引起并发出中断请求的源头
三、中断源识别 中断发生后,系统如何识别是哪一个中断源引起的中断。 四、中断控制 五、中断优点 中断允许、中断优先级控制 1.分时操作提高主机效率
2.实时处理
二级中断嵌套
CPU在执行主程序 CPU执行低级 中断服务程序 CPU执行高级 中断服务程序
低级中 断请求
高级中 断请求
例:设8031的片外中断为高优先级,片内中断为 低优先级。设置IP相应值。
解:(IP)=00000101B=05H
(a)用字节操作指令
MOV (b)用为操作指令 SETB SETB CLR CLR CLR PX0 PX1 PS PT0 PT1 IP,#05H;或 MOV 0B8H,#05H;
MAIN:
例2:
+5V 1.结合电路图,读下列程 P1.0 红灯 序,说明其功能。 MOV A , #03H 红灯 P1.1 ML:MOV P1,A 绿灯 ACALL DL P1.2 CPL A 绿灯 P1.3 SJMP ML DL: MOV R7,#0A3H DL1: MOV R6,#0FFH DL6: DJNZ R6,DL6 DJNZ R7,DL1 RET 2.如果想通过按键控制红绿灯的切换,硬件应该怎样改电路图, 软件怎样编程序?
TCON TF1
外中断1请求标志
外部中断1(INT1)触发方式控制
外中断0请求标志
• 若ITi=1 至少一个机器周期高电平,一个机器 •(下降沿触发) 周期低电平。 • 若ITi=0,保持低电平直到中断被响应为止。 •(低电平触发) 中断返回前必须使电平变高。 •无论何种方式,转入中断后,由硬件清0中断请求标志。
ORG 0000H AJMP MAIN ORG 0003H AJMP INT ORG 0050H MAIN: MOV SP,#60H MOV IE,#1000 0001B; SETB IT0; 下降沿触发 MOV A,#03H MOV P1,A SJMP $ INT:CPL A MOV P1,A RETI END
MOV A , #03H MOV P1,A DDD:JB P3.2,DDD CPL A MOV P1,A DD1:JNB P3.2,DD1 SJMP DDD
+5V
P1.0 P1.1 P1.2 P1.3 P3.2 红灯 红灯 绿灯 绿灯
3.如果想通过中断方式实现上述功能,软件怎样编程序? 仿前 例。
+5V
P1.0 P1.1 P1.2 P1.3 P3.2 红灯 红灯 绿灯 绿灯
例3:某8051单片机定时采样压力、温度信号。定时用T0实现, 压力超限和温度超限的报警信号分别由INT0、 INT1引脚输入, 中断优先级排列顺序依次为:压力温度定时 确定IE、IP控制字,并编写初始化程序。 ORG 0000H AJMP M ORG 0003H AJMP INTA ORG 000BH AJMP TIMER0 ORG 0013H AJMP INTB ORG 0050H M:MOV IP,#0000 0101B SETB IT0; 下降沿触发 MOV IE,#1000 0111B; 或SETB EA,EX0
Q
CLR
撤申请P1.6
ORG 0000H AJMP M ORG 0003H AJMP IT0 ORG 0030H M:MOV IE,#81H; CLR IT0;电平触发 …………… HE:SJMP HE ORG 0050H IT0:JB P1.0,TE1;温度1 JB P1.1,TE2 ;温度2 JB P1.2,PH ; PH JB P1.3,PL ;压力
3.随机故障处理
§ 5.3 89C51中断系统结构及中断控制 §5.3.1 89C51中断源和中断请求标志
8051提供5个中断源: INT0 P3.2引脚上的外部中断请求(外中断0) INT1 P3.3引脚上的外部中断请求(外中断1) T0 片内定时器/计数器0溢出(TF0)中断请求 T1 片内定时器/计数器1溢出(TF1)中断请求 TI/RI 片内串行口完成一帧发送或接收中断请求源
︰ ︰
;中断服务程序
RETI END
二、应用举例
VCC P1.7 ~ P1.0 驱 动 器
INT0
例1:按一次全亮,再按一次全黑
1.查询方式
ORG 0000H AJMP MAIN ORG 0050H MAIN: MOV A,#00H MOV P1,A KK: JNB P3.2,WW SJMP KK WW: CPL A MOV P1,A JNB P3.2,$ SJMP KK END
2.中断方式
ORG 0000H AJMP MAIN ORG 0003H AJMP INT ORG 0050H MOV SP,#60H MOV IE,#1000 0001B; 或SETB EA,EX0 SETB IT0; 下降沿触发 MOV A,#00H MOV P1,A INT:CPL A SJMP $ MOV P1,A RETI END
89C51中断系统
§ 5.4 中断响应及中断处理过程 一、响应中断的条件 CPU在每个机器周期的S5P2时刻采样中断标志, 而在下一个机器周期对采样到的中断进行处理。按优 先级高低,中断系统将控制转入相应的中断服务程序。 封锁CPU对中断响应的条件: (1)CPU正在处理同级的或高一级的中断 (2)现行的机器周期不是当前所执行指令的最后一 个机器周期。 (3)当前正在执行的指令是返回(RETI)指令或是对 IE或IP进行读/写的指令。
中断响应时间
CPU不是在任何情况下都对中断请求予以响应,而 不同的情况下对中断响应的时间是不同的。 对于顺利的中断响应,其最短的响应时间为3个机 器周期。 对于受阻的中断响应,则响应时间会更长一些。 若中断系统只有一个中断源,则响应时间为 3~8 个机器周期之间。
二、中断响应过程
⑴ ⑵ ⑶ ⑷ ⑸ 把当前PC值压入堆栈,保护断点。 将相应的中断服务程序的入口地址送入PC。 对有些中断源,CPU会自动清除中断标志。 执行中断服务程序。 执行到返回指令RETI,中断服务程序结束,将堆栈内容弹 出到PC,返回到原来断点继续执行。
三、中断源入口地址 外部中断0 定时器/计数器0 外部中断1 定时器/计数器1 串行口 0003H 000BH 0013H 001BH 0023H
§ 5.5 关于外部中断
位地址 8F 8E 8D TF0 8C 8B 8A 89 IE1 IT1 IE0 88 IT0
外部中断0(INT1) 触发方式控制
输入状态信息
N
缺点:CPU在完成一次数据传送后
准备好?
Y
要等待很长时间才能进行下一
次的传送。在等待过程中,CPU 不能进行其他操作,所以效率 比较低。
传送数据
§5.1.3 直接存储器存取(DMA)方式
DMA:Direct Memory Access
CPU让出数据总线(悬浮状态) ,使外设和存储
器之间直接传送(不通过CPU)数据的方式。
适用于外设和存储器之间有大量的数据需要传送及外 设工作速度很快的情况。
§5.1.4中断传送方式
当CPU正在 工作时,外部事 件请求CPU迅速 去处理,于是 CPU暂停当前工 作,转去处理外 部事件。中断服 务处理完毕后, 再返回到原来被 暂停的地方继续 原来的工作,这 样的过程称为中 断。
例4: 某工业监控系统,具有温度、压力、PH值等多路监控功能。 当PH值<7时,将向CPU申请中断,CPU响应中断后令P3.0 输出 高电平,经驱动使加碱管道电磁阀接通一秒,以调整PH值,请 设计软件。
P3.2 INT0 温度1超限 温度2超限
Q
SET
D
+5V PH超限
单片机 压力超限 P1.0 P1.1 P1.2 P1.3 P1.6 P3.0 PH值控制输出
§5.1.2
查询传送方式(条件传送)
通过查询外设的状态信息,确信外设已处于“准备好”, 计算机才发出访问外设的指令,实现数据的传送。 状态信息:一般为1位二进制码。 输入时,需要查询外设的输入数据是否准备好; 输出时,要查询外设是否把上一次CPU输出的数据处理完毕。
查询方式程序流程图
优点:通用性好,可以用于各类 外设和CPU间的数据传送。
§5.6 中断程序举例
一、中断程序框架 ORG 0000H