微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月19日.

Slides:



Advertisements
Similar presentations
第1章第1章 PC/AT 系統 1 Chapter 1 Chapter 1 PC/AT 系統 001.
Advertisements

微型计算机原理及应用.
第三讲 匀变速直线运动 学 科:物 理 主讲人:吴含章. 第三讲 匀变速直线运动 学 科:物 理 主讲人:吴含章.
输入输出程序设计 输入输出的基本概念 无条件方式输入输出 查询方式输入输出 中断方式输入输出.
微型计算机技术 教 学 指 导(七) 太原广播电视大学 郭建勇.
第10章 DOS功能调用与BIOS中断调用.
第四章 汇编语言 程序设计 任课教师:王晓甜
第十二章 DMA控制器 12.1 概述 A DMA控制器 A的应用.
第5章 输入输出与接口技术.
第五章 总线 及其形成 本节课之前,大家学习了:
第五章 微处理器总线操作与时序 三、总线时序 一、 8086/8088引脚 二、最小模式和最大模式.
汇编语言与接口技术 教师:范新民.
输入/输出及接口 输入/输出的传送方式 中断技术 80x86/Pentium中断系统 8259A可编程中断控制器 中断程序设计
本周实验安排 实验内容:(P231)人名排序的例子。
第 6 章 I/O 接口和总线 中国科学技术大学 何克东.
得技通电子 问题 1 右何者非為假指令 (1) XRL (2) EQU (3) MACRO (4) ORG.
第7章 常用数字接口电路.
第3章 80x86汇编语言程序设计(下).
4.1 汇编语言 4.2 顺序结构程序 4.3 分支程序设计 4.4 循环程序设计 4.5 子程序设计
9.1 可编程并行输入/输出接口芯片8255A 9.2 可编程计数器/定时器 可编程串行输入/输出接口芯片8251A
3.3.5 程序控制指令 控制转移指令分为: 转移指令 循环控制指令 调用和返回指令 中断指令.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月26日.
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
汇编语言程序设计 Assembly Language Programming
第三章 寻址方式与指令系统 3.1 寻址方式 一条指令通常由两大部分构成: 操作码 操作数
第6章 DMA传输 6.1 DMA传输原理 6.2 DMA控制器8237A A的编程使用 欢迎辞.
第7章 并行接口 7.1 简单并行接口 7.2 可编程并行接口8255A 7.3 键盘接口 7.4 LED显示器接口.
微机原理与接口技术 第2章 8086系统结构 朱华贵 2015年09月17日.
第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第四节 Intel 8253在IBM PC机上的应用.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月10日.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月05日.
输入输出与中断 主要内容 CPU与外设之间数据传送方式 中断技术 8086中断系统和中断处理.
第5章 输入输出与接口技术.
第八章 输入输出程序设计 总线 CPU MEM I/O接口 I/O设备.
第二部分 PC 微机异步通信适配器的分析和使用 一、PC中的UART 1.INS PC16450/PC16550
微机原理及应用 主讲:谢维成 西华大学 电气信息学院 1.
第七章 MCS-51并行口的扩展 MCS51单片机内部有4个并行口,当内部并行口不够用时可以外扩并行口芯片。可外扩的并行口芯片很多,分成2类:不可编程的并行口芯片(74LS3734和74LS245)和可编程的并行口芯片(8255)。 7.1 不可编程并行口芯片的扩展 7.2 可编程并行口芯片的扩展.
微机原理及应用 主讲:郑海春.
第一章 8086程序设计 第二章 MCS-51程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
第8章 PCH中的常规接口.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月20日.
本 章 重 点 单片机的简单I/O扩展 8255A可编程并口芯片 8279可编程键盘/显示器接口芯片 单片机键盘接口技术
第7章 微型机接口技术 可编程定时/计数器 可编程并行接口 串行接口与串行通信(概念) DMA控制器接口(不做要求) 模拟量输入/输出接口.
第3章 微型计算机输入输出接口 3.1 输入/输出接口 3.2 输入输出数据传输的控制方式 3.3 开关量输入输出接口 欢迎辞.
第六章 子程序结构 §6.1 子程序的设计方法 §6.2 嵌套与递归子程序 §6.3 子程序举例 §6.4 DOS系统功能调用.
1.3 微型计算机的结构和工作原理.
第 13 章 中断系统.
第二章 模拟量输出通道 本章要点 1.模拟量输出通道的结构组成与模板通用性; 2.8位D/A转换器DAC0832的原理组成及其接口电路
6.1 输入/输出 6.2 CPU与外设数据传送方式 6. 3 MCS-51中断系统 6. 4 中断应用举例
第九章 高级宏汇编语言 9.1 结构 结构就是将逻辑上有一定关系的一组数据,以某种方式组合在一起所形成的数据形式。
第5章 循环与分支程序设计 学习目标: 了解并掌握循环程序的构造方法,尤其是对循环控制条件的设置以及可能出现的边界情况的考虑。掌握起泡排序算法这种多重循环程序设计中的常用方法。交换标志位的设置在此算法中更能提高效率。学会在数组排序算法中采用折半查找法来提高查找效率。学会使用跳跃表法实现CASE结构。
4.1 汇编语言程序格式 4.2 MASM中的表达式 4.3 伪指令语句 4.4 DOS系统功能调用和BIOS中断调用
第7章 I/O接口和总线 7.1 I/O接口 7.2 总线.
第五章:输入输出基本技术 主讲教师:范新民.
第二章 8086微处理器. 第二章 8086微处理器 微处理器的基本结构 8086微处理器的主要特性和内部结构 8086CPU的工作模式和引脚信号 8086的存储器管理 8086的总线操作和时序.
第4章 汇编语言程序格式  汇编程序功能  伪操作  汇编语言程序格式  汇编语言程序的上机过程.
第九章 微处理器外部结构和总线操作时序.
第10章 可编程外围接口芯片8255A及其应用 10.1 概述 A的工作原理 A的应用举例.
可编程定时计数器.
第九章 BIOS和DOS中断 在存储器系统中,从地址0FE000H开始的8K ROM(只读存储器)中装有BIOS(Basic Iuput /output System)例行程序。驻留在ROM中的BIOS给PC系列的不同微处理器提供了兼容的系统加电自检,引导装入,主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。使用BIOS功能调用,给程序员编程带来很大方便,程序员不必了解硬件操作的具体细节,直接用指令设置参数,然后中断调用BIOS中的子功能,所以利用BIOS功能编写的程序简洁,可读性好,
《微型计算机原理与接口技术》 第4版 王良 宁德师范学院 吴宁 乔亚男 编著 清华大学出版社 出版
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月17日.
第八章 中断系统.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月06日.
第6章 子程序结构 在程序设计中,我们会发现一些多次无规律重复的程序段或语句序列。解决此类问题一个行之有效的方法就是将它们设计成可供反复调用的独立的子程序结构,以便在需要时调用。在汇编语言中,子程序又称过程。 调用子程序的程序称为主调程序或主程序。 2019/7/20 ch6.
微机原理与接口技术 第5章 汇编语言程序设计 西安邮电大学计算机学院 王 钰.
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
第8章 并行接口芯片 并行接口一般具有两个或两个以上的8位I/O接口。各个口的工作方式可由程序分别确定或改变,使用灵活,便于和各种外部设备连接。因此,又称可编程的外部接口(PPI) 目前各主要微处理器厂商都有自己的PPI产品,但它们的功能基本类似.
第4章 汇编语言程序格式  汇编程序功能  伪操作  汇编语言程序格式  汇编语言程序的上机过程
Presentation transcript:

微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月19日

微机原理与接口技术 第6章 输入输出接口 朱华贵 2015年11月19日

本章主要内容 I/O接口概述 1 常用I/O接口芯片 2 CPU与外设之间的数据传送方式 3 8086CPU的输入输出 4

6.1 I/O接口概述 输入和输出设备是计算机系统的重要组成部分,完成输入/输出(简称I/O)操作的部件称为输入/输出接口。 各种外部设备通过输入输出接口与系统相连,并在接口电路的支持下实现数据传输和操作控制。

计算机系统中接口的位置

6.1.1 CPU与I/O设备之间的接口信息 1.数据(Data) 2.状态信息(Status) 3.控制信息(Control) 数字量 模拟量 开关量 2.状态信息(Status) 3.控制信息(Control)

6.1.2 I/O接口的主要功能 1.对输入输出数据进行缓冲和锁存 2.对信号的形式和数据的格式进行变换 3.对I/O端口进行寻址 4.提供联络信号

6.1.3 I/O接口的结构 数据端口:用于数据信息I/O的端口。CPU通过数据接收端口输入数据,有的能保存外设发往CPU的数据;CPU通过数据输出端口输出数据,一般能将CPU发往外设的数据锁存。 状态端口:CPU通过状态端口了解外设或接口部件本身的状态。 控制端口:CPU通过控制端口发出控制命令,以控制接口部件或外设的动作。

6.1.4 输入输出的寻址方式 1.存储器映像的I/O寻址 从外部设备输入一个数据,作为一次存储器读的操作;而向外部设备输出一个数据,则作为一次存储器写的操作。

优点: CPU对外设的操作可使用全部的存储器操作指令,故指令多,使用方便。如可以对外设中的数据(存于外设的寄存器中)进行算术和逻辑运算,进行循环或移位等。 内存和外设的地址分布图是同一个。 不需要专门的输入输出指令以及区分是存储器还是I/O操作的控制信号。 缺点: 外设占用了内存单元,使内存容量减小。

6.1.4 输入输出的寻址方式 2. I/O映像的I/O寻址 I/O端口地址与存储单元地址分开编址。CPU有专门的I/O指令,用地址来区分不同的外设。 但要注意实际上是以端口(Port)作为地址单元,因为一个外设不仅有数据寄存器还有状态寄存器和控制命令寄存器,它们各需要一个端口才能加以区分,故一个外设往往需要数个端口地址。

优点: 缺点: I/O端口不占用存储器地址,故不会减少用户的存储器地址空间; 采用单独的I/O指令,使程序中I/O操作和其他操作层次清晰,便于理解。 缺点: 单独I/O指令的功能有限,只能对端口数据进行输入/输出操作,不能直接进行移位、比较等其他操作; 采用专用的I/O操作时序及I/O控制信号线,因而增加了微处理器本身控制逻辑的复杂性。

PC/AT/Pentium:A8=A9=0端口(256个)为系统板所用,其他端口(768个)为扩展槽所用。 系统板I/O接口芯片端口地址(0000H-00FFH): I/O芯片名称 地址范围 DMAC1 DMAC2 DMA页面寄存器 0000-001FH 00C0-00DFH 0080-009FH 中断控制器1 中断控制器2 0020-003FH 00A0-00BFH 定时器 并行接口芯片(键盘接口) RT/CMOS RAM 协处理器 0040-005FH 0060-006FH 0070-007FH 00F0-00FFH

例如:读取计算机的实时时钟并显示。根据COMS RAM实时钟信息存放位置表,是编写程序显示当前的时间,格式为时时:分分:秒秒。 MOV AL,4H;04H是存放“小时"的单元偏移地址 OUT 70H,AL;送地址端口 IN AL,71H;读数据端口

6.2 常用I/O接口芯片

6.2 常用I/O接口芯片

6.3 CPU与外设之间的数据传送方式 CPU与外设之间的数据传送方式一般有: 程序控制方式 中断方式 直接存储器存取方式DMA 通道控制方式

6.3.1 程序控制方式 采用程序控制方式时,状态和数据的传输由CPU执行一系列指令完成。数据传送过程中,或者由CPU查询外设状态,或者由外设向CPU发出请求。 这种方式又可分为无条件传输方式和程序查询方式。

1.无条件传输方式 CPU不需要了解外设状态,直接与外设传输数据,适用于按钮开关、发光二极管等简单外设与CPU的数据传送过程。 这种传输方式的特点是硬件电路和程序设计都比较简单,一般用于能够确信外设已经准备就绪的场合。

接口 CPU 数据线 译码 外 设 地址线 或门 M/IO WR 输 出

接口 CPU 数据线 译码 外 设 地址线 或门 M/IO RD 输 入

【例6-1】接口电路如图所示。编程不断扫描开关Ki(i=0~7)。若开关Ki闭合,对应的发光二极管LEDi(i=0~7)点亮,否则LEDi熄灭。

CODE SEGMENT ASSUME CS:CODE MAIN PROC FAR START: PUSH DS MOV AX,0 PUSH AX AGAIN: MOV DX,200H IN AL,DX ;读取开关状态 NOT AL ;取反 OUT DX,AL ;输出控制LED JMP AGAIN RET ;返回DOS MAIN ENDP CODE ENDS END START

【例6-2】硬件连接如前例图所示,要求LED0~LED7循环电亮。自到按“ESC”时退出。 CODE SEGMENT ASSUME CS:CODE MAIN PROC FAR START: PUSH DS MOV AX,0 PUSH AX MOV DX,200H ;设置I/O端口 MOV CL,01H ;设置输出初值

AGAIN: MOV AH,1 ;读键盘缓冲区字符 INT 16H CMP AL,1BH ;若为“ESC”键,则退出 JZ EXIT MOV AL,CL OUT DX,AL ;输出控制LED MOV BX,100 ;向子程序传递参数,实现1秒软延时 CALL DELAY ;子程序DELAY实现10ms延时 ROL CL,1 ;循环左移1位 JMP AGAIN EXIT: RET

DELAY PROC NEAR ;延时子程序DELAY PUSH BX PUSH CX WAIT0: MOV CX,2801 WAIT1: LOOP WAIT1 DEC BX JNZ WAIT0 POP CX POP BX RET DELAY ENDP MAIN ENDP CODE ENDS END START

2.程序查询方式 也称为条件传输方式,常用于慢速设备与CPU交换数据。

程序查询方式的一般过程为: CPU从接口中读取状态字; CPU检测状态字的相应位,是否满足“就绪”条件,如不满足,则转1); 如状态位表明外设已处于“就绪”条件,则传输数据。

输入时,状态寄存器的状态指示要输入的数据是否已经准备就绪; 准备好? 读取状态信息 输入数据 是 否 外设 数据线 状态线

常用的状态线有IBF,READY 功能: 1、输入设备准备好数据,状态线有效; 2、CPU读数据端口,取走数据后,状态线转换为无效

1、STB有效,(1)、输入设备数据进入锁存器;(2)、IBF 有效 2、CPU读状态端口 3、CPU读数据端口,同时清IBF 外设 1、STB有效,(1)、输入设备数据进入锁存器;(2)、IBF 有效 2、CPU读状态端口 3、CPU读数据端口,同时清IBF

1 STB IBF /RD 2 3

输出时,状态寄存器的状态指示输出设备是否空闲。 外设 忙? 读取状态信息 输出数据 否 是 数据线 状态线 常用的状态线有empty,busy 功能: 1、输出设备空闲,BUSY无效; 2、CPU写数据端口,输出设备输出数据,状态线转换为有效

2、CPU写数据,(1)、数据进入数据锁存器;(2)、BUSY 有效 3、输出设备工作完毕,busy无效 举例:打印机 外设 1、CPU读状态端口,查BUSY线 2、CPU写数据,(1)、数据进入数据锁存器;(2)、BUSY 有效 3、输出设备工作完毕,busy无效

6.3.2中断方式 不让CPU主动去查询外设的状态,而是让外设在数据准备好之后再通知CPU。这样,CPU在没接到外设通知前只管做自己的事情,只有接到通知时才执行与外设的数据传输工作,从而大大提高CPU的利用率。 中断方式详见第10章。

6.3.2中断方式 主程序 中断服务子程序 中断申请信号

6.3.3 直接存储器存取(DMA)方式 DMA方式就是在系统中建立一种机制,将外设与内存间建立起直接的通道,CPU不再直接参加外设与内存间的数据传输,而是在系统需要进行DMA传输时,将CPU对地址总线、数据总线及控制总线的管理权交由DMA控制器进行控制。当完成一次 DMA数据传输后,再将这个控制权还给CPU。

6.3.3 直接存储器存取(DMA)方式 DMA方式由硬件自动实现的,并不需要程序进行控制。 DMAC(称为DMA控制器)芯片来完成相关工作,如内存地址的修改、字节长度的控制。当CPU放弃数据总线、地址总线及控制总线的控制权时,由DMAC实现外设和内存间的数据交换,同时也包括与CPU之间必要的连接。

DMA的基本功能和步骤 (1) DMAC接收I/O接口的DMA请求,并向CPU发出总线请求信号HOLD; AB DB CB CPU DMAC Memory I/O HOLD HLDA (1) DMAC接收I/O接口的DMA请求,并向CPU发出总线请求信号HOLD; (2) 当CPU发出总线回答信号HLAD后,接管对总线的控制,进入DMA传送过程; (3) 能实现有效的寻址,即能输出地址信息并在数据传送过程中自动修改地址; (6) 在DMA传送结束后,能释放总线给CPU,恢复CPU对总线的控制。 (4) 能向存储器和I/O接口发出相应的读/写控制信号; (5) 能控制数据传送的字节数,控制DMA传送是否结束;

6.3.4 通道控制方式和I/O处理器 在大、中型计算机系统中,配置的I/O设备很多,输入输出操作十分频繁,如果仅用DMA控制器,则需要CPU不断地对各个DMA控制器进行设置,影响CPU的正常工作。 将DMA控制器的功能增强,使其能够按CPU的意图自行设置操作方式,控制数据传送。于是,DMA控制器发展成了通道控制器。

1. I/O 通道( I/O Channel ) 早期的“通道”是由一些简单的、主要用于数据输入输出的CPU构成,可配置简单的输入输出程序。 主CPU只需使用简单的通道命令启动通道,二者即可并行工作。输入输出程序可以在主存中,也可以在通道的局部存储器中。主CPU一旦启动通道工作,通道控制器即从主存或通道存储器中取出相应的程序,控制数据的输入输出。

2. I/O处理器(IOP) 通道控制器发展成I/O处理器(I/O Processor),也称为I/O处理机。 主要由一个进行I/O操作的CPU、内部寄存器、局部存储器和设备控制器组成。在一个通道处理器中可有多个通道,分别与多个设备控制器连接;而一个设备控制器可控制多台外设工作。在实际使用中,I/O处理器与主CPU构成多处理器(或称多处理机)系统,相互并行工作。

3.外围处理机(PPU) I/O处理器的功能不断增强,又出现了外围处理机PPU(Peripheral Processor Unit)。 除了完成I/O通道所要完成的I/O控制之外,还增强了路由选择、数码转换、格式处理、数据块检错/纠错等功能。它的算术逻辑处理功能增强,缓冲寄存器增多,基本上独立于主机完成所有的输入输出操作。

6.4 8086CPU的输入/输出 1、I/O 寻址64K 2、8086CPU的I/O指令 (1) 直接寻址输入/输出指令(八位端口地址) IN AL,n (字节输入) IN AX,n (字输入) OUT n,AL (字节输出) OUT n,AX (字输出) 0000H 00FFH n 0100H FFFFH

(2)DX寄存器间接寻址输入(十六位端口地址) IN AL,DX (字节输入) IN AX,DX (字输入) OUT DX,AL (字节输出) OUT DX,AX (字输出) 0000H 00FFH 0100H FFFFH DX

3、有关端口地址问题 a、8086CPU与外设交换数据可以字或字节进行; b、当以字节进行时,偶地址端口的字节数据由低8位数据线D7~D0位传送,奇地址端口的字节数据由高8位数据线D15~D8传送; c、当用户在安排外设的端口地址时,如果外设是以8位的方式与CPU连接,就只能将其数据线或者与CPU的低八位或者与高八位连接,这样同一台外设的所有寄存器端口地址都只能是偶地址或是奇地址,这时设备的端口地址就会是不连续的。