第5章输入输出及中断
第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章 中断系统

计算机与外设交换信息时,慢速工作的外设与快速工作的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. 输出控制输出控制是指通过单片机的输出端口,控制与之连接的外部设备的状态或行为。
利用单片机的输出控制,可以实现对灯光、蜂鸣器、电机等外部设备的控制。
在单片机的输出控制中,需要了解的概念是输出端口和控制寄存器。
输出端口是单片机上的一个或多个引脚,通过这些引脚可以向外部设备发送电平信号。
每个输出端口都有一个对应的控制寄存器,用于设置引脚输出的电平值。
控制寄存器中的位控制引脚的输出状态,一般包括设置引脚为输出模式或输入模式,设置引脚输出高电平还是低电平等功能。
通过对输出端口的设置和控制寄存器的配置,可以实现对外部设备的状态或行为进行控制。
3. 单片机指令的中断输入和输出控制在单片机的编程中,为了实现中断输入和输出控制功能,需要掌握一些相关的指令和编程技巧。
首先是中断输入方面,单片机一般提供了一些专门的中断指令,如"使能中断"、"屏蔽中断"、"清除中断标志位"等指令。
第5章中断技术ppt课件

具有锁存功能,其内容可用OCW3命令读出。
(2)中断屏蔽寄存器(IMR)
是对中断请求IR起屏蔽作用,即对中断请 求IR是禁止还是允许,寄存器8位对应8级中断 屏蔽。哪一级中断被屏蔽,哪位就写“1”, 即禁止IR提出中断请求。
其内容可用OCW1命令写入,该寄存器 命令不可读。
0 开中断 Di=
1 关中断
(3)正在服务寄存器ISR 在中断响应之后,第一个获准中断请求的中
断级在相应的ISR中置位。 如IR3获准,ISR中的IS3置位,表明IR3正处
于服务。
其内容可用OCW3命令读出。
(4)优先权分析器(PR)
这是中断请求的判优电路,当在IR输入端有 中断产生时,送到PR,PR检查进来的中断请求的 优先级并和“正在服务中的中断”进行比较,确 定是否让这个中断请求送给处理器。
INTA
INT
D0~D7
数据总线 缓冲器
控制逻辑
RD WR A0 CS CAS0 CAS1 CAS2
SP/EN
Hale Waihona Puke 读/写 控制逻辑级联 缓冲 /比较器
IR0
正在服务 优先级 中断请求
IR1
寄存器
分析器
寄存器
IR2 IR3
ISR
PR
IRR
IR4 IIIRRR567
中断屏蔽寄存器 IMR
内部逻辑框图
1、外部特性 引脚有3组信号线,与其他外围芯片(2组)不同。
④ 没有获得允许中断请求称为中断被屏蔽。 ⑤ 不允许中断请求的情况:
第5章 中断管理

OSIntExit (void)
void OSIntExit (void) {#if OS_CRITICAL_METHOD==3 OS_CPU_SR cpu_sr; #endif OS_ENTER_CRITICAL(); if ((--OSIntNesting | OSLockNesting) == 0) {
OSCtxSwCtr++;
OSIntCtxSw(); } } OS_EXIT_CRITICAL();}
μC/OS-II中断时序图
μC/OS-II的中断服务子程序ISR
μC/OS-II中断特点
• 内核抢占式中断 • 允许嵌套
第5章 中断管理
中断的基本概念
中断处理过程 中断评价指标 μC/OS-II的中断和中断服务程序 关于任务切换
中断接管程序
• 硬件中断发生后,中断接管程序获得控制权,先由中断 接管程序进行处理,然后才将控制权交给相应的用户中 断服务程序。 • 用户中断服务程序执行完成后,又回到中断接管程序。
物理中断向量表 中断向量号0 中断向量号1 中断向量号2 中断向量号3 …… 中断向量号n 虚拟中断向量表 中断向量号0 中断向量号1 用户中断服务程序 用户中断服务程序0 用户中断服务程序1 用户中断服务程序2 用户中断服务程序3
第5章 中断管理
中断的基本概念
中断处理过程 中断评价指标 μC/OS-II的中断和中断服务程序
1. 中断概念
所谓中断是指某个事件 发生
正在执行 的程序 中断进入 中断处 理程序 中断 返回 中断信号 继续执行
时,系统中止现行程序的运 行、引出处理事件程序对该 事件进行处理,处理完毕后 返回断 点,继续执行。
第五章 中断系统

四、中断系统的功能 一般来说,一个中断系统具有以下功能: (一)实现中断及返回 当某中断源发出中断请求后,CPU应决定是否响应这个中断请求,如当前正 在执行更重要的工作可暂时不响应中断,若响应这个中断请求,CPU在当前指令 执行完后,就要保护断点地址和现场(即下条指令地址和相关寄存器内容),以便 执行完中断服务程序后能正确返回原处执行,然后转到需要处理的中断服务程序 的人口地址,去执行中断服务程序,当中断服务程序执行完毕再恢复现场和断点 ,去继续执行主程序。 (二)实现优先级排队 当计算机带有多个中断源时,可能会出现两个或两个以上中断源同时向CPU提 出中断请求的情况。这时CPU应能够根据事先确定的中断源的优先级别来先响应 高优先级的中断 并为它服务,然后再响应较低优先级的中断请求。 (三)实现中断嵌套 当CPU正在响应某一中断源的中断请求时,又有新的中断源发出请求,如果 新的请求的优先级别高于正在执行的中断源的优先级,则CPU暂停现行的服务程 序,转去执行更高级别的中断源的服务程序,执行完毕后再回到被中断的较低中 断源的服务程序继续执行,即实现了中断嵌套。若新的中断源的优先级别低于或 是等于正执行的中断源,则CPU不响应这个请求,直到正在处理的中断服务程序 执行完毕后,才去处理新的中断请求。
三、中断的分类 按中断产生的位置,中断可分为: (1)外部中断,或称外部硬件实时中断,它是由外部送到CPU的某一特定引脚 上产生的。 (2)内部中断,或称软件指令中断,是为了处理程序运行过程中发生的一些意 外情况或调试程序方便而提供的中断。 按接受中断的方式,中断可分为: (1)可屏蔽中断,可以通过指令使CPU根据具体情况决定是否接受中断请求。 (2)非屏蔽中断,只要中断源提出请求,CPU就必须响应,主要用于一些紧急 情况的处理,如掉电等。 以上从不同的角度对中断进行了分类,对于某一种类型的计算机可能只具备 其中的某几种方式,例如MCS—51就不具备非屏蔽中断方式。
微机原理ppt全

1.无条件方式
这种方式在传送信息时,已知外设是准备好的状态,所以 输入输出时都不需要查询外设的状态。可直接用IN和OUT指令 完成与接口之间的数据传送。但这种方式必须确保外设已经准 备好时才可使用,否则就会出错,故很少使用。采用无条件传 送方式的接口电路如图5-3所示。
图5-3 无条件传送方式接口电路
第5章 输入输出基本方式
2.查询方式
当CPU与外设之间进行数据传递源自, 很难保证CPU在执行输入操作时,外设一 定是“准备好”的;而在执行输出操作时 ,外设一定是“空闲”的。为保证数据传 送的正确进行,CPU必须在数据传送之前 对外设的状态进行查询,确认外设已经满 足了传送数据的条件后再与外设进行数据 交换,否则一直处于查询等待状态,这就 是查询方式。
第5章 输入输出基本方式
使用查询方式工作的外设必须至少有两个部 件,其中之一是状态部件。CPU每一次与外设进行 数据交换之前,先从状态部件读取信息,判断外 设是否处于“就绪”(Ready)状态。如果来自外 设的状态信息反映出外设“没有准备好”或正 “忙”(Busy),说明还不能进行数据传递;反 之,当CPU检测到外设已准备好(Ready)后,才 可以与外设进行一次数据传递。 (1)查询方式输入
第5章 输入输出基本方式
5.1 输入输出方式 5.2 8086/8088的中断系统 5.3 8086/8088的中断控制与DMA控制 5.4 接口与总线
第5章 输入输出基本方式
5.1 输入输出方式 5.2 8086/8088的中断系统 5.3 8086/8088的中断控制与DMA控制 5.4 接口与总线
第5章 输入输出基本方式
“统一编址” 的特点是:内存和I/O端口共用一 个地址空间;所有访问内存的指令都可用于I/O端口 ,包括内存的算术逻辑运算指令。
第5章8086的中断系统

在第二个INTA信号有效,8259A送中断类型码 (初始化时写入8259A)到数据总线,由CPU启 动中断过程,同时撤消中断请求信号.
二、不可屏蔽中断NMI
发生“灾难性”事件(如电源掉电、存储器读 写出错、总线奇偶出错或协处理器中断请求 等),NMI=1,无法禁止(不受IF影响), 优先级比INTR高,且是边沿触发(只要有效 宽度大于2T即可),中断类型号为2,CPU响 应NMI,不发INTA,不要求外设提供中断向 量,自动到08H单元取入口地址。
5.3.2 外部中断
一、可屏蔽中断INTR 处理过程: 1)接口发请求,若屏蔽位(可用命令写入)=0, 通常由可编程中断控制器8259A PIC驱动,INTR=1,
一直保持到收到响应信号或撤消请求为止. 若IF=0(关中断,可由CLI复位),CPU不响应,继
续处理下一条指令;
若IF=1(开中断,可由STI置位),CPU响应, 2)执行两个INTA总线周期,发两个INTA信号,时序
专用5个(内部中断):在某些特定情况下, 由CPU内硬件自动提供类型号0~4;
保留27个(软件中断):由内部软件的中断 指令产生,供系统开发用。
用户定义224个(外部中断):由外部设备 硬件启动。
可以利用保留的中断类型码扩充自己需要的 中断功能,只要在向量表中加入对应的中断 向量即可。
由系统提供或用户定义,CPU执行后,立即产生中 断,转向n规定的中断服务程序去,入口地址在初 始化时已预置在中断向量表中。
四、断点中断——类型3(单字节指令)
CPU执行INT 3 (简写INT)时,产生中断, 进行特殊处理,如显示寄存器、存储单元的内 容,以检查程序运行的结果是否正确。在调试 时把断点插入程序中的关键之处,命令如-G CS: nnnnH。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51
2. Intel 8253的编程
(1) 控制字
52
(2)写计数初值:
定时时间初值=要求定时时间/时钟脉冲的周期 初值范围:二进制:1~FFFFH+1(0) BCD码:1~9999+1(0)
INT n指令,其类型码为指令中给定的n。
36
外部中断——硬中断
非屏蔽中断——NMI引脚产生的中断,不受IF控制,类型号为 2。
可屏蔽中断——由CPU的INTR端接收可屏蔽中断。受IF控制, 只有当IF=1, 在一条指令执行结束后,CPU 才能响应可屏蔽中断的请求。
37
(2) 中断矢量表 存放中断地址的一段内存空间称中断矢量表。
43
44
45
5.4 计数器/定时器接口电路 定时: (1)软件定时,用延时子程序。 (2)不可编程的硬件定时,主要指用元器件搭成的 延时电路。用RC电路,门电路。 (3)可编程的硬件定时,是一种专用芯片。 可编程计数器/定时器的工作原理 ①计数器,一个计数脉冲到来,进行减“1”计数, 当减至“0”时,输出一个信号; ②定时器,在一个固定频率的时钟脉冲驱动下,进 行减“1”计数,并按定时常数不断地输出为时 钟周期整数倍的定时间隔。
11
3.中断传送方式
为提高系统的工作效率,充分发挥CPU的高速运 算能力,引入了“中断”系统,利用中断来实现CPU 与外设之间的数据传送,这就是中断传送方式。 特点:外设在需要时向CPU提出请求,CPU再去为 它服务。服务结束后或在外设不需要时,CPU 可执行自己的程序。
中断使CPU和外设以及外设之间能并行工作。
N
对外设及接口的要求:
Y
从数据端口传送一 个数据
10
外设应提供设备状态信息 接口应具备状态端口
防止死循环, 可没有
超时?
N
Y
读入并测试外设状态
Y N
超时错
BUSY? READY?
Y N
复位计时器N与外设进 Nhomakorabea数据交换 传送完?
Y
输出数据 输入数据
补充举例:某一外设,当其为CPU准 备好数据后,I/O端口地址2的D0位为 1;当数据未准备好时,该位为0。 WAIT: IN AL,2 TEST AL,1 JZ WAIT ;未准备好,CPU继续查询;若准 备好,CPU可读入数据
第5章 数字量输入输出
5.1
5.2
概述
系统总线及接口
5.3
5.4 5.5
中断控制系统
计数定时接口 并行输入输出接口
1
5.1
概述
地址总线 AB
存 储 器
I/O 接 口
输 入 设 备
I/O 接 口
输 出 设 备
CPU
数据总线 DB 控制总线 CB
2
5.1.1 I/O信号的形式
开关量:状态量 数字量 二进制信息——数 ASCII码表示的数或字符
弃总线控制权),内存/外设的地址和读写控制信号均 由DMAC提供。
14
5. 其他方式 例:I/O处理机8089
15
5.2 系统总线及接口
5.2.1 总线概述 概念:多个电路传送信号的公共通道 特点: 1)多信号源 输 I/O 存 2)被分时使用 入 接 储 设 口 器 3)由主设备控制 备
CPU
优点:CPU效率高,实时性好,速度快 缺点:程序编制较为复杂
12
以上三种I/O方式的共性
均需CPU作为中介:
软件: 外设与内存之间的数据传送是通过CPU执行
程序来完成的(PIO方式)
硬件: I/O接口和存储器的读写控制信号、地址信号
都是由CPU发出的 缺点:程序的执行速度限定了传送的最大速度(约 为几十KB/s)
地址总线 AB
I/O 接 口
输 出 设 备
数据总线 DB
控制总线 CB
16
2.总线的分级 1)片内总线 CPU内部总线 2)系统级总线 计算机机箱内部,插卡与插卡之间的连接总 线 3)设备级总线 各种I/O设备和计算机之间,位于设备机箱外 的总线
17
5.2.2 系统总线标准 规定接插件的几何尺寸、引脚排序、电 路信号名称及其电气特性等 PC机:使用IBM PC/XT总线、ISA总线 及PCI总线 工控机:STD总线及PC104总线 计算机I/O的基本原理: CPU执行指令—产生总线信号—作用于接 口电路—最后接到I/O设备
OE T
OE 0 0 1 1
T 0 1 0 1
A B A B 高阻 高阻
28
接口举例P290
1.简单输入接口 查看8个开关的开关状态
MOV DX,218H
IN AL,DX
74LS244—单向,4个三态门为一组,共2组
29
2.简单输出接口
控制发光二极管的明灭
MOV DX,219H
OUT DX,AL
1G
A7~A4
Y7~Y4
2G
补充内容
2G 0 0 1 1
A7~4 0 1 0 1
Y7~4 0 1 高阻 高阻
27
补充内容
双向三态驱动器74LS245
A7~A0 Y7~Y0
功能表 G 0 0 1 1 DIR 0 1 0 1
G DIR
双向三态驱动器8286
A7~A0
A Y A Y 高阻 高阻
B7~B0
48
表5.5 A0、A1、RD、WR、CS各种组合对8253的操作
CS
0 0 0 0 0 0
RD
1 1 1 1 0 0
WR
0 0 0 0 1 1
A1A0
00 01 10 11 00 01
操作
对计数器0设置计数初值 对计数器1设置计数初值 对计数器2设置计数初值 设置控制字或给一个命令 从计数器0读出当前计数值 从计数器1读出当前计数值
32
3. 中断分类
非屏蔽中断NMI
硬件中断 (外部中断)
256种中断源 类型码0~255
可屏蔽中断 INTR 被零除中断 0
溢出中断 4 软件中断 (内部中断) 单步中断 1 软件中断 INT n
33
34
4.中断的响应
35
如何获取软中断相应的中断类型码 中断类型码是自动形成的。 0型中断——除法出错中断 1型中断——单步中断 3型中断——断点中断 4型中断——溢出中断
脉冲量:两个稳态之间的变化
四种类型
模拟量:模拟电压和电流,模拟量经A/D转
换后输入计算机
3
5.1.2 I/O接口
I/O接口: 将外设连接到总线上的一组逻辑电路的总称。 用以实现外设与主机之间的信息交换
I/O接口功能: 1)信号的形式变换 2)电平转换和放大
3)锁存及缓冲
4)I/O定向(译码)
5)并行及串行转换
取得了类型码后的处理过程:
① 类型码*4 — 向量表指针。
② 标志寄存器FR入栈,保护各个标志。
④保存断点(断点处IP和CS压栈,先压CS后压IP)。 ⑤从中断向量表中取出中断服务程序入口地址分别送 入IP和CS中。
③清除IF和TF标志,屏蔽新的INTR中断和单步中断。
⑥ 按新的地址执行中断服务程序。
1. 数据信号的连接
D7~D0
2. 控制信号的连接 IOW IOR 3. 地址信号的连接 A15~A0 高位选片,低位选址;
16/32位系统的端口对准
25
26
三态驱动器
单向三态驱动器74LS244
含两个4位三态驱动器
A3~A0 Y3~Y0
功能表 1G 0 0 1 1 A3~0 0 1 0 1 Y3~0 0 1 高阻 高阻
40
例:中断类型码为20H(32)的中断源所对应的中断服 务程序首址存放在0000∶0080H(4*20H=80H)开始 的4 个单元中。 ┇
0080H 0081H 0082H 0083H 10H 20H 30H 40H
┇
中断向量表
则该系统中20H号中断所对应的中断处理(服务)程 序入口地址为4030∶2010H
4
2. I/O的内容分类 1)数据信息 2)状态信息:表示外设当前所处的工作状态 3)控制信息:由CPU发出的,用于控制I/O接口的
工作方式以及外设的启动和停止等。
5
3. I/O接口的构成
6
I/O端口的访问 1、输入指令 格式:IN 累加器,端口 功能:把端口中数据读到AL、或AX中。 例:IN AL,21H MOV DX,201H IN AX,DX 2、输出指令 格式:OUT 端口,累加器 功能:把寄存器AL、或AX中数据输出到端口。 例: OUT 32H,AL MOV DX,201H OUT DX,AX
13
4. DMA(直接存储器访问)方式
外设和内存之间直接传送数据的方式,即DMA传 送方式。在DMA传送方式中,对这一数据传送过程进 行控制的硬件称为DMA控制器(DMAC)。 特点:
外设直接与存储器进行数据交换
,不需要CPU干预 也不需软件介入,数据传输速度快。
总线由DMA控制器(DMAC)进行控制(CPU要放
存放各类中断的中断服务程序的入口地址 表的地址位于内存的0000∶0000~0000∶03FFH (即0段的0000~03FFH)大小为1KB,共256个 入口 每个入口占用4个单元,依次为IP:CS, 低字为 段内偏移,高字为段基址
38
IP CS
中断类型码与中断向量所在位置(中断向量地址指针) 之间的对应关系为: 中断向量地址指针=4*中断类型码 39
18
19
图5.3 ISA总线扩展部分
20
(2)总线周期
21
I/O接口的构成