第12讲-并行接口-3_第1页
第12讲-并行接口-3_第2页
第12讲-并行接口-3_第3页
第12讲-并行接口-3_第4页
第12讲-并行接口-3_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1通知第10、12、13、15周周一下午5-6节的课作为实验课时间,不再上课实验请与刘桂香老师联系2第六章串并行通信和接口技术

接口的功能以及在系统中的连接串并行通信和接口可编程串行通信接口8251A

可编程并行通信接口8255A3可编程并行通信接口8255A8255A的基本功能8255A的内部结构8255A的芯片引脚信号8255A的控制字8255A的工作方式和应用举例4设置了专用的选通信号线或应答信号线,以便对I/O设备和CPU两侧进行联络。

C口为A口和B口提供选通信号和应答信号,信号与端口C中的数位之间有固定对应关系,这种关系不能通过程序改变,只能通过改变工作方式;当A口和B口中有工作于方式1下的端口时,C口的某些位用作信号位,其余仍可用作普通的I/O位;可工作于条件传送方式和中断传送方式。2.方式1---选通的输入/输出方式5数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据

方式1输入引脚:A端口6方式1输入引脚:B端口PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据中断允许触发器PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBBPC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示B口已经接收数据中断请求信号请求CPU接收数据中断允许触发器中断允许触发器7方式1输入联络信号STB——数据选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据放入8255A的输入缓冲器IBF——输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示有新的数据在输入缓冲器,该信号可供CPU查询。INTR——中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据。8方式1中断控制8255A的中断由中断允许触发器INTE控制置位允许中断,复位禁止中断对INTE的操作通过写入端口C的对应位实现,具体讲,对PC4置1,使A端口处于中断允许状态,置0则使其处于中断禁止状态;对B端口的PC2亦然。9方式1输入时序10方式1输入举例8255A的A口和B口分别工作在方式1和方式0,A口为输入端口,接有8个开关。B口为输出端,接有8个发光二极管,连接电路如下图所示。现要求用方式1把改变后的键信息输入到CPU并通过B口显示。各端口地址为:端口A:88H 端口B:8AH

端口C:8CH 控制端口:8EH118255AKK7K0PA0PA7……PC4PB0PB7PC5LED0LED7……STBAIBFA+5V121、用户通过改变K0~K7,产生新的键信息;

2、按下开关K,产生选通信号,数据进入A口的缓冲器;

3、IBFA有效,8255A利用该信号通知CPU其A口来了一个新数据;

4、CPU取走这个数据;

5、转步骤1。13设8255A的I/O地址分布为88H~8EH,相应程序段如下:

MOV AL,10111000B

OUT 8EH,AL

L1: IN AL,8CH

TEST AL,00100000B

JZ L1

MOV CX,0FFFFH

L2: LOOP L2

IN AL,88H

OUT 8AH,AL

JMP L114方式1输出引脚:A端口15方式1输出引脚:B端口16方式1输出联络信号OBF——输出缓冲器满信号,低电平有效8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走ACK——响应信号,低电平有效外设的响应信号,指示8255A的端口数据已由外设接受INTR——中断请求信号,高电平有效当输出设备已接收数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据17方式1输出时序18只适用于端口AC口提供5位作为控制信号和状态信号若B口工作在方式1,则C口失去I/O功能数据输出时8255A不是在OBF有效时向外设输出数据,而是在外设提供响应信号ACK时才送出数据3.方式2---双向传输方式19方式2双向引脚20方式2时序21例题

现要求用一个8255A作为终端机的接口。由端口A输出字符到终端机的显示器,端口B用于键盘输入字符,端口C为终端状态信息输入端口。当PC0=1表示键盘输入字符就绪,PC7=0表示显示缓冲器已空。要求用查询方法把从键盘输入的每个字符都送到终端机的显示缓冲器上,当输入的是回车符(ASCII码为0DH)时操作结束。假设该8255A芯片的端口地址是60H~66H(8086),试编写包括8255A的初始化程序在内的输入输出驱动程序。22原理图23CSEGSEGMENT ASSUMECS:CSEGSTART:MOVAL,10001011B OUT 66H,ALKEY:INAL,64H TESTAL,01 JZKEY INAL,62H CMPAL,0DHJZ STOP MOVAH,ALDISP:IN AL,64H TESTAL,80H JNZDISP MOVAL,AH OUT60H,AL JMP KEYSTOP:MOVAH,4CH INT21HCSEGENDSENDSTART24作业1.对8255A设置工作方式。控制口地址为0C6H。要求:端口A工作在方式1,输入;端口B工作在方式0,输出;端口C的部分位配合A工作,其余设置为输入。2.设8086系统中8255A的地址为0C0H~0C6H。用置0/置1方式对PC6置1,PC4置0.3.若采用查询式实现8255A与打印机接口,用PB口传送内存DATA单元开始的100个字节数据,PC7用作STB信号、PC3作为BUSY信号,如下图所示。试完成控制程序设计。25作业PB7~PB0

PC78255APC3

机BUSYSTB说明:当CPU通过接口要求打印机打印数据时,先查看BUSY信号,当BUSY=‘L’时,才向打印机输出数据,在把数据送上DATA线后,先发STB选通打印机,打印机接到STB后,发BUSY=‘H’,接收数据,当数据接收号并存入内部打印缓冲区后,送出ACK信号,表示打印机已准备好接收新数据,并撤销BUSY(0)例题(2011年全国统考试题)4.某32位计算机,CPU主频为800MHz,Cache命中时的CPI为4,Cache块大小为32字节;主存采用8体交叉存储方式,每个体的存储字长为32位,存储周期为40ns;存储器总线宽度为32位,总线时钟频率为200MHz,支持突发传送总线事务。每次读突发传送总线事务的过程包括:送首地址和命令、存储器准备数据、传送数据。每次突发传送32字节,传送地址或32位数据均需要一个总线时钟周期。请回答下列问题,要求给出理由或计算过程。(1)CPU和总线的时钟周期各为多少?总线的带宽(即最大数据传输率)为多少?(2)Cache缺失时,需要用几个读突发传送总线事务来完成一个主存块的读取?(3)存储器总线完成一次读突发传送总线事务所需时间是多少?(4)若程序BP执行过程中,共执行了100条指令,平均每条指令需进行1.2次访存,Cache缺失率为5%,不考虑替换等开销,则BP的CPU执行时间是多少?28(1)CPU的时钟周期为:1/800

MHz

=

1.25

ns。总线的时钟周期为:1/200

MHz

=

5

ns。总线带宽为:4

B×200

MHz

=

800

MB/s或4

B/5

ns

=

800

MB/s。(2)Cache块大小是32B,因此Cache缺失时需要一个读突发传送总线事务读取一个主存块。

(3)一次读突发传送总线事务包括一次地址传送和32

B数据传送:用1个总线时钟周期传输地址;每隔40

ns/8

=

5

ns启动一个体工作(各进行1次存取),第一个体读数据花费40

ns,之后数据存取与数据传输重叠;用8个总线时钟周期传输数据。读突发传送

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论