微机原理与接口技术 第 8 章 并串行通信接口.ppt_第1页
微机原理与接口技术 第 8 章 并串行通信接口.ppt_第2页
微机原理与接口技术 第 8 章 并串行通信接口.ppt_第3页
微机原理与接口技术 第 8 章 并串行通信接口.ppt_第4页
微机原理与接口技术 第 8 章 并串行通信接口.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

微机原理与接口技术,第 8 章 并/串行通信接口,教案,8.1 并行通信接口,8.1.1 并行I/O接口概述 8.1.2 可编程并行I/O接口8255 8.1.3 8255应用例,并行I/O接口,并行通信接口的功能: 数据缓冲/锁存 查询工作状态 选择数据传输方式 发送控制命令 端口寻址和编程,并行I/O接口的数据传输,并行I/O接口的数据传输方式可以采用无条件传输方式、查询方式、中断方式和DMA方式。 并行I/O数据传输采用最多的是查询方式或中断方式。 并行I/O数据的传输过程, 一般都需要应答联络, 彼此确认。一个新的传输过程, 必须在双方对上一个传输过程进行应答之后发生。,并行接口的数据输入过程,并行I/O接口数据输入过程及应答联络信号: 当外设向接口输入数据的同时, 发“数据输入选通”(STB)信号, STB信号可将接口的“READY”状态置位供CPU查询, 或者作为向CPU发出的输入中断请求信号;CPU执行输入(IN)指令的同时, 将“READY”状态复位; “READY”的复位信号可作为向外设发出的“数据输入应答” 信号。,并行接口的数据输出过程,并行I/O接口数据输出过程及应答联络信号: CPU执行输出(OUT)指令的同时, 将接口的 “BUSY” 状态置位, “BUSY”的置位信号可作为向外设发出的“数据输出选通” 信号, 通知外设接收数据;当外设从接口接收到数据后, 向接口发出“数据输出应答”(ACK)信号; ACK信号可将“BUSY”状态复位供CPU查询, 或者作为向CPU的发出的数据输出中断请求信号。,并行I/O接口8255,Intel 8255是一个广泛用于微机系统的可编程并行I/O接口。 8255不需附加外部电路便可和大多数外设直接连接, 使用十分方便。 8255采用40脚双列直插式封装, 有24条并行I/O引脚, 可选择实现4/8/12/16/20/24位并行I/O 。 8255可实现与CPU之间的直接、查询、中断数据传输方式。 8255具有可选择的方式0、方式1、方式2三种工作方式。,8255的内部结构,8255的引脚特性,8255与外设相连的有三个8位数据端口: 端口A(PA7PA0), 端口B(PB7PB0), 端口C(PC7PC)。 8255内部有A组和B组逻辑控制: 分别控制A组(PA7PA0, PC7PC4), B组(PB7PB0, PC3PC0)的工作方式和读/写操作。 8255有D7D0(双向、三态)数据线: 内接一个8位数据缓冲器, 外与系统数据总线相连。 8255有6个读/写控制逻辑引脚: RESET, WR, RD, CS, A1, A0 , 分别接收CPU和译码电路的控制信号, 地址信号。,8255读/写操作的控制逻辑,方式控制字,端口C置位/复位控制字,8255控制字设置例,8255 控制字通过写控制端口的方式设置。 8255 控制字的性质通过特征位区分。 例如, 8255端口地址80H83H (P142)。 MOV AL, 91H OUT 83H, AL ;写控制字91H MOV AL, 0DH OUT 83H, AL ;PC6置1 MOV AL, 08H OUT 83H, AL ;PC4清0,8255的工作方式,8255有三种工作方式: 方式0 基本输入/输出方式, 即直接(不需联络)数据传输。A, B, C端口均可为方式0的输入口或输出口使用。 方式1 选通输入/输出方式, 即需联络的数据传输。方式1的输入或输出, 均需要端口C提供固定的3位联络信号。 方式2 双向传输方式。方式2相当于方式1的输入和输出组合, 需要端口C提供固定的5位联络信号。 8255的端口A可以选择方式0, 方式1, 方式2。 8255的端口B可以选择方式0, 方式1。 8255的端口C 做数据口, 仅可以为方式0 。 (端口C某些位可配合方式1或方式2做联络信号。),8255方式0的工作特点,方式0可以将数据端口A、B、C组合成各种位数的并行I/O接口(多达16种组合)。 各个数据端口均都可用做输入口(缓冲器), 或者输出口(锁存器)。 方式0主要使用在无条件(直接)传送场合。,8255方式0编程例, 端口地址30H33H。 MOV AL, 89H ; A口、B口输出, C口输入 OUT 33H, AL ;写方式控制字 IN AL, 32H ;读C口 NOT AL ;C口数据取反 OUT 30H, AL ;写A口 MOV AL, 0F0H ;取B口数据 OUT 31H, AL ;写B口, 端口地址60H63H。 MOV AL, 88H ;C口高4位输入, 低4位输出 OUT 63H, AL ;写方式控制字 IN AL, 62H ;读C口(高4位) MOV CL, 4 SHR AL, CL ; C口的高4位移到低4位 OUT 62H, AL ;写C口(低4位),8255方式1的联络信号,端口A或端口B采用方式1, 必须由端口C提供联络信号。 方式1输入的联络信号: STB(输入):数据输入选通信号。 IBF(输出):输入缓冲器满信号(可供查询)。 方式1输出的联络信号: OBF(输出):输出缓冲器满信号(可供查询)。 ACK(输入):数据输出应答信号。 方式1输入/输出的中断信号: INTR (输出) :中断请求信号。 INTE (内部输出) :中断允许信号。,方式1联络信号表,8255方式1的工作特点,端口A或端口B可以选择使用方式1, 并可选择各自为输入或输出。在选定的同时, 自动规定了端口C有关的联络、控制和中断请求信号。 若采用方式1中断方式, 必须将相关的INTE置为1, 端口A或端口B才可以使用各自的INTR信号申请中断。 若采用方式1查询方式, 可以通过查询端口A或端口B相关IBF或OBF信号的当前状态, 决定是否能进行数据传输。 若端口A和端口B均选定为方式1, 则需端口C提供6位做联络信号, 剩下的2位还可工作在方式0的输入/出方式。若端口A和端口B中只有一个工作在方式1, 而另一个工作在方式0, 则端口C中有3位作为方式1的联络信号, 端口C其余5位均可工作在方式0的输入/出方式。,8255方式2的工作特点,方式2 是双向传输, 相当于方式1 的输入和输出的组合, 只适用于端口A。外设在端口A 的8位数据线上分时向CPU发送数据或从CPU接收数据。 方式2 需要端口C提供固定的5位, 即端口C的PC7PC3 , 做指定的控制/联络信号。 方式2一般采用中断方式进行数据传输。,8255应用例1,【例8.2】 8255作为采用中断方式的字符打印机接口。 PC3连接中断控制器8259的IR3, 中断类型号为0BH。 8259端口地址:20H, 21H。 8255端口地址:60H 63H。,例8.2 主程序,MOV AL, 0A0H ;A口方式1, 输出, PC0输出 OUT 63H, AL MOV AL, 0DH ;PC6为1, 8255的A口中断允许 OUT 63H, AL MOV AL, 1 ;PC0初始为1, 打印选通信号无效 OUT 62H, AL PUSH DS MOV DX, SEG LPTINT MOV DS, DX MOV DX, OFFSET LPTINT MOV AX, 250BH INT 21H ;设置0BH中断向量表 POP DS,CLI IN AL, 21H AND AL, 0F7H ;开放8259的IR3中断 OUT 21H, AL LEA DI, BUFFER ;DI取打印区BUFFER首地址 STI INT 0BH ;用软件中断指令调用第一个打印 ;中断程序, 做为启动中断之用 ;循环等待并处理打印中断, ;直到打印中断关闭,例8.2 中断子程序,LPTINT PROC FAR PUSH AX ;保护AX现场 MOV AL, DI ;根据DI指针取一个打印字符 INC DI ; DI+1 OUT 60H, AL ;从A口输出打印字符 MOV AL, 0 ;使PC0为0, 产生有效选通信号 OUT 62H, AL INC AL ;使PC0为1, 撤消选通信号 OUT 62H, AL MOV AL, 20H ;发EOI命令 OUT 20H, AL POP AX ;恢复AX现场 IRET LPTINT ENDP,8255应用例2,【例8.3】IBM PC/XT系统板上8253的计数器2的应用。 8253计数器2为方式3,输出约1KHz的方波到扬声器发声。 GATE2由8255的PB0控制,OUT2输出经过与门放大发声。与门的允许/禁止由8255的PB1控制。,例8.3 编程要点, 8255的设置程序已完成,B口为输出。 设置8253的计数器2,让其能输出约1KHz频率的方波。 GATE2由8255的PB0控制,OUT2的输出经过与门,与门由8255的PB1控制。 发声时间用PB1和PB0同时为“1”的时间来控制。设长声时间为3s,短声时间为0.5s。 在需要发声时,以长/短声参数( BL=6或1)做入口参数,调用发声子程序 BEEP 。 8253端口地址:40H43H。8255端口地址:60H63H。,例8.3 发声子程序,BEEP PROC MOV AL, 0B6H ;计数器2为方式3, 16位二进制计数 OUT 43H, AL MOV AX, 0533H ;计数值1331( 0533H ) OUT 42H, AL MOV AL, AH OUT 42H, AL,IN AL, 61H ;读 8255端口B的原值(不发声) MOV AH, AL ;保存在AH OR AL, 03H ;使PB1和PB0为1(其他位不变) OUT 61H, AL ;输出PB1和PB0(扬声器发声) SUB CX, CX ;CX=0, 最大计数值65536 GT: LOOP GT ; “延时”发声 DEC BL JNZ GT ;长声6次“延时” , 短声1次“延时” MOV AL, AH OUT 61H, AL ;恢复端口B的原值(停止发声) RET BEEP ENDP,8255应用实验,【实验5】 开关控制发光二极管显示电路。 8255的端口A接发光二极管组, 端口B接开关组。 8255的端口地址: 60H63H。 1. 采用方式0(直接)的控制: 设置8255方式字(82H) 读B口开关值 送到A口亮/灭发光二极管 无条件转,MOV AL, 82H OUT 63H, AL A1:IN AL, 61H OUT 60H, AL JMP A1,实验5(中断方式),2. 采用方式1(中断)的控制: 用手动触发开关做STBB信号, 引发B端口中断。INTRB (PC0)接8259A的IRQ7端(中断类型号为0FH) 。 8259端口地址:20H21H。,MOV AX, OFFSET IRQ7 MOV 003CH, AX MOV AX, 0 MOV 003EH, AX ;设置IRQ7中断向量表 CLI IN AL, 21H AND AL, 7FH ;设置IRQ7中断开放 OUT 21H, AL MOV AL, 86H OUT 63H, AL ;设置8255方式字 MOV AL, 05H OUT 63H, AL ;设置B口中断允许(PC2=1) A1: STI JMP A1,中断方式程序,IRQ7中断子程序: IRQ7: IN AL, 61H OUT 60H, AL MOV AL, 20H OUT 20H, AL IRET,实验5(查询方式),3. 采用方式1(查询)的控制: 通过查询8255的PC1(IBFB)了解触发开关是否按动。每按动一次触发开关, 读开关组数据, 亮/灭LED发光管组。 MOV AL, 86H ;设置8255方式字(86H) OUT 63H, AL MOV AL, 04H ;设置PC2=0, B口中断屏蔽 OUT 63H, AL A1: IN AL, 62H TEST AL, 02H ;测试PC1(IBFB)= 1 ? JZ A1 IN AL, 61H ;读B口开关值, 并清除IBFB OUT 60H, AL ;亮/灭对应的发光二极管 JMP A1 ;循环,习题8.2,习题8.3,8.2 8255A的端口A,B都定义为方式1输入,则方式控制字是什么?此时,方式控制字中D3,D0两位的作用是什么? 8255A的端口A,B都定义为方式1输入,方式控制字是10110110。由于端口A,B定义为方式1,需要PC5 PC0(6位)配合做方式1的联络信号,此时,方式控制字中D3位表示剩下的PC7和PC6位的输入/出方向,D0位无意义。 8.3 假定8255A的端口A为方式1输入,端口B为方式1输出,端口C的各位是什么含义? PC2 PC0(3位)分别做端口B方式1输出的联络信号ACK,OBF,INTR;PC5 PC3(3位)分别做端口A方式1输入的联络信号STB,IBF,INTR;PC7和PC6(2位)做输入/出。,习题8.4,8.4 对满足下列要求的8255A(端口地址60H63H)初始化设置。 (1)设端口A,B和C均为基本输入/输出方式(输入/输出分别考虑)。 MOV AL,80H ;方式字80H:A口,B口,C口均为方式0输出 ;或9BH(均为输入),或82H,90H. OUT 63H,AL ;设置方式控制字 (2)设端口A为选通输出方式,允许中断,端口B为基本输入方式, 端口C为输出方式。 MOV AL,0A2H ;A口方式1输出,B口方式0输入,C口输出 OUT 63H,AL ;设置方式控制字 MOV AL,0DH ;端口C置/复位字:PC6=1 OUT 63H,AL ;设置A口输出中断允许,即INTE= 1,(3)设端口A为双向方式,允许中断;端口B为选通输出方式,不允许中断。 MOV AL,0C4H ;A口方式2(双向),B口方式1输出 OUT 63H,AL ;设置方式控制字 MOV AL,04H ;端口C置/复位字:PC2=0 OUT 63H,AL ;设置B口输出中断屏蔽,即INTE= 0 MOV

温馨提示

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

评论

0/150

提交评论