1 / 56

本章 重点 : 1 、并行接口特点 2 、并行接口芯片 8255 ( 1 )内部、外部特性 ( 2 )工作方式 ( 3 )初始化编程 3 、 8255 的应用 ( 1 )硬件接口

本章 重点 : 1 、并行接口特点 2 、并行接口芯片 8255 ( 1 )内部、外部特性 ( 2 )工作方式 ( 3 )初始化编程 3 、 8255 的应用 ( 1 )硬件接口 ( 2 )软件编程. 并行接口概述. 并行通信就是把 一个字符的各数位 用几条数据线 同时进行传输 。 与 串行通信相比 ,并行通信的信息传输 速度快 ,但并行通信比串行通信 所用电缆多 ,随着距离的增加,电缆的开销会成为突出的问题。 所以,并行通信总是 用在 数据 传输率要求较高 ,而 传输距离较短 的 场合 。. 并行接口概述.

marty
Download Presentation

本章 重点 : 1 、并行接口特点 2 、并行接口芯片 8255 ( 1 )内部、外部特性 ( 2 )工作方式 ( 3 )初始化编程 3 、 8255 的应用 ( 1 )硬件接口

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 本章重点: • 1、并行接口特点 • 2、并行接口芯片8255 • (1)内部、外部特性 • (2)工作方式 • (3)初始化编程 • 3、8255的应用 • (1)硬件接口 • (2)软件编程

  2. 并行接口概述 • 并行通信就是把一个字符的各数位用几条数据线同时进行传输。 • 与串行通信相比,并行通信的信息传输速度快,但并行通信比串行通信所用电缆多,随着距离的增加,电缆的开销会成为突出的问题。 • 所以,并行通信总是用在数据传输率要求较高,而传输距离较短的场合。

  3. 并行接口概述 • 并行接口就是实现并行通信的接口电路,并行接口在多根数据线上,以字节/字为单位与I/O设备交换数据。 并行接口可以只作为输出接口,也可以只作为输入接口,或既作为输入接口又作为输出接口。 • 计算机内部数据是并行传送的,不需要固定格式(协议),因此并行接口电路相对简单。 • 可以采用两类芯片设计并行接口电路: • 普通的锁存器、缓冲器 • 可编程并行接口芯片,如8255

  4. 并行接口连接外设的示意图 并行接口概述

  5. 并行接口概述 8位三态缓冲器74LS244,由G1和G2控制选通。 • 电阻的作用? 并行接口设计实例——开关状态输入接口电路 10K x 8 +5V 数据总线 74LS244 G1 G2 CS RD

  6. 并行接口概述 8位三态锁存器74LS373,由LE控制锁存,OE控制选通 并行接口设计实例——发光二极管输出接口电路 +5V 300x 8 数据总线 74LS373 LE OE CS WR

  7. 并行接口芯片8255 一、8255的内部结构及其功能 1、8255的引脚 参见下图。共有40条引线。电源与地线2条;与外设相连的有24条;与CPU相连的有14条。

  8. 8255引脚和功能示意图

  9. 8255引脚及功能 2、8255的功能 • 如上图所示,接口的左边与CPU连接,右边与外设连接,有A、B、C三个8位端口,而C口可分成两个4位的端口。 • 每个端口都可以通过编程设定为输入端口或输出端口,但有各自不同的方式和特点。 • 端口C可以独立使用,但通常是配合端口A和端口B工作,为这两个端口的输入输出提供联络信号。

  10. 二、8255A的内部结构方块图

  11. 二、8255A的内部结构方块图 8255A由以下几部分组成。 1、数据总线缓冲器 这是一个8位双向三态数据缓冲器,是8255A与CPU 之间的数据接口。 2、并行输入输出端口A、端口B、端口C • 端口A和端口B是一样的8位端口,可以作为输入口或输出口,并有数据锁存功能。 • 端口C作为输入口时,对数据不锁存,而作为输出口时,对数据进行锁存。 • 端口C可以独立作为输入或输出端口,也可分成两个4位的端口,分别用来为端口A和端口B提供控制和状态信息。

  12. 二、8255A的内部结构方块图 3、A组控制和B组控制 • 端口A与端口C的高4位(PC7-PC4)构成A组,端口B与端口C的低4位(PC3-PC0)构成B组。 • 他们各有一个控制单元接收来自读写控制部件的命令和CPU通过数据总线送来的控制字,并根据控制字来定义各端口的操作方式。 4、读写控制部件 该部件用于接收CPU的控制命令,根据这些命令向片内各功能部件发出操作命令。 共有6个信号,CS是片选信号,通常由高位地址译码产生 ;RD和WR是CPU来的读写信号;RESET是复位信号,复位后,清除所有寄存器内容,并将各端口置成输入方式;A1、A0为地址信号,用于选择8255内部的端口。

  13. 8255A的操作

  14. 8255的控制字 8255A可通过指令在控制端口中设置控制字来决定它的工作方式。其控制字可分为两类: 方式选择控制字 它可使8255A的3个数据端口工作在不同的工作方式。 方式选择控制字总是将3个数据端口分为两组来决定工作方式,即端口A和端口C的高4位为1组,端口B和端口C的低4位为1组。 端口C按位置0/置1控制字 它可使端口C中的任何一位进行置位或复位。 这两类控制字通过控制端口的最高位即D7位为0或1来区别。方式选择控制字的最高位为1,而端口C置1/置0的控制字最高位为0。

  15. 8255的控制字 方式选择控制字

  16. 8255的控制字 端口C按位置0/置1控制字 注意:C口控制字虽然是对端口C操作,但应写入到控制口地址,而不是写入到C数据口

  17. 8255的控制字 例1:设 A、B、C数据口地址分别位60H、 61H、62H、控制口端口地址 63H。A口方式0,输出、B口方式0,输入,C口高4位输出,C口低4位输入 MOV AL,10000011B OUT 63H,AL 例2:PC7置1,PC3置0 MOV DX,63H MOV AL,0000,1111B;PC7置1 OUT DX,AL MOV AL,0000,0110B;PC3置0 OUT DX,AL

  18. 8255的工作方式 1. 工作方式0:基本型输入/输出方式 A口、B口、上C口、下C口都可以独立设置作为输入或输出使用。 适合用于无条件或程序查询方式I/O传送。 2. 工作方式1:选通型(应答型)输入/输出方式 A口、B口可以分别作为数据口工作在方式1。 需要使用C口中特定的引脚作为选通和应答使用。 适合用于中断式传送和程序查询方式I/O传送。 3. 工作方式2:双向数据传送方式 只有A口可以工作在方式2。 相当于是A口工作在方式1的输入和输出的叠加

  19. 方式 0 —— 基本输入输出 • 功能:A、B、C端口可单独工作于输入或输出,共有十六种组态 • 电特性:作输出用, 各端口有锁存功能 作输入用, 各端口无锁存功能 • 应用:程序控制下的无条件传送方式(查询方式) A、B、C端口均传送数据信息 程序控制下的有条件传送方式 A、B端口传送数据, C端口传送状态

  20. 方式0的等效电路 8 三态缓冲器 数据总线 8 地址总线 地址译码器 数据来自外设 CE 8 数据总线 & IO/ M 输入方式 锁存器 8 地址总线 RD 地址译码器 到外设 CE & IO/ M WR 输出方式

  21. D0 PB0 +5V D1 PB1 8255A D7 PB7 例:8255A接口电路如下图所示: • 已知8255A控制字寄存器的端口地址为103H,编写8255A初始化程序和循环彩灯控制程序。初始时D7亮,其余不亮,D7亮1秒后移位一次,D6亮,其余不亮,依此类推每隔一秒移位一次,每移位8次为一循环,共循环8次。要求用汇编语言写出满足上述要求的程序段(已知延时程序为DELAY1S)

  22. MOV AL,10000000B ;B口方式0输出 • MOV DX,103H • OUT DX,AL ;控制字初始化 • CLC • MOV CX,8 • MOV DX,101H ;B口地址 • AGN: MOV AL,10000000B • AGN1:OUT DX,AL • CALL DELAY1S ;调用延时子程序 • SHR AL,1 • JNC AGN1 ;CF=0转AGN1,逐一移位 • LOOP AGN

  23. 为某系统设计一个并行打印机接口CPU通过查询方式把BUF缓冲区的数据送给打印机。为某系统设计一个并行打印机接口CPU通过查询方式把BUF缓冲区的数据送给打印机。 • 2、分析 • (1)打印机的信号及时序

  24. (2)采用查询方式CPU与打印机的数传过程: • ①首先查询BUSY。BUSY=1,打印机忙,等待;BUSY=0,可以传数据。 • ②通过并行接口把数据送给标准插座DATA BITl—DATA BIT8数据线上,此时数据并未进入打印机。 • ③再送出一个数据选通信号 /DATA STROBE(负脉冲)给标准插座的1号引脚,把数据线上的数据打人到打印机的内部缓冲器。 • ④打印机在收到数据后,通过插座的11号引脚发出“忙”(BUSY=1)信号,表明打印机正在处理输入或执行完1个功能操作),打印机的数据。等到

  25. 输入的数据处理完毕(打印完1个字符撤消“忙”信号,即置BUSY=0。输入的数据处理完毕(打印完1个字符撤消“忙”信号,即置BUSY=0。 • ⑤最后在10号引脚上送出一个回答信号ACK绐主机,表示上一个字符已经处理完毕。 如此重复工作,直到把全部字符打印出来。 • 3、设计 • 接口电路的设计包括硬件接口电路和软件驱动稍序两部分。 • ①打印机接口电路。打印机接口电路原理框图如图7.3所示。

  26. ②接口驱动程序。打印机驱动程序的流程是根据打印接口标准的时序要求拟定的,其程序框图如图7.4所示。②接口驱动程序。打印机驱动程序的流程是根据打印接口标准的时序要求拟定的,其程序框图如图7.4所示。 • 驱动程序的程序段如下: • CODE SEGMENT • ASSUME CS:CODE,DS:CODE • ORG l00H START:MOV AX,CODE • MOV CS,AX • MOV DS,AX

  27. MOV DX,303H ;8255A命令口 • MOV AL,1000000lB ;工作方式字 • OUT DX,AL ;(A口0方式输出,C4-C7输出, ;C0-C3输入) • MOV AL,00001111B ;PC7位置高,使/STB=1 • OUT DX,AL • MOV SI,OFFSET BUF ;打印字符的内存首址 • MOV CX,0FFH ;打印字符个数 L:MOV DX,302H ;PC口地址 IN AL,DX ;查BUSY

  28. AND AL,04H • JNZ L 忙,则等待;不忙,则向A口送数 • MOV DX,300H ;PA口地址 • MOV AL,[SI] ;从内存取数 • OUT DX,AL · ;送数到All • MOV DX,303H ;8255A命令口· • MOV AL,00001110B ;置STB信号为低;(PC7=0) • OUT DX,AL • NOP ;负脉冲宽度(延时) • NOP

  29. MOV AL,00001111B ; 置/STB为高 ;(PC7=1) • OUT DX,AL • INC SI ;内存地址加1 • DEC CX ; 字符数减1 • JNZ L ;未完,继续 • MOV AX,4000H ;已完,退出 • INT21H • BUF DB 256个ASCII字符代码 , • CODE ENDS • END START

  30. 方式 1 —— 选通输入输出 • 功能A、B端口作 8 位数据输入或 输出 C端口的特定位为A、B端口服务 • 电特性作输出用时, A、B端口有锁存功能 作输入用时, A、B端口有缓冲功能 • 应用A、B端口传数据 查询方式:C端口特定位传送状态 中断方式:C端口特定位发中断请求

  31. 方式1下输入端口的联络信号 A口方式1输入控制字 B口方式1输入控制字 1 0 1 1 D7~D0 1 1 1 D7~D0 PA7~PA0 PB7~PB0 INTEA PC4 INTEB PC2 PC4 STBA PC2 STBB PC5 IBFA PC1 IBFB 与门 与门 PC3 INTRA RD PC0 INTRB RD IBFB INTRB STBA IBFA INTRA STBB PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 B口方式1输入时相应的联络信号 A口方式1输入时相应的联络信号

  32. ① STB:选通信号(低电平有效) • STB、IBF、INTE均为1时,8255A自动发出INTR。 方式1下输入端口的联络信号 • 由外设发出,送给8255A • 作用是将外设送来的数据锁存到8255A的输入端口。 ② IBF:输入缓冲器满信号(高电平有效) • 8255A 发出,表示外设送来的数据已进入输入端口。 • 当外设送来的数据送入输入端口后,8255A自动发出IBF。 ③ INTR:中断申请信号(高电平或上升沿有效) • 8255A 发出,用来向CPU发出中断申请。

  33. 方式1下输入端口的联络信号 ④INTE:中断允许控制信号 • 作用是控制是否允许8255A的中断申请信号INTR发出。 • 此信号无引出,通过控制口对C口相应位的置位/复位,设置允许或不允许。 • A口,对PC4置位, 使INTEA=1, 允许中断 对PC4复位, 使INTEA=0, 不允许中断 • B口,对PC2置位, 使INTEB=1, 允许中断 对PC2复位, 使INTEB=0, 不允许中断 • 在方式1下,作为联络信号的外部引脚PC4、PC2,不受C口按位置位/复位控制字控制,而只在8255A内部对INTE信号起作用

  34. 方式1下输出端口的联络信号 A口方式1输出控制字 B口方式1输出控制字 1 0 1 0 D7~D0 1 1 0 D7~D0 PA7~PA0 PB7~PB0 INTEA PC6 INTEB PC2 PC7 OBFA PC1 OBFB PC6 ACKA PC2 ACKB 与门 与门 PC3 INTRA WR PC0 INTRB WR OBFB INTRB OBFA ACKA INTRA ACKB PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 A口方式1输出时相应的联络信号 B口方式1输出时相应的联络信号

  35. ① OBF:输出缓冲器满信号(低电平有效) ② ACK:外设响应信号(低电平有效) • 当OBF 、ACK、INTE均为1时,8255A自动发出INTR 方式1下输出端口的联络信号 • 当数据送至8255A输出缓冲器后,8255A自动发出。 • 表示CPU送来的数据已进入8255A输出端口,可用来通知外设把数据取走。 • 由外设发出,送给8255A。 • 作用是通知 8255A,输出端口的数据已被外设取走,可以传送下一个数据。 • ③ INTR:中断申请信号(高电平或上升沿有效) • 8255A 发出, 用来向CPU发出中断申请。

  36. 方式1下输出端口的联络信号 ④ INTE:中断允许控制信号 • 作用是控制是否允许中断申请信号INTR发出 • 此信号无引出,通过控制口对C口相应位的置位/复位设置允许或不允许。 • A口,对PC6置位, 使INTEA=1, 允许中断 对PC6复位, 使INTEA=0, 不允许中断 • B口,对PC2置位, 使INTEB=1, 允许中断 对PC2复位, 使INTEB=0, 不允许中断 • 在方式1下,作为联络信号的外部引脚PC6、PC2,不受C口按位置位/复位控制字控制,而只在8255A内部对INTE信号起作用。

  37. 方式 2 —— 双向输入输出 • 功能 仅A端口具有双向数据传送功能 C端口特定位的组合应用 • 电特性A端口具有双向锁存和缓冲特性 • 应用 A端口双向传送数据 查询方式:C端口特定位传送状态 中断方式:C端口特定位发中断请求

  38. D7~D0 PA7~PA0 INTEA1 PC4 与 门 PC4 STBA RD PC5 IBFA INTEA2 PC6 与 门 PC6 ACKA PC7 WR OBFA PC3 INTRA 或门 方式2输入/输出端口的联络信号 • 工作在方式2时,C口有5根引脚作为A口的联络信号,是方式1下A口输入、输出联络信号的组合

  39. A端口、B端口方式 1 比较 • A端口输入借用C端口位PC3 、PC4 、 PC5 A端口输出借用C端口位PC3 、PC6 、 PC7 B端口输入借用C端口位PC0 、PC1 、 PC2 B端口输出借用C端口位PC0 、PC1 、 PC2 • A端口输入、输出借用不同的C端口的位 B端口输入、输出借用相同的C端口的位 • B端口只有方式 1选通输入/输出 A端口还有方式 2双向数据传送

  40. C端口未借用位的使用 • A端口方式 0、B端口方式 0 C端口所有位未被借用,PC0 ~ PC7 可用 • A端口方式 0、B端口方式 1 PC0 ~ PC2被借用,PC3 ~ PC7可用 • A端口方式 1输入、B端口方式 0 PC3、PC4、PC5被借用,PC0 ~ PC2、PC6、PC7 可用 • A端口方式 1输出、B端口方式 0 PC3、PC6、PC7 被借用,PC0 ~ PC2、PC4、PC5 可用 • A端口方式 1输入、B端口方式 1 PC6、PC7 可用 • A端口方式 1输出、B端口方式 1 PC4、PC5 可用 • A端口方式2、B端口方式1;都不可用

  41. 例:8255A用作A/D、D/A的接口 8255用作A/D、D/A接口电路,占用的端口地址分别为300H~303H

  42. D7~D0 PA7~PA0 INTEA PC4 PC4 STBA PC5 IBFA 与门 PC3 INTRA RD 通道工作方式 • 通道选用 A端口方式1输入, 用于A/D变换的数据输入接口 B端口方式0输出, 用于D/A变换的数据输出接口 C端口中的位:1、为A端口服务;2、作控制信号 • I/O接口的控制方式 输入(A端口) 采用查询方式 输出(B端口) 采用无条件程控方式 C端口为位操作方式

  43. 通道控制 • 8255A对A/D芯片的控制 PC7=H,启动A/D变换;PC7=L,停止A/D变换 PC4(/STBA)=L,A/D变换后的数据送A口锁存 PC5( IBFA)=H,A口已锁存A/D变换后的数据 注:查询状态信息PC5=H,下一步完成读A/D数据 • 8255A对D/A芯片的控制 B端口工作于方式 0 输出, 为直接数据输出

  44. 控制字设置 A端口方式 1 输入D6D5D4 = 011 B端口方式 0 输出D2D1 = 00 C端口PC7输出D3 = 0 • 写方式控制字编程 MOV AL,10110000B MOV DX,303H OUT DX,AL • 方式控制字

  45. 启动/停止A/D转换 • 完成A/D变换过程编程 • 启动A/D,即置 PC7 = H MOV DX,303H MOV AL,00001110B OUT DX,AL • MOV DX,303H • MOV AL,00001111B • OUT DX,AL • 停止A/D,即清PC7 = L

  46. A/D转换状态查询及读结果 • 查询PC5,完成A/D变换数据读入A端口 MOV DX,302H ;C端口R/W地址为302H AG:IN AL,DX ;C端口数据读入 AL TEST AL,00100000B ;测PC5位是否为0 JZ AG ;为 0 循环查询,为 1 继续 MOV DX,300H ;A端口R/W地址为300H IN AL、DX; A/D变换数据读入 AL

  47. D/A转换 • 完成B端口D/A变换数据输出编程 ;数据处理过程略 MOV DX,301H ;B端口R/W地址为301H OUT DX,AL ; B端口数据送D/A变换器

  48. 例:8255A打印机接口 设8255A的端口地址分别为0C0H、0C2H、0C4H和0C6H,A口为方式1输出

More Related