微机原理与接口技术v2015-第6章

合集下载

微机原理与接口技术第6章PPT课件

微机原理与接口技术第6章PPT课件

习题6
6.1 利用全地址译码将6264芯片接在8088的系统总线上, 其所占地址范围为BE000H~BFFFFH,试画连接图。
6.2 试利用6264芯片,在8088系统总线上实现 00000H~03FFFH的内存区域,试画连接电路图。
6.3 叙述EPROM的编程过程。说明EEPROM的编程过 程。
译码器74LS138的工作条件是G1=1,G2A=0,G2B=0,译码 输入端为C、B、A,故输出有八种状态,因规定CS低电平选中 存储器,故译码器输出也是低电平有效。
A1
B2
C3
G2A
4
G2B
5
G1
6
Y7
7
GND 8
16
VCC
15 Y0
14
Y1
13
Y2
12
Y3
11 10
Y4 Y5
9
Y6
G1 G2A G2B
1) 读方式 读方式是2764A通常使用的方式,此时两个电源 引脚VCC和VPP都接至+5 V。 PGM=1,CE=0、OE=0。
2) 备用方式 CE为高电平,没有选中芯片,输出端为高阻态。 3) 编程方式 这时,VPP接+12.5 V,VCC仍接+5 V。 CE=0,输出允许信号OE=1。每写一个地址单 元,都必须在PGM引脚端给一个低电平。
第6章 主 存 储 器
6.1 概 述
存储器芯片在标定存储器容量时,经常同时标出 存储单元的数目和每个存储单元的位数,因此有
存储器芯片容量=单元数×位数
如Intel 2114芯片容量为1 K×4位/片,Intel 6264为8 K×8位/片。
单元数= 2地址线数量 位数=数据线数量

《微机原理与接口技术》(张凡盛珣华戴胜华著)清华大学出版社北方交..

《微机原理与接口技术》(张凡盛珣华戴胜华著)清华大学出版社北方交..

第二章微处理器及其结构2-7 什么是逻辑地址? 什么是物理地址? 在实地址方式下,如何求存储器的物理地址? 设一个16字的数据区,它的起始地址为70A0H:DDF6(段基址:偏移地址).写出这个数据区的首字单元和末字单元的物理地址.解:1). 实模式下,逻辑地址由段基址和偏移地址组成.物理地址是真正的存储单元的地址.2). 物理地址=段基址*16 + 偏移地址3). 首字单元地址:70A0H*16 +DDF6H = 70A00H + DDF6H = 7E7F6H末字单元地址:7E7F6H + (16-1)*2 = 7E7F6H + 1EH = 7E814H注意:相邻两个存储单元可构成一个字长为16位的字,在对准字时,用偶地址表示字的地址.1EH1CH 2H20H16H14H18H4H1AH10H0H12HEHCH8HAH6H第三章指令系统3-6 分别指出下列指令中源操作数和目标操作数的寻址方式. 若是存储器寻址,用表达式表示EA=?(1)AND AX, 00FFH(2)ADD BX, [00FFH](3)MOV AX, [BX+10H](4)ADD AX, [ESI*8](5)SUB [BP][SI], AX(6)MOV AX, [BX+DI+20H](7)CMP [SI], AX(8)OR AX, DX(9)MOV EAX, [ESI][EDI*2](10)PUSH DS解:(1)立即数寻址(2)直接寻址EA=00FFH(3)基址寻址EA=(BX)+10(4)比例间址EA=ESI*8(5)基址加间址寻址EA=(BP)+(SI)(6)带位移的基址加间址寻址EA=(BX)+(DI)+20H(7)间址寻址EA=(SI)(8)寄存器寻址(9)基址加比例间址寻址EA=(ESI)+(EDI)*2(10)寄存器寻址注意:◆16位寻址: BX和BP作为基址寄存器.BX以DS作为默认段寄存器,BP以SS为默认段寄存器.SI和DI作为间址寄存器. 默认DS为段寄存器◆32位寻址: 8个32位通用寄存器均可作为基址寄存器,其中ESP,EBP以SS为默认段寄存器,其余均以DS为默认段寄存器.除ESP外的其它7个寄存器均可作间址寄存器,EBP默认SS作段基址寄存器,其它以DS作段基址寄存器3-7 32位微机工作在实地址模式下, 已知(DS) = 1000和(SS) = 2000H, (SI) = 007FH, (BX) = 0040H, (BP) = 0016H, 变量TABLE的偏移地址为0100H. 指出下列指令中源操作数的寻址方式,求它的有效地址(EA)和物理地址(PA).(1)MOV AX, [1234H](2)MOV AX, TABLE(3)MOV AX, [BX+100H](4)MOV AX, TABLE[BP][SI]解:(1)直接寻址EA=1234H PA=(DS)*16 + EA = 11234H(2)直接寻址EA=(TABLE)=0100H PA=(DS)*16+EA=10100H(3)基址寻址EA=(BX)+100H=0140H PA=(DS)*16+EA=10140H(4)带位移的基址加间址寻址EA=(BP)+(SI)+TABLE=0195H PA=(SS)*16+EA=20195H注意: 当基址寄存器和间址寄存器默认的段寄存器不同时,一般规定,由基址寄存器来决定默认的段寄存器为段基址寄存器. 这里BP为基址寄存器,所以默认SS为段基址寄存器.3-8 指出下列指令的错误,并加以改正.(1)MOV DS, 100(2)MOV 1020H, DX(3)SUB [1000H], [SI](4)PUSH AL(5)IN AL, [80H](6)MOV DS, ES(7)JMP BX(8)SHR DX, 4(9)OUT 380H, AX(10)ADD AL, BX(11)POP CS(12)MOV CL, 3300H解:(1)立即数不能直接传送到段寄存器中去应改为: MOV AX, 100MOV DS, AX(2)立即数只能出现在源操作数位置应改为: MOV DX,1020H(3)源操作数和目标操作数不能同时为寄存器寻址应改为: MOV AX, [1000H]SUB AX, [SI](4)PUSH指令不能操作8位数据应改为: PUSH AX(5)[80H ]不是端口IN AL ,80H应改为: IN AL, 80H(6)两个段寄存器之间不能直接传送应改为: MOV AX, ESMOV DS,AX(7)对(8)移位次数超过1的时候,要把移位次数放入CL中应改为: MOV CL, 4SHR DX, CL(9)端口地址大于255时,要把地址放入DX中应改为: MOV DX, 380HOUT DX, AX(10)源操作数和目标操作数不匹配应改为: ADD AX, BX(11)POP指令只能使用在存储器或通用寄存器可改为: POP AX(12)源操作数和目标操作数不匹配应改为: MOV CX, 3300H3-9 已知: (DS) = 091DH, (SS) = 1E4AH, (AX) = 1234H, (BX) = 0024H, (CX) = 5678H, (BP) = 0024H, (SI) = 0012H, (DI) = 0032H, [09226H] = 00F6H, [09228H] = 1E40H, [1E4F6H] = 091DH. 试求下列各指令单独执行后的结果.(1)MOV CL, 20H[BX][SI] ; (CL) = ?(2)MOV [BP][DI], CX ; [IE4F6H] = ?(3)LEA BX, 20H[BX][SI] : (BX) = ?MOV AX, 2[BX] : (AX) = ?(4)LDS SI, [BX][DI]MOV [SI], BX ; (SI]) = ?(5)XCHG CX, 32H[BX] ; (AX) = ?XCHG 20[BX][SI], AX ; [09226H] = ?解:(1)(CL) = 00F6H(2)[IE4F6H] = 5678H(3)(BX) = 0056H(AX) = 1E40H(4)(SI)= 0024H(5)(AX) = 5678H[09226H] = 1234H3-10 已知(AL) = 0C4H, DA TA单元中内容为5AH, 写出下列每条指令单独执行后的结果(ODITSZAPC:0---xxux0)(1)AND AL, DATA(2)OR AL, DA TA(3)XOR AL, DA TA(4)NOT DA TA(5)AND AL, 0FH(6)OR AL, 1H(7)XOR AL, 0FFH(8)TEST AL, 80H解:(1)(AL) = 40H CF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义(2)(AL) = DEH CF=0,OF=0,SF=1,ZF=0,PF=1,AF无定义(3)(AL) = 9EH CF=0,OF=0,SF=1,ZF=0,PF=0,AF无定义(4)(AL) = A5H 不影响任何标志位(5)(AL) = 04H CF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义(6)(AL) = C5H CF=0,OF=0,SF=1,ZF=0,PF=1,AF无定义(7)(AL) = 3BH CF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义(8)(AL)不变=0C4H CF=0,OF=0,SF=1,ZF=0,PF=0,AF无定义3-12 (AL)=8EH,(BL)=72H,执行以下指令后,标志位OF、SF、ZF、AF、PF和CF的值是什么?(1)ADD AL,BL(2)AND BL,AL(3)CMP AL,BL(4)SHL AL,1解:(1)OF=0,SF=0,ZF=1,AF=1,PF=1,CF=1(2)OF=0,SF=0,ZF=0,AF=(未定义),PF=0,CF=0(3)OF=1,SF=0,ZF=0,AF=0,PF=0,CF=0(4)OF=1,SF=0,ZF=0,AF=(未定义),PF=0,CF=13-15 试用CMP指令和无条件指令实现以下判断(1)AX和CX中的内容均为无符号数①(AX)>(CX)则转至BIGGER标号执行②(AX)<(CX)则转至LESS标号执行(2)BX和DX中的内容均为有符号数①(BX)>(DX)则转至BIGGER标号执行②(BX)<(DX)则转至LESS标号执行解:(1)CMP AX,CXJA BIGGERJB LESS(2)CMP BX,DXJG BIGGERJL LESS第四章汇编语言程序设计4-9 试用伪指令编写一数据段与下面程序等效。

微机原理与接口技术第6章 接口技术(全)

微机原理与接口技术第6章 接口技术(全)
8255A 2~9 打印机插座
PA0~7
DATA0~7
STB 1 BUSY 11 地
CPU
PC7
PC2 地
(2)接口驱动程序。其程序流程图如图6-7所示。
开始
8255A 初始化
否 BUSY是否为零 是 送 数
送 STB
内存+1
字节数1
否 是否送完 是 结束
8255A的1方式及其应用 一、特点
① 1方式是一种选通输入/输出方式或叫应答方式,因此,需设置专 用的联络信号线或应答信号线,以便对I/O设备和CPU两侧 进行联 络。这种方式通常用于查询(条件)传送或中断传送。数据的输 入输出都有锁存功能。 ② PA和PB为数据口,而PC口的大部分引脚分配作专用(固定)的联 络信号的C口引脚,用户不能再指定作其他作用。 ③ 各联络信号线之间有固定的时序关系,传送数据时,要严格按照 时序进行。 ④输入/输出操作过程中,产生固定的状态字,这些状态信息可作为 查询或中断请求之用。状态字从PC口读取。 ⑤单向传送。一次初始化只能设置在一个方向上传送,不能同时作 两个方向的传送。
3.设计 • 接口电路的设计包括硬件接口电路和软件驱动程序两 部分。 (1)打印机接口电路如图6-6所示。该电路的设计思路 是:按照并行打印接口标准对打印机接口信号线的定 义,最基本的信号线需要8根数据线(DATA0~ DATA7)、1根控制线(),1根状态线(BUSY)和1根 地线。选用8255A的PA口作数据口输出8位打印数据, 工作方式为0方式。
③ 两个命令的最高位(D7)都分配作了特征位,之所以 要设置特征位,是为了识别两个不同的命令。 ④ 按位置位/复位的命令代码只能写入命令口。
4.A口和B口另一个使用方法 A口、B口也可以按位输出高低电平,但是,它 与前面的按位置位/复位命令有本质的差别,并且实 现的方法也不同。C口按位输出是以送数据到A口、B 口来实现的。其具体作法是:若要使某一位置高电 平,则先对端口进行读操作,将读入的原输出值, “或”上一个字节,字节中使该位为1,其他位为0, 然后再送到同一端口,即可使该位为0,然后再送到 同一端口,即可使该位置位。

第6章 微型计算机接口技术及应用实例

第6章 微型计算机接口技术及应用实例

本章学习目标
•理解微型计算机串、并行输入/输出接口是完成CPU与外设 •进行信息交换的两种方式。 •充分理解微型计算机接口技术是完成CPU和外设之间信息相 •互转换成相兼容的格式、协调微机与外设之间的时序差别、 •设备之间信号交换和电气连接的一系列标准。 •充分理解微型计算机CPU和外设之间交换的信息包括数据、 •状态和控制3种信息。 •熟练掌握可编程串行通信接口芯片8251A、通用并行输入/输 •出接口芯片8255A、的外部引脚功能,内部结构和初始化约
• CPU和外设之间交换的信息包括数据、状态和控制信 息。
• 数据信息一般是数字量、模拟量、开关量等;状态信 息一般是输入设备是否准备好(“忙”,“就绪”), 输出设备是否有空(“满”,“空”)等;控制信息 则是用于控制I/O设备的启动或停止等。事实上,状 态信息、控制信息都可以看作是一种输入/输出的 “数据”,但它们与数据的性质并不相同,因而在 CPU与外设的接口中,数据寄存器、状态寄存器、控 制命令寄存器各自占一个端口。
DB
CPU
RD
WR
A9~A0
数据 接口
状态 接口
控制 接口
DB
RD
外设
WR
CS
地址 译码
图6-1 CPU外设接口工作框图
• 简单来说,一个接口的基本功能是在系统总线和I/O设备之 间传输信号,提供缓冲作用,以满足接口两边的时序和速 度匹配要求。下面是对接口功能的概括:
• 1. 信号电平转换
• 由于外设和系统总线的电气规范并不一致,外设的电气 信号电平并不都是TTL电平和MOS电平,所以需要接口来完 成交换信号的电平转换。
• 能够完成异步通信的硬件电路称为UART(Universal Asynchronous Receive /Transmitter),典型的可编程UART有 INS8250、MC6850-ACIA、MC6852-SSDA。 • 能够完成同步通信的硬件电路称为USRT(Universal Synchronous Receive /Transmitter)。 • 既可完成异步通信,又可完成同步通信的硬件电路称USART (Universal Synchronous--Asynchronous Receive/Transmitter),如Intel 的8251A和AMD9551基本相 同,支持单通道双缓冲结构,是较简单的USART器件。Z80SIO和8274基本相同,它们能支持双通道四缓冲结构,支持 HDLC/SDLC协议,并进行CRC校验,是性能较强的USART器 件。本书主要介绍USRT。

微型计算机原理及接口技术(第二版) 第6章

微型计算机原理及接口技术(第二版) 第6章
● 模/数转换。若外设是模拟设备,则其发送与接收的信 息为模拟数据。当计算机系统从模拟外设获取信息时,必须 将外设的模拟数据转换成并行数字数据,才能被计算机系统 接收。同样,当计算机系统给模拟外设加载信息时,必须将 计算机的并行数字数据转换成模拟数据,才能被外设接收。
● 串/并转换。若外设是数字化的串行设备,其发送与 接收的信息为串行数据,则必须将外设的串行数据转换成并 行数据,才能被计算机系统接收。同样,需将计算机的并行 数据转换成串行数据,才能被外设接收。
一种常用的速度变换方法是在接口中设计数据缓冲器, 通过数据缓冲器的“缓冲”功能,使快速的计算机系统与慢 速的外设之间达到有效的信息传递。
(4) 进行负载匹配。目前的微机系统均采用总线结构,系统 中所有部件都是通过总线相互连接在一起的,其中外设与微机 系统的连接实际上是通过将外设经过接口连接在微机的系统总 线上来实现的。由于每种外设对总线呈现的负载不同,而系统 总线的负载能力是有限制的,因此,当大负载外设或多外设连 接到微机系统时,接口中必须设计负载匹配电路。驱动器可以 作为一种能够提供大电流的电流负载匹配电路来使用。
对I/O地址有两种编排方式。一种是将内存地址与I/O地址统 一编排在同一地址空间中,简称统一编址方式;另一种是将内存 地址与I/O地址分别编排在不同的地址空间(即内存地址空间与 I/O地址空间)中,简称独立编址方式。
采用统一编址方式可以将内存与外设同样看待,不仅可以对 内存实施多种操作与运算,而且可以对外设实施与内存同样的操 作与运算,使得对外设的操作十分灵活方便。由于内存与外设占 据同一个地址空间,因此分配给外设的地址,内存便不能使用, 使内存地址空间与I/O地址空间受到了限制,从而限制了内存与外 设的规模。另外,在获得了对内存与外设可以同样操作的方便之 时,也给检修、维护增加了难度。当一条传送指令的执行出现错 误时,很难从指令上判断出是内存还是外设出了问题。

微机原理与接口技术第6章课件

微机原理与接口技术第6章课件

8237A-5 DMA 控制器 8259A 中断控制器 8253-5 计数器/定时器 8255A-5 并行接口 DMA 页寄存器 NMI 屏蔽寄存器 保留 保留
200~20F 2F8~2FF 300~31F 320~32F 387~37F 380~38F 3B0~3BF 3F0~3F7 3F8~3FF
输入/输出接口技术是信息传送的控制技术,是一种采用软、硬 件结合的方法,实现CPU与外设之间协调与匹配,实现二者之间高效、 可靠的信息传递的一门技术。
6.1.1 设置接口电路的目的
一般的输入/输出设备都是机械的或机电相结合的产物,它 们与CPU进行数据交换时存在以下问题:
(1)端口间接速度不匹配 (2)端口时序不匹配 (3)信息格式不匹配 (4)信息类型不匹配
1)PC/XT机的I/O端口分配
在IBM的PC/XT机中,中断控制、DMA控制、动态RAM刷新、系统配 置识别、键盘代码读取及扬声器发音等都是由可编程I/O接口芯片控 制的。PC/XT机的端口地址译码是采用非完全译码方式,即只考虑了 低10位地址线A0~A9,而没有考虑高6位地址线A10~A15,故其I/O端口 地址范围是0000H~03FFH,总共只有1024个字节端口,并且把前512个 字节端口分配给了主板,后512个字节I/O端口分配给了扩展槽上的常 规外设。PC/XT机的I/O端口分配表见表6-1。
图6-1 一个典型的I/O接口
1.数据缓冲寄存器
数据缓冲寄存器用来保存CPU和外设之间传送的数据(如数字、 字符及某种特定的编码等)。对输入/输出数据起缓冲作用的数据寄 存器称为数据端口。
2.控制寄存器
控制寄存器用来存放CPU发往外设的控制命令和其他信息。确定 接口电路的工作方式和功能的控制寄存器称为控制端口。由于现在的 接口芯片大都具有可编程的特点,可通过编程来选择或改变其工作方 式和功能,一个接口芯片就相当于具有多种不同的工作方式和功能, 使用起来十分灵活、方便。控制寄存器是写寄存器,其内容只能由微 处理器写入,而不能读出。

微机原理与接口技术 第6章2


循环减1计数 (a)
N 结果为0?
单 循
Y

退出循环


预置外循环次数 其他准备工作
预置内循环次数 其他准备工作
循环体
内循环减1计数
N 结果为0?
(b)
Y

外循环减1计数

N 结果为0?
环 结
Y
退出循环

循环程序设计
Eg: 假设从BUF单 元开始为一个 ASCII码字符串,找 出其中的最大数送 屏幕显示。
第6章 汇编语言程序设计
用汇编语言编程属结构化程序设计。 需按照结构化的思想来进行汇编程 序的设计
按照自上而下的设计方法,设计一个汇编程序的步骤:
• 分析题意,确定算法 • 根据算法画出程序框图 • 根据框图编写程序 • 上机调试程序 • 执行程序
从结构上来讲,一般的汇编程序可分为:
• 顺序程序 • 分支程序 • 循环程序
思路:ASCⅡ码数为无符号 数,无符号数的最小数为0
数据区首址→DS:BX 无符号最小数→AL
数据个数→CX
[BX]>=AL? N
Y
[BX] → AL
BX+1 → BX CX-1 → CX
N
CX=0?
Y
显示结果 返回DOS
源程序清单1:
·486 DATA SEGMENT USE16
LAST: CMP [BX],AL;比较
;输出缓冲区
COUNT DB 4
DATA ENDS
CODE SEGMENT USE16
MOV AH,4CH INT 21H ;返回 DOS CODE ENDS
MOV CX,COUNT ;串长度→CX

微机原理与接口技术第五章、第六章课后习题答案

2114: 128片,10位和6位。

6116: 32片,11位和5位。

6264: 8片,13位和3位。

5.42114:611662646.4stack segment stack 'stack'dw 32 dup(0)stack endscode segmentstart proc farassume ss: stack, cs: codepush dssub ax, axpush axCALL I6116 ;调用写入6116子程序MOV AH, 2 ;回车换行MOV DL, 0DHINT 21HMOV DL, 0AHINT 21HCALL O6116 ;调用读出6116子程序ret;写入6116:将键入字符的ASCII码写入6116I6116 PROCMOV BL, 0 ;定义页地址码(16个地址为一页)MOV CX, 128 ;定义页数LOP1: PUSH CXMOV DX, 380H ;将页地址从74LS273输出MOV AL, BLOUT DX, ALMOV CX, 16 ;定义页内单元数MOV DX, 390H ;将键入数写入16个单元LOP2: MOV AH, 1INT 21HOUT DX, ALINC DXLOOP LOP2INC BL ;换页POP CXLOOP LOP1 ;页数未满换页重新写入16个单元RETI6116 ENDP;读出6116:将写入6116的数据读出送显示O6116 PROCMOV BL, 0MOV CX, 128LOP3 PUSH CXMOV DX, 390HMOV AL, BLOUT DX, ALMOV CX, 16MOV DX 380H ;将16个单元的数据送显示LOP4: IN AL, DXPUSH DXMOV DL, AL ;将6116中读出的ASCII码送DLMOV AH, 2 ;2号功能调用显示DL中的字符INT 21HPOP DXINC DXLOOP LOP4INC BLPOP CXLOOP LOP3RETO6116 ENDPend start6.5stack segment stack 'stack'dw 32 dup(0)stack endscode segmentstart proc farassume ss: stack, cs: codepush dssub ax, axpush axMOV AH, 2 ;用2号功能调用输出字符,调用号送AHMOV CX, 100 ;字符个数送计数器MOV DX, 380HWAIT0: IN AL, DX ;从244读入TEST AL, 80H ;测试状态位是否为0JNZ WAIT0 ;不为0,等待继续测试状态WAIT1: IN AL, DX ;状态为0,继续读入TEST AL, 80H ;测试状态是否为1JZ WAIT1 ;不为1,等待继续测试状态IN AL, DX ;状态为1,读入数据即ASCII码AND AL, 7FH ;去掉状态位MOV DL, AL ;ASCII码送DL,输出字符INT 21HLOOP WAIT0-3 ;跳到给DX赋值380H的MOV指令,该指令为3字节retstart endpcode endsend start。

微机原理与接口技术(清华大学课件,全套)


‚非‛运算

按位求反

‚异或‛运算

相同则为0,相异则为1
46
4.

译码器
各引脚功能
输入端与输出端关系(真值表)
掌握74LS138译码器

47
74LS138译码器

主要引脚及功能 G1 G2A G2B C B Y0
• • • •
A
Y7
48
三、机器数(有符号数)的运算
49
计算机中符号数的表示

写:

CPU将信息放入内存单元,单元中原来的内容被覆盖。
19
内存储器的分类
随机存取存储器(RAM)
按工作方 式可分为
只读存储器(ROM)
20
输入/输出接口

接口是CPU与外部设备间的桥梁
CPU
I/O
接口
外 设
21
接口的分类
串行接口 并行接口 数字接口 输入接口
输出接口
模拟接口
22
接口的功能
原码: -127 ~ +127
反码: -127 ~ +127 补码: -128 ~ +127
62
2. 符号二进制数与十进制的转换
对用补码表示的二进制数:
1)求出真值
2)进行转换
63
[例]:补码数转换为十进制数

[X]补=0 0101110B
正数
所以:真值=0101110B X=+46

[X]补=1 1010010B
73
2. 程序和指令

程序:

具有一定功能的指令的有序集合

指令:

《微机原理与接口技术》习题答案

习题参考答案第1章习题参考答案1. (1)D (2)D (3)B (4)C (5)D (6)D2. 答:计算机是一种以电子器件为基础的,不需人的直接干预,能够对各种数字化信息进行快速算术和逻辑运算的工具,是一个由硬件﹑软件组成的复杂的自动化设备。

理解计算机的概念,应从六个方面:(1)以电子器件为物质基础,即研究的对象是电子数字计算机(Digital Computer);(2)不需要人的直接干预,说明具有自动化能力,其前提是存储程序;(3)处理各种数字化信息,计算机以二进制编码作为数字化编码及运算的基础;(4)具有算逻运算能力,基本运算操作是算术和逻辑运算;(5)计算机是快速工具,主要取决于两个因素:一是电子器件,二是存储程序。

(6)由硬件和软件组成。

3. 答:见本章小结。

4. 答:计算机的生命力在于它的广泛应用,应用的范围几乎涉及人类社会的所有领域。

归纳起来,在科学计算、过程检测与控制、信息管理、计算机辅助系统等领域中的应用成就最为突出。

举例:计算机辅助教学CAI;学生的学籍管理系统;数字图书馆系统;虚拟现实系统;售票系统;学校的一卡通系统等。

5. 答:冯•诺依曼原理的基本思想是:•采用二进制形式表示数据和指令。

指令由操作码和地址码组成。

•将程序和数据存放在存储器中,使计算机在工作时从存储器取出指令加以执行,自动完成计算任务。

这就是“存储程序”和“程序控制”(简称存储程序控制)的概念。

•指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。

•计算机由存储器、运算器、控制器、输入设备和输出设备五大基本部件组成,并规定了5部分的基本功能。

冯•诺依曼型计算机的基本特点也可以用“存储程序”和“程序控制”来高度概括。

6. 答:计算机的硬件系统由有形的电子器件等构成的,它包括运算器、存储器、控制器、输入输出设备及总线系统组成。

而总线分为数据总线、地址总线、控制总线,其结构有单总线结构、双总线结构及多总线结构。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Principle of Microcomputer and Interface Technology Electronics Information EngineeringSichuan University EI第 6 章微机原理与接口技术第6章输入输出接口技术教学重点●I/O端口地址译码与读写控制●输入输出传送方式I/O接口概述•微机的外部设备多种多样,各方面彼此差别很大。

–工作原理不同机械、电子、机电、电磁……–传送信息类型多样数字量、模拟量、开关量–传送速度差别极大–传送方式不尽相同串行、并行–编码方式不同二进制、BCD码、ASCII码……•它们不能与CPU直接相连,必须经过中间电路与CPU相连。

•这部分电路被称为I/O接口电路。

I/O接口概述•I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路。

•PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路。

•什么是I/O接口(电路)?CPU接口电路I/O 设备主板各种接口卡网卡视频采集卡显卡声卡I/O接口的主要功能(1) 地址译码和设备选择(2) 信息的输入和输出(3) 信息转换并串、DA/AD转换数据格式电平转换(4) 对外设的控制与监测(5) 中断或DMA管理(6) 可编程(7) 错误检测CPU与I/O设备之间的接口信息•数据信息(Data)–数字量:以二进制形式表示的数–模拟量–开关量:表示两个状态的量,可用1位二进制数表示•状态信息(Status)–反映外设当前所处的工作状态,是外设通过接口传送给CPU的,如READY,BUSY •控制信息(Control)–CPU通过接口传送给外设的信息,如启停I/O 接口的典型结构控制总线CB 地址总线ABI/O 接口电路数据控制状态数据总线DBCPU外设控制寄存器状态寄存器数据寄存器CPU 如何与I/O 接口电路通信?接口电路的内部结构•CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部:(1)数据寄存器–输入数据寄存器:保存外设给CPU的数据–输出数据寄存器:保存CPU给外设的数据(2)状态寄存器–保存外设或接口电路的状态(3)控制寄存器–保存CPU给外设或接口电路的命令•主要体现在引脚上,分成两侧信号。

•面向CPU一侧的信号:–用于与CPU连接–主要是数据、地址和控制信号•面向外设一侧的信号:–用于与外设连接–提供的信号五花八门–功能定义、时序及有效电平等差异较大•许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种。

•接口需要进行物理连接,还需要编写接口软件。

•接口软件主要完成:–初始化——设定芯片工作方式等–数据交换——管理、控制、驱动外设,负责外设和系统间信息交换I/O 端口的编址•接口电路占用的I/O端口有两类形式。

•独立编址方式(或称I/O映射编址)–I/O地址空间独立于存储地址空间–如8086/8088•统一编址方式(或称存储器映射编址)–I/O与存储器共享一个地址空间–如M6800,ARMI/O 端口独立编址•优点:–I/O端口地址不占用存储器地址空间–控制和地址译码电路相对简单–专门的I/O指令使程序清晰易读•缺点:–I/O指令没有存储器指令丰富–要求提供I/O读写控制信号,增加了复杂性内存空间I/O空间FFFFFFFFFI/O端口与存储器统一编址•优点:–不需要专门的I/O指令–I/O数据存取与存储器数据存取一样灵活–外设数目几乎不受限制,而只受总存储容量的限制–读写控制逻辑较简单•缺点:–I/O端口要占去部分存储器地址空间–程序中不易分清访问内存还是访问外设内存部分I/O部分存储器空间00000FFFFF8088/8086的I/O端口•采用I/O 端口独立编址•程序员能看到的外设是端口。

•CPU用于寻址外设端口的地址线为16根。

–端口最多为216=65536(64K)个–端口号为0000H ~ FFFFH•每个端口用于传送一个字节的外设数据。

•实际上PC机只用了1024个端口:–端口号为0000H ~ 03FFH–地址线只用10条A0~A9回顾8088/8086的端口寻址方式•8088/8086的端口无需分段,设计有两种寻址方式。

•直接寻址:只用于寻址00H ~ FFH前256个端口,操作数i8表示端口号。

•间接寻址:可用于寻址全部64K个端口,DX寄存器的值就是端口号。

•对大于FFH的端口只能采用间接寻址方式。

回顾8088/8086的输入输出指令•输入指令(IN:将外设数据传送给CPU内的AL/AX)IN AL, i8;字节输入IN AL, DX;字节输入IN AX, i8;字输入IN AX, DX;字输入•输出指令(OUT:将CPU内的AL/AX数据传送给外设)OUT i8, AL;字节输出OUT DX, AL;字节输出OUT i8, AX;字输出OUT DX, AX;字输出IN 指令实例(从20H 端口输入一个字);方法1:直接寻址,字量输入in ax, 20h;方法2:间接寻址,字量输入mov dx, 20hin ax, dx;方法3:直接寻址,字节量输入in al, 21hmov ah, alin al, 20h;方法4:间接寻址,字节量输入mov dx, 21hin al, dxmov ah, aldec dx in al, dxOUT指令实例(向300H端口输出一个字节);唯一的方法:间接寻址,字节量输出mov al, bvar;bvar是字节变量mov dx, 300hout dx, alI/O地址译码方法•I/O地址的译码方法与存储器地址的译码方法一样。

•每个接口电路通常占用几个I/O地址(等效于存储器的存储单元)•高位地址线与CPU的控制信号结合,经译码电路产生I/O接口芯片的片选信号。

•低位地址线直接连到I/O接口芯片,实现I/O接口芯片的片内寻址。

I/O接口通常与总线连接(如ISA总线)常用引脚IOR、IOWAEN:AEN为高是DMA操作,为低是I/O操作AEN是DMAC发出的信号。

A-A:地址线总线读写控制信号转换I/O读I/O写存储器读存储器写•利用门电路进行地址译码。

A9A8A7A6A5A4A3A2A1A0 110101111035EHA9A8A7A6A5A4A3A2A1A035EH&11AEN1IOW11CS•利用译码器电路进行地址译码。

A 9A 8A 7A 6A 5A 4A 3A 2A 1A 01101000x x x全地址译码电路340H 341H 342H 343H 344H 345H 346H 347HALS138译码器A 2A 1A 0AENA 7A 5A 4A 3&A 9A 8A 6&C B AY0Y1Y2Y3Y4Y5Y6Y7G3G1G2A9A8A7A6A5A4A3A2A1A0 00000x x x x x 00001x x x x x00011x x x x x →000H~01FH →020H~03FH00010x x x x x→040H~05FH→060H~07FHIN AL, 21HOUT 43H, AL•端口数目是1024个,端口地址空间从000~3FFH,由地址线A~A9进行译码。

•I/O接口电路大体上分为两类:–主板上的I/O接口芯片–扩展槽上的I/O接口控制卡•I/O端口地址空间也分为两部分:–前256个端口(000~0FFH)专供I/O接口芯片使用。

–后768个端口(100~3FFH)为I/O接口控制卡使用。

–P232表6-1和6-2•凡是被系统配置占用了的端口地址一律不能使用。

•从原则上讲,未被系统占用的地址用户都可以使用;•但对计算机厂家申明保留的地址不要使用,以免发生I/O端口地址重叠和冲突造成所设计的产品与系统不兼容。

•通常,用户可使用300H~31FH,这是PC系列微机留作实验卡用的。

•在用户可用的I/O地址范围内,为了避免与其他用户开发的接口控制卡发生地址冲突,最好采用地址开关。

在windows中查看接口地址I/O 地址译码电路的方式(4)•开关式可选择地址译码。

拨码开关8位数据比较器74 LS688当P~P7与Q0~Q7状态一致时,P=Q输出低电平。

本例中要使译码有效,A9、AEN必须为多少?输入输出传送方式•外设与微机之间的信息传送实质是CPU与接口之间的信息传送。

•CPU输入输出数据的方式:–无条件–查询–中断–DMA•在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送。

•特点:直接与外设进行数据传送。

这就是无条件传送,或称同步传送。

•适合于简单设备,如LED数码管、按键或按钮等。

•无条件传送的接口和操作均十分简单。

前提:外设必须随时就绪。

无条件传送输入接口示例IOR三态缓冲器OEI/O装置地址译码器D7~D0A15~AAEN0160HMOV DX,160HIN AL, DX输入接口的实例74LS244+5V10K x 8G 1G 2数据总线CS IOR;假设端口地址为160HMOV DX, 160H IN AL, DX无条件传送输出接口示例地址译码器数据锁存器A 15-A 0IOWAEN 0160H 输出设备D 7-D 0MOV DX, 160H OUT DX, AL输出接口的实例+5V74LS373300×8LE OE数据总线CS IOW;打开所有LED 灯MOV DX, 160H MOV AL, 00H OUT DX, AL输入输出实例——根据开关输入让相应的灯亮K7K1K0+5V D 0~D 7A 0~A 15CLKLS06反相驱动器LS2738D 锁存器LS244三态缓冲器210H译码+5VLED0LED7……GIOWIOR接口程序next:mov dx,210h;DX指向数据端口in al,dx;从输入端口读开关状态not al;反相out dx,al;送输出端口显示call delay;调子程序延时jmp next;重复教材上的原理图查询传送方式•CPU需要先查询外设的工作状态,然后在外设就绪后实现数据输入或输出。

•又称条件传送方式。

•查询传送的特点–工作可靠,适用面宽;–但传送效率低。

就绪的含义•在输入场合–说明输入接口已准备好送往CPU的数据,正等着CPU来读取。

–也可用接口中数据缓冲器已“满”来描述。

•在输出场合–说明输出接口已做好准备,等待接收CPU要输出的数据。

–也可用接口数据缓冲器已“空”、或者用外设“闲”或不“忙”(Busy)来描述。

查询传送的两个环节⑴查询环节–寻址状态端口–读取状态寄存器的标志位–若不就绪就继续查询,直至就绪⑵传送环节–寻址数据端口–输入:通过输入指令从数据端口读入数据–输出:通过输出指令向数据端口输出数据输入状态就绪?数据交换Y N查询传送流程查询输入接口查询输入接口程序mov dx, STATUS_PORT;DX指向状态端口status:in al, dx;读状态端口test al, 80h;测试标志位D7jz status;D=0,未就绪,继续查询7mov dx, DATA_PORT;D7=1,就绪,DX指向数据端口in al, dx;从数据端口输入数据查询输出接口查询输出接口程序mov dx, STATUS_PORT;DX指向状态端口status:in al,dx;读取状态端口的状态数据test al,80h;测试标志位D7jnz status;D=1,未就绪,继续查询7mov dx, DATA_PORT;D7=0,就绪,DX指向数据端口mov al,buf;变量buf送ALout dx,al;将数据输出给数据端口查询接口综合举例D 4D 2D 1D 0控制端口04H 数据端口(02H)D 7CPU 数据总线DB状态端口(03H)控制端口(04H)A/D 转换器多路开关Vin7Vin08路输入模拟量1路模拟量读选通READY 读选通启动D4D 2D 1 D 08位数据写选通•选择模拟量输入:(D 2D 1D 0)3位控制多路开关,选择8路模拟量输入。

相关文档
最新文档