1 / 138

第 8 章 串并行通信接口技术

第 8 章 串并行通信接口技术. 8.1 概述 8.2 可编程并行通信接口芯片 8255A 8.3 可编程串行通信接口芯片 8251A 8.4 通用的异步接收发送芯片 8250. 教学目的和要求 1. 掌握并行传输和串行传输的基本概念; 2. 掌握 8255A 和 8250 的基本结构和工作原理; 3. 掌握串行通信的数据格式; 4. 初步学会对 8255A 和 8250 的编程应用。(实验). 第 8 章 串并行通信接口技术. 教学重点 1 . 串、并行接口的特点; 2. 8255A 的工作方式和编程;

cameo
Download Presentation

第 8 章 串并行通信接口技术

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. 第8章 串并行通信接口技术 • 8.1 概述 • 8.2 可编程并行通信接口芯片8255A • 8.3 可编程串行通信接口芯片8251A • 8.4 通用的异步接收发送芯片8250

  2. 教学目的和要求 1.掌握并行传输和串行传输的基本概念; 2.掌握8255A和8250的基本结构和工作原理; 3.掌握串行通信的数据格式; 4.初步学会对8255A和8250的编程应用。(实验)

  3. 第8章 串并行通信接口技术 • 教学重点 1. 串、并行接口的特点; 2. 8255A的工作方式和编程; 3.8255A的方式0和方式1的应用; 4.8250的初始化编程。

  4. 教学难点 1. 8255A方式1、方式2与CPU的连接和应用; 2. 8250与CPU的连接和应用 。

  5. 8.1 概述   微型计算机与I/O设备的接口按照数据传送格式的不同,可分为并行传输接口和串行传输接口两种。

  6. 一、并行传输与串行传输 数据传输的基本方式可分为并行传输与串行传输两种: 并行传输:是指利用多条数据传输线将一个数据的各位同时传送。传输速度快,适用于短距离传输。 串行传输:是指利用一条传输线将数据一位位地顺序传送。通信线路简单,利用网络、电话或电报线路就可实现通信,降低成本,适用于远距离通信,但传输速度相对慢一些。

  7. 二、并行传输的特点 1.以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据。 2.适合于外部设备与微机之间进行近距离、大量和快速的信息交换。 • 例如:微机与并行接口打印机、磁盘驱动器 3.微机系统中最基本的信息交换方法。 • 例如:系统板上各部件之间,接口电路板上各部件之间。

  8. 三、串行传输的特点 1.将数据分解成二进制位用一条信号线,既传送数据信息,又传送控制信息; 2.要求数据格式固定,分为异步和同步数据格式; 3.串行传输中对信号的逻辑定义与TTL不兼容,需进行逻辑关系和逻辑电平转换; 4.串行传送信息的速率需要控制,要求双方约定通信传输的波特率。

  9. 8.2 可编程并行通信接口芯片8255A 一、8255A的主要特性(功能) 1.8255A有两个8位(端口A与端口B)和两个4位(端口C高/低4位)的并行输入/输出端口。 2.端口A有三种工作方式:方式0、方式1、方式2;端口B口有两种工作方式:方式0、方式1;可适应CPU与I /O接口的多种数据传送方式,如无条件传送、查询式传送和中断方式传送等。 3.端口C的使用较特殊,除工作在方式0作为数据端口之外,当工作在方式1和方式2时,它的大部分引脚被用作联络信号,端口C还可以进行按位置位/复位操作。

  10. 二、8255A芯片的引脚信号及其功能 8255A的引脚信号如图8-1所示。它为双列直插式封装,除了电源和地线以外,其外部引脚信号可分为两组,一组是面向CPU的信号,一组是面向外设的信号。

  11. 1.面向CPU一侧的引脚信号 ⑴D7~D0,8位,双向,三态数据线 ⑵RESET,复位信号 ⑶CS*,片选信号 ⑷RD*,读信号 ⑸WR*,写信号 ⑹A1、A0,端口选择信号

  12. 8255A的读/写操作控制

  13. 2.面向外设一侧的引脚信号 • 端口A:PA0~PA7 • A组,支持工作方式0、1、2 • 端口B:PB0~PB7 • B组,支持工作方式0、1 • 端口C:PC0~PC7 • 仅支持工作方式0 • A组控制高4位PC4~PC7 • B组控制低4位PC0~PC3

  14. 功能: • 端口A:PA0~PA7 • 常作数据端口,功能最强大 • 端口B:PB0~PB7 • 常作数据端口 • 端口C:PC0~PC7 • 可作数据、状态和控制端口 • 分两个4位,每位可独立操作 • 控制最灵活,最难掌握

  15. 三、 8255A的内部结构

  16. 四、 8255A工作方式字和编程 • 8255A有两种控制字: • 工作方式选择控制字 • 端口C的按位置位/复位控制字

  17. 1.工作方式选择控制字D7=1

  18. 2.按位置位/复位控制字(D7=0)

  19. 3.关于两个控制字的讨论 • 工作方式命令——指定8255A的3个端口的工作方式,必须初始化。 • 按位置位/复位命令——只对端口C的输出进行控制,可放到初始化程序的任何地方。 • 特征位的设置—— D7=1,为工作方式命令;D7=0为按位置位/复位命令。 • 按位置位/复位命令代码只能写入命令口。

  20. 4. 8255A的初始化编程 • 初始化编程:一个方式控制字 • 采用控制I/O地址:A1A0=11 • 工作过程中:通过数据端口对外设数据进行读写。 • 数据读写利用端口A、B和C的I/O地址,A1A0依次等于00、01、10 • IBM PC/XT机上,端口A、B、C和控制端口的I/O地址为60H、61H、62H和63H。

  21. (1)写入方式控制字:示例 • 要求: • 端口A:方式1输入 • 端口C上半部:输出,端口C口下半部:输入 • 端口B:方式0输出 • 方式控制字:10110001B或B1H • 初始化的程序段: MOV DX,303H ;假设控制端口为303H MOV AL,0B1H ;方式控制字 OUT DX,AL ;送到控制端口

  22. (2)读写数据端口 • 初始化编程后: • 当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据 • 当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备 • 8255A具有锁存输出数据的能力: • 对输出方式的端口同样可以输入 • 不是读取外设数据 • 读取的是上次CPU给外设的数据

  23. 读写数据端口示例: • 利用8255A的输出锁存能力,可实现按位输出控制。 • 例如对输出端口B的PB7位置位的程序段: MOV DX,301H;端口B假设为301H IN AL,DX;读出端口B原输出内容 OR AL,80H;使PB7=1 OUT DX,AL;输出新的内容

  24. (3)读写端口C:归纳1 • 端口C被分成两个4位端口,两个端口只能以方式0工作,可分别选择输入或输出。 • 在控制上,端口C上半部和端口A编为A组,端口C下半部和端口B编为B组。

  25. (3)读写端口C:归纳2 • 当端口A和端口B工作在方式1或方式2时,端口C的部分或全部引脚将被征用。 • 其余引脚仍可设定工作在方式0。

  26. (3) 读写端口C:归纳3 • 对端口C的数据输出有两种办法: • 通过端口C的I/O地址:向端口C直接写入字节数据。这一数据被写进端口C的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效。 • 通过控制端口:向端口C写入位控字,使端口C的某个引脚输出1或0,或置位复位内部的中断允许触发器。

  27. (3)读写端口C:归纳4 • 读取的端口C数据有两种情况: • 未被端口A和端口B征用的引脚:将从定义为输入的端口读到引脚输入信息;将从定义为输出的端口读到输出锁存器中的信息。 • 被端口A和端口B征用作为联络线的引脚:将读到反映8255A状态的状态字。

  28. 五、8255A的工作方式 • 方式0:基本输入输出方式 • 适用于无条件传送和查询方式的接口电路 • 方式1:选通输入输出方式 • 适用于查询和中断方式的接口电路 • 方式2:双向选通传送方式 • 适用于与双向传送数据的外设 • 适用于查询和中断方式的接口电路

  29. 1.方式0 方式0的特点: • 0方式是一种基本输入/输出方式 • 在0方式下,24根I /O线全部由用户支 配 • 不设置专用的联络信号线 • 单向I /O

  30. 2. 方式1 • 方式1为选通输入输出方式,需要专用的联络信号线,该方式通常用于查询(条件)传送,数据的输入输出均有能力。 • 端口A和端口B为数据口,端口C的大部分引脚作专用的联络信号. • 各联络信号线之间有固定的时序关系,传送时,要严格按时序进行 输入/输出操作过程中,产生固定的状态字,这些状态字可作为查询或中断请求字用。状态字从端口C读取。 • 单向传送

  31. PA7~PA0 PC4 INTEA STBA PC5 IBFA PC3 INTRA 中断允许触发器 (1)端口A方式1作输入: 数据选通信号 表示外设已经准备好数据 输入缓冲器满信号 表示A口已经接收数据 中断请求信号 请求CPU接收数据

  32. 数据选通信号 表示外设已经准备好数据 PB7~PB0 PC2 INTEB STBB PC1 IBFB 输入缓冲器满信号 表示A口已经接收数据 PC0 INTRB 中断请求信号 请求CPU接收数据 中断允许触发器 端口B方式1作输入:

  33. 方式1输入联络信号定义 • STB*——选通信号,低电平有效: 由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器。 • IBF——输入缓冲器满信号,高电平有效: 8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器。 • INTR——中断请求信号,高电平有效: 8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据。 • INTE ——中断允许信号,高电平有效:  用于控制中断允许或中断屏蔽。

  34. 8255A方式1作输入时的各联络信号对应关系

  35. (2)8255A工作在方式1下的输入时序

  36. PA7~PA0 PC6 INTEA ACKA PC7 OBFA PC3 INTRA 中断允许触发器 (3)端口A方式1作输出: 外设响应信号 表示外设已经接收到数据 输出缓冲器满信号 表示CPU已经输出了数据 中断请求信号 请求CPU再次输出数据

  37. 外设响应信号 表示外设已经接收到数据 PB7~PB0 PC2 INTEB ACKB PC1 OBFB 输出缓冲器满信号 表示CPU已经输出了数据 PC0 INTRB 中断请求信号 请求CPU再次输出数据 中断允许触发器 端口B方式1作输出:

  38. 方式1输出联络信号 • OBF*——输出缓冲器满信号,低有效 • 8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走 • ACK*——响应信号,低有效 • 外设的响应信号,指示8255A的端口数据已由外设接受 • INTR——中断请求信号,高有效 • 当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据

  39. 8255A方式1作输出时的各联络信号对应关系

  40. (4)8255A工作在方式1下的输入时序

  41. 3. 方式2(双向选通方式) • 方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据 • 只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同 • 方式2的数据输入过程与方式1的输入方式一样 • 方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据

  42. PA7~PA0 PC6 INTE1 ACKA PC7 OBFA PC4 STBA INTE2 PC5 IBFA PC3 INTRA (1)方式2的信号定义 用PC6设置INTE1(输出) 用PC4设置INTE2(输入) 输入和输出中断通过 或门输出INTRA信号

  43. (2)8255A工作在方式2下的工作时序

  44. 六、8255A的应用 1.开关量的检测 例【8-3】在工业控制过程中,经常需要检测某些开关的状态。例如,在某一系统中,有8个开关K7~K0,要求不断地检测它们的通断状态,并随时在发光二极管上显示。通过8255A的端口A读入开关状态信息,使端口B、端口C连接的发光二极管的状态与端口A开关状态相呼应,并重复执行。假设8255A在系统中端口A、B、C及控制口的地址分别为100H,101H,102H,103H,试设计出硬件电路图,并编写程序。

  45. 解:(1) 硬件电路如图8-11所示:

  46. (2) 相应的8255A初始化程序为: MOV DX,103H ;控制寄存器的地址送给DX MOV AL, 90H ;控制字 OUT DX, AL ;写入控制字 L1: MOV DX,100H ;端口A 地址的送给DX IN AL,DX ;从端口A读入开关状态 MOV DX,101H ;指向端口B OUT DX,AL ;从端口B输出,控制LED XORAL,0FFH ;AL← AL取反 MOVDX,102H ;端口C 的地址送给DX OUTDX,AL ;从端口C输出 JMP L1 ;循环

  47. 2.步进电机控制 例【8-4】利用Intel 8255A对四相步进电机进行控制,如图8-12所示。如果对步进电机施加一定规则的连续控制的脉冲电压,它可以连续不断地转动。每相的脉冲信号控制步进电机的某一相绕阻,若按照某一相序改变一次绕组的通电状态,对应转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行。常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A-…),双(双绕组通电)四拍(AB-BC-CD-DA-AB-…),单双八拍(A-AB-B-BC-C-CD-D-DA-A-…)等等。按正

  48. 序方向送电则正转,按反序方向送电则反转,本例采用双四拍通电方式控制步进电机正转运行。通过改变脉冲信号的频率,就可改变步进电机的转速。利用Intel 8255A的PA3~ PA0各控制一相,端口A工作在方式0的输出。三态缓冲器74LS244的恒接地,该芯片处于直通状态,74LS244用作对三极管TIP122的驱动。步进电机控制的相序和对应的控制字如表8-5所示。假设8255A的端口地址为300H,301H,302H,303H,试编写连续正转的控制程序。

  49. 表8-5 步进电机相序和控制编码

More Related