ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:132.31KB ,
资源ID:21180399      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21180399.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第七章 接口与并行通信Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第七章 接口与并行通信Word格式文档下载.docx

1、外设的启动信号、停止信号就是常见的控制信息2接口部件的I/O端口:数据端口、控制端口、状态端口CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为I/O端口,每个端口有一个端口地址。用于对来自CPU和内存的数据或者送往CPU和内存的数据起缓冲作用的,这些端口叫数据端口。用来存放外部设备或者接口部件本身的状态,称为状态端口。用来存放CPU发出的命令,以便控制接口和设备的动作,这类端口叫控制端口。如下图输入还是输出,所用到的地址总是对端口而言的,不是对接口部件而言的。为了节省地址空间,将数据输入端口和数据输出端口对应同一个端口地址。同样,状态端口和控制端口也常用同一个端

2、口地址。CPU对外设的输入/输出操作就归结为对接口芯片各端口的读/写操作。3接口与系统的连接.接口电路位于CPU与外设之间,从结构上看,可以把一个接口分为两个部分,用来和I/O设备相连;用来和系统总线相连,这部分接口电路结构类似,连在同一总线上。下图是一个典型的I/O接口和外部电路的连接图:联络信号:读/写信号,以便决定数据传输方向。地址译码器,片选信号:地址译码器除了接收地址信号外,还用来区分I/0地址空间和内存地址空间的信号(M/)用于译码过程。一个接口通常有若干个寄存器可读/写,一般用1-2位低位地址结合读/写信号来实现对接口内部寄存器的寻址。4输入输出的寻址方式CPU对外设的寻址方式通

3、常有两种:(1) 存储器对应输入输出方式每一个外设端口占有存储器的一个地址。优点:CPU对外设的操作可使用全部的存储器操作指令,寻址方式多,使用方便灵活,且可寻址的外设数量多。缺点:由于外设占用了存储单元的地址,使内存的容量减小,同时,程序的可读性下降。(2) 端口寻址的输入输出方式CPU有专门的输入输出指令( IN, OUT),通过这些指令中的地址来区分不同的外设。容易掌握,编出的程序可读性好。可寻址的范围较小,还必须有相应的控制线(M/)来区分是寻址内存还是外设。7.2 可编程并行接口芯片8255A一并行通信与接口并行通信就是把一个字符的各位同时用几根线进行传输。传输速度快,信息率高。电缆

4、要多,随着传输距离的增加,电缆的开销会成为突出的问题,所以,并行通信用在传输速率要求较高,而传输距离较短的场合。Intel 8255A是一个通用的可编程的并行接口芯片,它有三个并行I/O口,又可通过编程设置多种工作方式,价格低廉,使用方便,可以直接与Intel系列的芯片连接使用,在中小系统中有着广泛的应用。二8255A的编程结构8255A由以下几部分组成:见图7-31三个数据端口A,B,C 这三个端口均可看作是I/O口,但它们的结构和功能也稍有不同。A口:是一个独立的8位I/O口,它的内部有对数据输入/输出的锁存功能。B口:也是一个独立的8位I/O口,仅对输出数据的锁存功能。C口:可以看作是一

5、个独立的8位I/O口;也可以看作是两个独立的4位I/O口。也是仅对输出数据进行锁存。2A组和B组的控制电路这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位。 图7-3 8255A的编程结构3数据总线缓冲器8位的双向的三态缓冲器。作为8255A与系统总线连接的界面,输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它来传输的。4读/写控制逻

6、辑读/写控制逻辑电路负责管理8255A的数据传输过程。它接收片选信号及系统读信号、写信号、复位信号RESET,还有来自系统地址总线的口地址选择信号A0和A1。习题与思考:1接口电路的主要作用是什么?它的基本结构如何?2说明接口电路中控制寄存器与状态寄存器的功能,通常它们可共用一个端口地址码,为什么?3CPU寻址外设端口的方式通常有哪两种?试说明它们的优缺点。4在CPU与外部设备接口电路的连接中,通过数据总线可传输哪几种信息?在这里地址译码器起什么作用?第二讲: 7.2 可编程并行接口芯片8255A接口与系统的连接, 并行通信与接口,8255A的编程结构。8255A的工作方式,8255A的编程及

7、应用。三8255A的引脚功能引脚信号可以分为两组:一组是面向CPU的信号,一组是面向外设的信号。1面向CPU的引脚信号及功能D0-D7:8位,双向,三态数据线,用来与系统数据总线相连;RESET:复位信号,高电平有效,输入,用来清除8255A的内部寄存器,并置A口,B口,C口均为输入方式;:片选,输入,用来决定芯片是否被选中;读信号,输入,控制8255A将数据或状态信息送给CPU;写信号,输入,控制CPU将数据或控制信息送到8255A;A1,AO:内部口地址的选择,输入。这两个引脚上的信号组合决定对8255A内部的哪一个口或寄存器进行操作。8255A内部共有4个端口:A口,B口,C口和控制口,

8、两个引脚的信号组合选中端口见下表。 ,A1,A0这几个信号的组合决定了8255A的所有具体操作, 表7-1 8255A的操作功能表 A1 A0操 作数 据 传 送 方 式 0 0 1 0 0读 A 口A口数据 数据总线 0 0 1 0 1读 B 口B口数据 数据总线 0 0 1 1 0读 C 口C口数据 数据总线 0 1 0 0 0写 A 口数据总线数据 A口 0 1 0 0 1写 B 口数据总线数据 B口 0 1 0 1 0写 C 口数据总线数据 C口 0 1 0 1 1写控制口数据总线数据 控制口2面向外设的引脚信号及功能 PA0PA7:A组数据信号,用来连接外设; PB0PB7:B组数据

9、信号,用来连接外设; PC0PC7:C组数据信号,用来连接外设或者作为控制信号。四8255A的工作方式8255A有三种工作方式,用户可以通过编程来设置。方式0简单输入/输出查询方式;A,B,C三个端口均可。方式1选通输入/输出中断方式;A ,B,两个端口均可。方式2双向输入/输出中断方式。只有A端口才有。工作方式的选择可通过向控制端口写入控制字来实现。 在不同的工作方式下,8255A三个输入/输出端口的排列示意图如图7-4所示。1方式0:为一种简单的输入/输出方式,没有规定固定的应答联络信号,可用A,B,C三个口的任一位充当查询信号,其余I/O口仍可作为独立的端口和外设相连。方式0的应用场合有

10、两种:一种是同步传送;一种是查询传送。2方式1 方式1是一种选通I/O方式,A口和B口仍作为两个独立的8位I/O数据通道,可单独连接外设,通过编程分别设置它们为输入或输出。而C口则要有6位(分成两个3位)分别作为A口和B口的应答联络线,其余2位仍可工作在方式0,可通过编程设置为输入或输出。 (1) 方式1的输入组态和应答信号的功能 图7-5给出了8255A的A口和B口方式1的输入组态。 图7-5 方式1输入组态C口的PC3-PC5用作A口的应答联络线, PC0-PC2则作用B口的应答联络线,余下的PC6PC7则可作为方式0使用。应答联络线的功能如下:选通输入。用来将外设输入的数据打入8255A

11、的输入缓冲器。IBF:输入缓冲器满。作为STB的回答信号,。INTR:中断请求信号。INTR置位的条件是STB为高且IBF为高且INTE为高。INTE:中断允许。对A口来讲,是由PC4置位来实现,对B口来讲,则是由PC0置位来实现。事先将其置位。 A口B口 : PC4 PC2 PC5 PC1 INTR: PC3 PC0 INTE: PC4置1 PC2置1(2) 方式1的输出组态和应答信号功能 图7-7 方式1的输出组态C口的PC3、PC6、PC7用作A口的应答联络线, 余下的PC4PC5则可作为方式0使用。输出缓冲器满。当CPU已将要输出的数据送入8255A时有效,用来通知外设可以从8255A

12、取数。响应信号。作为对的响应信号,表示外设已将数据从8255A的输出缓冲器中取走。INTR:INTR置位的条件是ACK为高且OBF为高且INTE为高。INTE:对A口来讲,由PC6的置位来实现,对B口仍是由PC2的置位来实现。 A口 B口PC6 PC2 PC7 PC1 PC3 PC0 INTE: PC6置1 PC2置13方式2方式2为双向选通I/O方式,只有A口才有此方式。这时,C口有5根线用作A口的应答联络信号,其余3根线可用作方式0,也可用作B口方式1的应答联络线。方式2:就是方式1的输入与输出方式的组合,各应答信号的功能也相同。而C口余下的PC0PC2正好可以充当B 口方式1的应答线,若

13、B口不用或工作于方式0,则这三条线也可工作于方式0。(1) 方式2的组态 PC4 PC5 PC6 PC7 PC3 (2) 方式2的应用场合方式2是一种双向工作方式,如果一个并行外部设备既可以作为输入设备,又可以作为输出设备,并且输入输出动作不会同时进行。(3) 方式2和其它方式的组合(见书中183页) 方式2和方式0输入的组合: 控制字:11XXX01T 方式2和方式0输出的组合:控制字:11XXX00T 方式2和方式1输入的组合:11XXX11X 方式2和方式1输出的组合:11XXX10X 其中X表示与其取值无关,而T表示视情况可取1或0。五8255A的编程及应用18255A的编程对8255

14、A的编程涉及到两个内容:写控制字设置工作方式等信息,使C口的指定位置位/复位的功能。均写入控制端口(1) 控制字格式控制字要写入8255A的控制口,写入控制字之后,8255A才能按指定的工作方式工作。8255A的控制字格式与各位的功能如图7-11所示。D7D6D5D4D3D2D1D0=1 控制字标志 C口低4位 A组工作方式 1 - 输入 00 - 方式0 A口控制 0 - 输出 01 - 方式1 1 - 输入 B口控制 1x - 方式2 0 - 输出 1 - 输入 C口高4位控制 B组工作方式 0 - 输出 1 - 输入 0 - 方式0 0 - 输出 1 - 方式1 图7-11 8255A的

15、控制字格式例1 某系统要求使用8255A的A口方式0输入,B口方式0输出,C口高4位方式0输出,C口低4位方式0输入。 则控制字为: 10010001 即91H 初始化程序为: MOV AL, 91H OUT CTRL_PORT,AL(2) C口的置位/复位功能只有C口才有,它是通过向控制口写入按指定位置位/复位的控制字来实现的。C口的这个功能可用于设置方式1的中断允许,可以设置外设的启/停等。 按位置位/复位的控制字格式如图7-12所示。 =0 控制字标志 1 - 置位 无意义 置位/复位引脚编码 0 - 复位 000 - PC0 001 - PC1 . 111 - PC7 图7-12 位置

16、位/复位控制字格式例如在书中例2,A口方式2 要求发两个中断允许,即PC4和PC6均需置位。B口方式1要求使PC2置位来开放中断。初始化程序可补充完整如下。 MOV AL,0C4H OUT CTRL_PORT,AL;设置工作方式 MOV AL,09HPC4置位,A口输入允许中断 MOV AL,ODHPC6置位,A口输出允许中断 MOV AL, 05HPC2置位;B口输出允许中断 2接口应用举例例3 利用8255A的A口方式0与微型打印机相连,将内存缓冲区BUFF中的字符打印输出。试完成相应的软硬件设计。(CPU为8088)首先我们分析一下打印机的工作。微型打印机和主机之间的接口采用并行接口。图

17、7-13 打印机数据传输时序表7-2 Centronics标准引脚信号引脚 名 称方向 功 能1STROBE入数据选通,有效时接收数据2-9DATA1-DATA8数据线10ACKNLG出响应信号,有效时准备接收数据11BUSY忙信号,有效时不能接收数据12PE纸用完13SLCT选择联机,指出打印机不能工作14AUTOLF自动换行31INIT打印机复位32ERROR出错36SLCTIN有效时打印机不能工作它的工作流程是:主机将要打印的数据送上数据线,然后发选通信号。打印机将数据读入,同时使BUSY线为高,通知主机停止送数。这时,打印机内部对读入的数据进行处理。处理完以后使ACK有效,同时使BUS

18、Y失效,通知主机可以发下一个数据。硬件连线如下图:说明:由PC0充当打印机的选通信号,通过对PC0的置位/复位来产生选通。同时,由PC7来接收打印机发出的“BUSY”信号作为能否输出的查询。8255A的控制字为:10001000 即88H A口方式0,输出;C口高位方式0输入,低位方式0输出PC0置位: 00000001 即 01HPC0复位: 00000000 即 00H 8255A的4个口地址分别为:00H,01H,02H,03H。编制程序如下:DADA SEGMENTBUFF DB This is a print program!,$DATA ENDSCODE SEGMENT ASSUM

19、E CS:CODE, DS:DATASTART:MOV AX, DATA MOV DS, AX MOV SI,OFFSET BUFF MOV AL, 88H ;8255A初始化,A口方式0,输出 OUT 03H, AL ; C口高位方式0输入,低位方式0输出 MOV AL, 01H; OUT 03H,AL ;使PC0置位,即使选通无效WAIT: IN AL, 02H TEST AL, 80H ;检测PC7是否为1即是否忙 JNZ WAIT ; 为忙则等待 MOV AL,SI CMP AL, ;是否结束符 JZ DONE ; 是则输出回车 OUT 00H,AL ;不是结束符,则从A口输出 MOV

20、 AL,00H OUT 03H, AL MOV AL, 01H产生选通信号 INC SI ;修改指针,指向下一个字符 JMP WAITDONE: MOV AL,0DH输出回车符 MOV AL, 00H OUT 03H,AL产生选通WAIT1: JNZ WAIT 1 ; MOV AL,0AH输出换行符 MOV AH,4CH INT 21H CODE ENDSEND START例4 将上例中8255A的工作方式改为方式1,采用中断方式将BUFF开始的缓冲区中的100个字符从打印机输出。(假设打印机接口仍采用Centronics标准)分析:仍用PC0作为打印机的选通,打印机的作为8255A的A口,

21、8255A的中断请求信号(PC3)接至系统中断控制器8259A的IR3,其它硬件连线同上例,如图7-15所示。图7-15 中断方式硬件连线1010XXX0 PC6置位: 00001101 即 0DH ,允许8255A的A口输出中断由硬件连线可以分析出,8255A的4个口地址分别为:假设8259A初始化时送ICW2为08H,则8255A A口的中断类型码是0BH,此中断类型码对应的中断向量应放到中断向量表从2CH开始的4个单元中。主程序: MAIN: MOV AL,0A0H设置8255A的控制字 MOV AL,01H ;使选通无效 XOR AX,AX MOV DS,AX MOV AX,OFFSE

22、T ROUTINTR MOV WORD PTR 002CH,AX MOV AX,SEG ROUTINTR MOV WORD PTR 002EH,AX ;送中断向量使8255A A口输出允许中断 MOV DI,OFFSET BUFF ;设置地址指针 MOV CX,99 ;设置计数器初值 MOV AL,DI输出一个字符 INC DI INC AL撤消选通 STI ;开中断NEXT: HLT ;等待中断 LOOP NEXT ;修改计数器的值,指向下一个要输出的字符 HLT中断服务子程序如下:ROUTINTR:MOV AL,DI OUT 00H,AL :从A口输出一个字符 OUT 03H,AL : M

23、OV 03H,AL ; INC DI :修改地址指针 IRET :中断返回思考:是否可以采用A口的作为打印机的选通信号?如可以的话,软件该如何修改?是否可用打印机的BUSY作为8255的A口?1试分析8255A方式0、方式1和方式2的主要区别,并分别说明它们适合于什么应用场合。2当8255A的A口工作在方式2时,其端口B适合于什么样的功能?写出此时各种不同组合情况的控制字。3若8255A的端口A定义为方式0,输入;端口B定义为方式1,输出;端口C的上半部定义为方式0,输出。试编写初始化程序。(口地址为80H83H)4假设一片8255A的使用情况如下:A口为方式0输入,B口为方式0输出。此时连接的CPU为8086,地址线的A1、A2分别接至8255A的A0、A1,而芯片的来自A3A4A5A6A7=00101,试完成8255A的端口地址和初始化程序。第三讲 7.3 微机与键盘的接口微机与键盘的接口及处理方法,.LED显示方法

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1