第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。
第五章GPIO和中断
例如:实现下列LED的闪烁程序
#include "stm32f10x.h“
#define LED_ALL GPIO_Pin_0| GPIO_Pin_1| GPIO_Pin_2| GPIO_Pin_3| GPIO_Pin_4
int main(void) { unsigned char j=0; chLsd=0xFE; //打开相应外设的时钟:GPIOA RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
GPIOx_BSRR和GPIOx_BRR寄存器允许 对任何GPIO寄存器的读/更改的独立访问
端口位配置表
I/O端口位的基本结构
输入浮空/上拉/下拉配置
输出配置
复用功能配置
复用功能
对于复用的输入功能,端口必须配置成输入模 式(浮空、上拉或下拉)且输入引脚必须由外部 驱动
对于复用输出功能,端口必须配置成复用功能 输出模式(推挽或开漏)。
函数GPIO_ReadOutputData
读出C口的数据
ReadValue = GPIO_ReadOutputData(GPIOC);
函数GPIO_PinLockConfig
锁定A口的0和1管脚
GPIO_PinLockConfig(GPIOA, GPIO_Pin_0 | GPIO_Pin_1);
GPIO编程实现步骤
1启动外设模块 2设定管脚控制模式 3对GPIO寄存器进行操作
例如:实现下列LED的闪烁程序
#include "stm32f10x.h" int main(void) {
//打开相应外设的时钟:GPIOB RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE); //初始化GPIOB,用于驱动LED GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//最高输出速度为50MHz GPIO_Init(GPIOB, &GPIO_InitStructure); while (1) {
第5章MCS-51的中断系统
例:写出INT1为低电平触发的中断系统初始化程序
SETB EA; SETB EX1 SETB PX1 CLR IT1
二、 中断服务程序
1、编写中断程序应注意以下几点: ① 为了要跳到用户设计的中断服务程序,在相应入口 地址安排一条跳转指令; ② 在中断服务程序的末尾,安排一条返回指令RETI; ③ 由于在响应中断时,CPU只自动保护断点,所以 CPU的其他现场的保护和恢复也必须由用户在中断服 务程序中安排。
1、T0/T1中断撤除:自动清除TF0 TF1
2、TX/RX中断撤除:不能自动撤除,必须软件清“0” CLR RI CLR TI ANL SCON ,#0FCH
3、外部中断请求的撤除
对于负边沿触发的外部中断,CPU在响应中断后是 用硬件自动清除中断请求标志IE0或IE1。
电平触发时,虽然自动清除中断请求标志IE0或IE1。但 不及时撤除低电平的话会重复响应中断,必须采取措施。
中断允许寄存器IE的单元地址是A8H,各控制位也可 位寻址,故既可以用字节传送指令也可以用位操作指 令来对各个中断请求加以控制。 例:开放T/C1的溢出中断
MOV IE,#88H;
SETB EA SETB ET1
二、 对中断优先级的控制
MCS-51具有两个中断优先级,可由软件设置每个中断 源为高优先级中断或低优先级中断,可实现二级中断 嵌套。
可在中断服务程序开 头安排如下程序: INSVR:ANL P1 ,#0FEHORL Fra bibliotek1,#01H …
RETI END
§4 中断系统的初始化及应用
一、中断系统的初始化 中断初始化是指用户对TCON、SCON、IE等特殊功能 寄存器中的各控制位进行赋值。
中断系统的初始化步骤: 1、 CPU开中断或关中断 2、 某中断源中断请求的允许或禁止(屏蔽) 3、 设定所用中断的中断优先级 4、若为外部中断,则应规定低电平还是负边沿的中断 触发方式
外部中断及中断请求的撤除
第5章 输入/输出、 中断、 定时与串行通信
由于CPU的工作速度很快,传送1次数据(包括转入 中断和退出中断)所需的时间很短。对外设来讲,似乎是 对CPU发出数据传送请求的瞬间,CPU就实现了;对主 程序来讲,虽然中断了1个瞬间,但由于时间很短,也不会 有什么影响。
第5章 输入/输出、 中断、 定时与串行通信
本章所讲述的接口则特指计算机与外设之间在数 据传送方面的联系, 其功能主要是通过电路实现的, 因 此称之为接口电路, 简称接口。
第5章 输入/输出、 中断、 定时与串行通信
5.1.3 I/O的编址方式 在计算机中, 凡需进行读写操作的设备都存在着编
址问题。 具体说来在计算机中有两种需要编址的器件: 一种是存储器, 另一种就是接口电路。 存储器是对存储 单元进行编址, 而接口电路则是对其中的端口进行编址。 对端口编址是为I/O操作而进行的, 因此也称为I/O编址。 常用的I/O编址有两种方式: 独立编址方式和统一编址 方式。
INTO 和 INT1.2 个片内定时器/计数器T0和T1的溢出中
断请求TF0和TF1及串行口中断请求TI或RI(合为一个中 断源)。
第5章 输入/输出、 中断、 定时与串行通信
MCS-51单片机5个中断源的中断请求信号分别锁 存在特殊功能寄存器TCON和SCON中:
(1)TCON为定时/计数器控制寄存器,字节地址为 88H,其中锁存的中断源请求标志如表5―1所示。
第5章 输入/输出、 中断、 定时与串行通信
RI:串行口接收中断标志。若串行口接收器允许 接收并以方式0工作,则每当接收到第8位数据时置位RI; 若以方式1、2、3工作,且SM2=0时,则每当接收器接收 到停止位的中间时置位RI;当串行口以方式2或方式3工 作,且SM2=1时,仅当接收到的第9位数据RB8为1后,同时 还要接收到停止位的中间时置位RI。RI为1表示串行口 接收器正向CPU申请中断,同样RI必须由用户在中断服 务程序中清0。8031复位后,SCON也被清0。
第5章基本输入输出系统
第5章基本输入输出系统【教学目的】掌握接口的基本概念、IO端口的编址方法和基本的数据传送方式【教学重点】IO端口的编址方法和基本的数据传送方式【教学难点】中断方式和DMA方式【教学方法和手段】课堂教学【课外作业】P193习题3,4,7,10【学时分配】6学时【自学内容】8237的使用【讲授内容】5.1 概述输入输出系统包括:①外部设备(输入输出设备和辅助存储器)②设备控制器----主机(CPU和存储器)之间的控制部件,诸如磁盘控制器、打印机控制器等,有时也称为设备适配器或接口,其作用是控制并实现主机与外部设备之间的数据传送。
5.1.1接口的基本概念1、什么是接口计算机在工作过程中,CPU要不断地与其它部件交换信息。
CPU不是直接与外部设备交换信息的,而是经过一个中间电路,这个电路就称为“接口电路”,简称“接口”。
所谓接口就是主机与外部设备连接的桥梁,由它来完成CPU与外部设备之间信息的传递。
一般将外部设备与接口合称为“I/O系统”。
接口又称为“设备控制器”或“适配器”。
2、为什么要有接口电路外部设备为什么要通过接口电路与CPU连接?为什么不直接与CPU的总线相连接呢?从CPU的角度来看,对外部设备的访问(读/写)与对存储器的访问是类似的,为什么存储器可以直接通过总线与CPU连接,而外部设备却要通过接口电路来与CPU连接呢?这是因为:存储器的基本结构简单(只有很少几种),只要求几个简单的控制信号,而且存储器的访问速度一般都比较快,CPU与存储器之间的定时与协调比较容易,因此存储器可以直接通过总线与CPU连接。
而外部设备一般具有以下特点:⑴外部设备的品种繁多从类型上看:有输入设备、输出设备、输入/输出设备、测量设备、通信设备、控制设备等。
从结构上看:有机械式的、电子式的、机电混合式的。
从原理上看:各类设备的工作原理又是各不相同的。
⑵外部设备的工作速度分布范围宽如:电传打字机每秒能传输100个信息单位,温度传感器有可能长达几分钟才改变一个数据,软盘的传输速率为每秒2.5兆位,硬盘的传输速率为每秒5兆位以上。
第五章中断系统1
第五章 中断系统5. 1 输入/输出数据的传输控制方式一、输入/输出的一般概念1.引言输入/输出是微机系统与外部设备进行信息交换的过程。
输入/输出设备称为外部设备,与存储器相比,外部设备有其本身的特点,存储器较为标准,而外部设备则比较复杂,性能的离散性比较大,不同的外部设备,其结构方式不同,有机械式、电动式、电子式等;输入/输出的信号类型也不相同,有数字信号,也有模拟信号;有电信号,也有非电信号;输入/输出信息的速率也相差很大。
因此,CPU与外部设备之间的信息交换技术比较复杂。
CPU与外设之间的信息交换,是通过它们之间接口电路中的I/O端口来进行的,由于同一个外部设备与CPU之间所要传送的信息类型不同,方向不同,作用也不一样(例如数据信息、状态信息、控制信息、输入/输出等),所以接口电路中可以设置多个端口来分别处理这些不同的信息。
2.输入/输出端口的寻址方式微机系统采用总线结构形式,即通过一组总线来连接组成系统的各个功能部件(包括CPU、内存、I/O端口),CPU、内存、I/O端口之间的信息交换都是通过总线来进行的,如何区分不同的内存单元和I/O 端口,是输入/输出寻址方式所要讨论解决的问题。
根据微机系统的不同,输入/输出的寻址方式通常有两种形式:(1).存储器对应的输入、输出寻址方式这种方式又称为存储器统一编址寻址方式或存储器映象寻址方式。
方法:把外设的一个端口与存储器的一个单元作同等对待,每一个I/O 端口都有一个确定的端口地址,CPU与I/O端口之间的信息交换,与存储单元的读写过程一样,内存单元与I/O端口的不同,只在于它们具有不同的的地址。
优点:①CPU对I/O端口的读/写操作可以使用全部存储器的读/写操作指令,也可以用对存储器的不同寻址方式来对I/O端口中的信息,直接进行算术、逻辑运算及循环、移位等操作。
②内存与外设地址的分配,可以用统一的分布图。
③不需要专门的输入、输出操作指令。
缺点:1 内存与I/O端口统一编址时,在地址总线根数一定的情况下,使系统中实际可以直2 接寻址的内存单元数减少。
微机原理及应用第五章8259
址
1=置屏蔽
0=复位屏蔽
第5章 输入/输出技术
2. OCW2
A0
(中断结束和优先权循环控制字) 0
D7 D6 D5 D4 D3 D2 D1 D0
R SL EOI 0 0 L2 L1 L0
R:中断优先权是否循环 0:优先级固定,IR0最高,IR7最低。 1:优先级左循环,当前刚被服务的中断源 轮为最低优先级。
第5章 输入/输出技术
●中断触发方式 ⑴ 边沿触发方式
引脚IRX上出现上升沿表示有中断请求。 ⑵ 电平触发方式
引脚IRX上出现高电平表示有中断请求。高电平应维持到中 断响应的第1个INTA负脉冲结束之前。一旦该响应脉冲结束, 高电平也应撤消,以防止产生该电平的第二次响应。
无论哪种触发方式,若高电平持续时间很短,则8259将自 动规定该中断由IR7进入。
第5章 输入/输出技术
A0
D7 D6 D5 D4 D3 D2 D1 D0
0
A7 A6 A5
1 LTIM ADI SNGL IS4
偶
0 0 0 ICW1
0
地 址
识 别
码
1=需要ICW4 0=不需要ICW4 1=单片 0=级联
调用地址间隔:
1=间隔为4,80X86中不用
0=间隔为8
1=电平触发
例:设8259端口地址20H、21H
仅当ICW1中D1为0才需写ICW3 .
第5章 输入/输出技术
主片 A0
D7 D6 D5 D4 D3 D2 D1 D0
1
S7 S6 S5 S4 S3 S2 S1 S0
奇 地 址 从片 A0 1
对应每位Di表示IRi中断请求线上有无从片 1:有 0:无
第5章stm32单片机外部中断ppt课件
5.2.3 中断控制器
ICER[2]:全称Interrupt Clear-Enable Registers,是 一个中断清除使能寄存器组。
该寄存器组与ISER寄存器功能相反,用来清除某个 中断的使能位。由于NVIC的这些寄存器都是写1有 效的,写0是无效的。设置一组ICER 寄存器来清除 相应中断使能位。
5.2.1 中断源
ARM Coetex-M3内核共支持256个中断,其中16 个内部中断,240个外部中断和可编程的256级中断优 先级的设置。STM32目前支持的中断共84个(16个内 部+68个外部),还有16级可编程的中断优先级的设 置,仅使用中断优先级设置8bit中的高4位。
5.2.2 中断向量:表5-1 给出STM32F103中断向量表
5.3.2 中断优先级控制
响应优先级可设置为0到15级。 判断两个中断的优先级时: (1)先看抢占优先级的高低; (2)再看响应优先级的高低; (3)看中断通道向量地址。 一个系统使用一个组别就完全可以满足需要,在使 用一个组别后不要在系统中再改动组别。
5.3.2 中断优先级控制
假定设置中断优先级为组2,然后设置: 中断3(RTC中断)的抢占优先级为2,响应优先级为1。 中断6(外部中断0)的抢占优先级为3,响应优先级为0。 中断7(外部中断1)的抢占优先级为2,响应优先级为0。 求这3个中断的优先级顺序? 上面例子中的中断3和中断7都可以打断中断6 的中断。而中 断7和中断3却不可以相互打断(这是因为他们的抢占优先级 是相同的)。
5.2.3 中断控制器
与NVIC相关的寄存器 在“stm32f10x_map.h” 文件中定义了一个结构 体,结构体的内容如下
STM32F103系列单片机 的中断系统在这些寄存 器的控制下有序执行。 了解这些中断寄存器的 含义,才能更好的理解 STM32单片机中断系统 的工作原理
《现代操作系统第四版》答案
第五章输入/输出习题1.芯片技术的进展已经使得将整个控制器包括所有总线访问逻辑放在一个便宜的芯片上成为可能。
这对于图1-5的模型具有什么影响?答:(题目有问题,应该是图1-6)在此图中,一个控制器有两个设备。
单个控制器可以有多个设备就无需每个设备都有一个控制器。
如果控制器变得几乎是自由的,那么只需把控制器做入设备本身就行了。
这种设计同样也可以并行多个传输,因而也获得较好的性能。
2.已知图5-1列出的速度,是否可能以全速从一台扫描仪扫描文档并且通过802.1lg网络对其进行传输请解释你的答案。
答:太简单了。
扫描仪最高速率为400KB/Sec,而总线程和磁盘都为16.7MB/sec,因此磁盘和总线都无法饱和。
3.图5-3b显示了即使在存在单独的总线用于内存和用于I/O设备的情况下使用内存映射I/O的一种方法,也就是说,首先尝试内存总线,如果失败则尝试I/O 总线。
一名聪明的计算机科学专业的学生想出了一个改进办法:并行地尝试两个总线,以加快访问I/O设备的过程。
你认为这个想法如何?答:这不是一个好主意。
内存总线肯定比I/O总线快。
一般的内存请求总是内存总线先完成,而I/O总线仍然忙碌。
如果CPU要一直等待I/O总线完成,那就是将内存的性能降低为I/O总线的水平。
4.假设一个系统使用DMA将数据从磁盘控制器传送到内存。
进一步假设平均花费t2ns获得总线,并且花费t1ns在总线上传送一个字(t1>>t2)。
在CPU对DMA控制器进行编程之后,如果(a)采用一次一字模式,(b)采用突发模式,从磁盘控制器到内存传送1000个字需要多少时间?假设向磁盘控制器发送命令需要获取总线以传输一个字,并且应答传输也需要获取总线以传输一个字。
答:(a)1000×[(t1+t2)+(t1+t2)+(t1+t2)];第一个(t1+t2)是获取总线并将命令发送到磁盘控制器,第二个(t1+t2)是用于传输字,第三个(t1+t2)是为了确认。
- 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接口的构成