第八章并行通信与串行通信_第1页
第八章并行通信与串行通信_第2页
第八章并行通信与串行通信_第3页
第八章并行通信与串行通信_第4页
第八章并行通信与串行通信_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

1、微微 机机 原原 理理 与与 接接 口口第八章:并行通信和串行通信第八章:并行通信和串行通信皖西学院计算机系皖西学院计算机系并行通信和串行通信并行通信和串行通信并行接口并行接口可编程并行接口芯片可编程并行接口芯片8255A串行通信串行通信可编程串行接口芯片可编程串行接口芯片8251A第八章:并行通信和串行通信第八章:并行通信和串行通信 并行通信和串行通信并行通信和串行通信 并行接口并行接口 可编程并行接口芯片可编程并行接口芯片8255A 串行通信串行通信 可编程串行接口芯片可编程串行接口芯片8251A第八章:并行通信和串行通信第八章:并行通信和串行通信在计算机领域中有两种数据通信方式:在计算机

2、领域中有两种数据通信方式:串行通信和并行通信串行通信和并行通信。并行通信:并行通信:数据在多条并行数据在多条并行1 1位宽的传输线上同时由源传送到目的位宽的传输线上同时由源传送到目的。以以1 1字节字节的数据为例,在并行传送中,的数据为例,在并行传送中,1 1字节的数据通过字节的数据通过8 8条并行传输线同时由源传送条并行传输线同时由源传送到目的。到目的。串行通信:串行通信:数据在单条数据在单条1位宽的传输线上,一位一位地按顺序分时传送。以位宽的传输线上,一位一位地按顺序分时传送。以1字节为例,字节为例,在串行传送中,在串行传送中,1 1字节的数据要通过一条传输字节的数据要通过一条传输 线分线

3、分8 8次由低位到高次由低位到高位按顺序一位一位地传送位按顺序一位一位地传送。源目的T80 1 1 0 1 0 1 0源01101010目的011010100D7D距离:距离:并行并行近距离传送(通常小于近距离传送(通常小于30米)米) 串行串行远距离传送(几米远距离传送(几米数千公里)数千公里)速度:速度:并行快得多。并行快得多。第八章:并行通信和串行通信第八章:并行通信和串行通信 并行通信和串行通信并行通信和串行通信 并行接口并行接口 可编程并行接口芯片可编程并行接口芯片8255A 串行通信串行通信 可编程串行接口芯片可编程串行接口芯片8251A实现并行通信的接口就是并行接口。实现并行通信

4、的接口就是并行接口。输入输入/ /输出固定的并行接口(输出固定的并行接口(74LS244 / 74LS37374LS244 / 74LS373等)等)输入输入/ /输出可变的可编程并行接口(输出可变的可编程并行接口(8255A8255A等)等) 对于第一类并行接口,芯片内部只有数据缓冲或锁存器,没有控制寄存器对于第一类并行接口,芯片内部只有数据缓冲或锁存器,没有控制寄存器或状态寄存器。结构简单,使用不灵活或状态寄存器。结构简单,使用不灵活 对于第二类并行接口,芯片内含有控制寄存器或状态寄存器,可通过指令对于第二类并行接口,芯片内含有控制寄存器或状态寄存器,可通过指令控制接口的工作方式。结构复杂

5、,使用灵活。控制接口的工作方式。结构复杂,使用灵活。第八章:并行通信和串行通信第八章:并行通信和串行通信第八章:并行通信和串行通信第八章:并行通信和串行通信 并行通信并行通信 并行接口并行接口 可编程并行接口芯片可编程并行接口芯片8255A 串行通信串行通信 可编程串行接口芯片可编程串行接口芯片8251A第八章:并行通信和串行通信第八章:并行通信和串行通信概述概述 Intel8255A是一种通用的可编程序并行是一种通用的可编程序并行I/O接口芯片,又称接口芯片,又称“ “可编程外可编程外设接口芯片设接口芯片” ”,是为,是为Intel8080/8085系列微处理据设计的,也可用于其系列微处理据

6、设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过通过8255A,CPU可直接同外设相连接,是应用最广的并行可直接同外设相连接,是应用最广的并行I/O接口芯接口芯片。片。 含含3个独立的个独立的8位并行输入位并行输入/输出端口,各端口均具有数据的控制和输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入入/出出/双向双向)。第八章:并行通信和串行通信第八章:并行通信和串行通信去去CPU去外设去外设8255A的内

7、部结构的内部结构第八章:并行通信和串行通信第八章:并行通信和串行通信8255A的内部结构的内部结构 数据总线缓冲器:数据总线缓冲器:三态三态8位双向缓冲器,与系统数据总线连接的位双向缓冲器,与系统数据总线连接的缓冲部件;传送数据、控制字、状态字的通道。缓冲部件;传送数据、控制字、状态字的通道。 3个个8位数据端口位数据端口(PA、PB、PC):PA口与口与PB口用作输入口用作输入/出的出的数数据端口据端口,PC口也可用作数据传输(口也可用作数据传输(高低高低4位可分别设置为输入位可分别设置为输入/输出输出)或作为联络信号)或作为联络信号,配合配合PA和和PB口使用(口使用(状态端口状态端口)。

8、 A组、组、B组控制:组控制:这两组控制电路根据这两组控制电路根据CPU发出的控制命令来控发出的控制命令来控制制8255A的工作方式(的工作方式(控制端口控制端口)。)。1. 读读/写控制逻辑:写控制逻辑:用来管理数据输入和输出、并负责控制用来管理数据输入和输出、并负责控制CPU向向控制端口发送命令。控制端口发送命令。第八章:并行通信和串行通信第八章:并行通信和串行通信8255A的引脚功能的引脚功能DIP封装,共封装,共40个引脚。个引脚。1. 连接系统总线的主要引脚连接系统总线的主要引脚D0D7:数据线,连数据线,连CPU数据总线;数据总线;RESET:复位输入,接系统总线的复位输入,接系统

9、总线的RESET; CS:片选信号,接译码器;片选信号,接译码器;RD:读命令输入,接读命令输入,接CPU的的RD;WR:写命令输入,接写命令输入,接CPU的的WR;A0,A1:片内端口地址选择,根据片内端口地址选择,根据A0和和A1可可分别对芯片内的分别对芯片内的4个端口进行读写操作。个端口进行读写操作。WRD0D1D2D3D4D5D6D7VCCPB7RDCSGNDA1A0PA4PA5PA6PA7PB5PB6PB4PB3RESETPB1PB2PB0PC3PC2PC1PC0PC4PC5PC6PC7PA3PA2PA1PA05110153540302521第八章:并行通信和串行通信第八章:并行通信

10、和串行通信8255A的引脚功能的引脚功能A1、A0端口选择情况,见右表端口选择情况,见右表 由由CSCS、A1A1、A0A0、RDRD、WRWR引脚的不引脚的不同组合,实现各种不同的功能。见下表:同组合,实现各种不同的功能。见下表:A1 A0端口端口0 00 11 01 1ABC控制口控制口CS A1 A0 RD WR功功 能能 0 0 0 0 1对端口对端口A 读读 0 0 1 0 1对端口对端口B 读读 0 1 0 0 1对端口对端口C 读读0 1非法,不能对控制口读非法,不能对控制口读输输入入0对端口对端口A 写写0对端口对端口B 写写0对端口对端口C 写写0对控制口对控制口写写输输出出

11、 1 1 1数据缓冲器为数据缓冲器为三态三态断断开开 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 第八章:并行通信和串行通信第八章:并行通信和串行通信8255A的引脚功能的引脚功能2. 连接外设端的引脚连接外设端的引脚PA0PA7:A口数据线,接外设;口数据线,接外设;PB0PB7:B口数据线,接外设;口数据线,接外设;PC0PC7:C口数据线或联络线,接外设口数据线或联络线,接外设或或CPU。WRD0D1D2D3D4D5D6D7VCCPB7RDCSGNDA1A0PA4PA5PA6PA7PB5PB6PB4PB3RESETPB1PB2PB0PC3PC2PC1PC0

12、PC4PC5PC6PC7PA3PA2PA1PA05110153540302521第八章:并行通信和串行通信第八章:并行通信和串行通信8255A的工作方式的工作方式方式方式0基本输入基本输入/输出方式(输出方式(A、B、C口)口)方式方式1选通工作方式(选通工作方式(A、B口)口)方式方式2双向选通传送方式(仅双向选通传送方式(仅A口)口) 某端口工作于哪一种方式,可通过软件编程来指定。即向某端口工作于哪一种方式,可通过软件编程来指定。即向8255的控制口写入方式控制字来决定其工作方式。的控制口写入方式控制字来决定其工作方式。第八章:并行通信和串行通信第八章:并行通信和串行通信8255A的工作方

13、式的工作方式方式方式0(基本输入基本输入/输出方式输出方式) 特点:特点:(1)8255A相当于三个独立的相当于三个独立的8位数据口。位数据口。(2)各端口既可设置为输入口,也可设置为输出口,但不能同)各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出。时实现输入及输出。(3)C端口即可以是一个端口即可以是一个8位的简单接口,也可以分为两个独位的简单接口,也可以分为两个独立的立的4位端口。位端口。(4)设置为输出口时有锁存能力,设置为输入口有缓冲能力。)设置为输出口时有锁存能力,设置为输入口有缓冲能力。 适用于:适用于:无条件输入输出方式。无条件输入输出方式。第八章:并行通信和

14、串行通信第八章:并行通信和串行通信8255A的工作方式的工作方式方式方式0(基本输入基本输入/输出方式输出方式) IN AL, 8255数据端口地址数据端口地址 ;读操作读操作外设将数据送到外设将数据送到8255输入缓冲器中;输入缓冲器中;CPU给出有效的给出有效的8255地址;地址;CPU发读命令,将发读命令,将8255A输入缓冲器中数据读入输入缓冲器中数据读入CPU的的AL寄存器中。寄存器中。 OUT 8255数据端口地址数据端口地址, AL ;写操作写操作 CPU给出有效的给出有效的8255地址;地址; CPU发写命令,将发写命令,将CPU的的AL寄存器中数据写入寄存器中数据写入8255

15、A输出锁存器中。输出锁存器中。外设通过输出锁存器将数据取走外设通过输出锁存器将数据取走第八章:并行通信和串行通信第八章:并行通信和串行通信8255A的工作方式的工作方式方式方式1(选通工作方式选通工作方式) 利用一组选通控制信号控制利用一组选通控制信号控制A端口和端口和B端口的数据输入输出。端口的数据输入输出。特点:特点: A、B口作输入或输出口,口作输入或输出口,C口分为两部分,其部分位(口分为两部分,其部分位(6位)固定用位)固定用作作A口、口、B口的联络信号。口的联络信号。C口的剩余位仍可作数据位使用。口的剩余位仍可作数据位使用。A口、口、B口在作为输入和输出时,口在作为输入和输出时,C

16、口提供的联络信号不同。口提供的联络信号不同。方式方式1的应用:的应用: 主要用于查询或中断控制方式下的输入输出。主要用于查询或中断控制方式下的输入输出。说明:说明:C口除部分位用作联络信号外,其余位口除部分位用作联络信号外,其余位(2位位)可工作在方式可工作在方式0下,下,作作 为输入或输出线。为输入或输出线。第八章:并行通信和串行通信第八章:并行通信和串行通信8255A的工作方式的工作方式方式方式1(选通工作方式选通工作方式)A或或B口设为方式口设为方式1输入输入 C口提供的联络信号:口提供的联络信号:选通信号选通信号(STB): 由外设输入。由外设输入。=0时,时,将外设数据送入将外设数据

17、送入8255的输入锁存器。的输入锁存器。 A组组对应对应PC4;B组对应组对应PC2。输入锁存器满信号输入锁存器满信号(IBF): 由由8255A输出。输出。=1时,表示锁存器中有未取走的数据,时,表示锁存器中有未取走的数据, CPU用用IN指令取走数据后,此信号被清指令取走数据后,此信号被清 除。除。 A组对应组对应PC5;B组对应组对应PC1。PA7PA7PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAIBFIBFA AINTRINTRA AD7D7D0D0输入设备输入设备(到到CPU)RDASTBPB7PB7PB0PB0PC2PC2PC1PC1PC0PC0INTEBI

18、NTEBD7D7D0D0IBFIBFB BINTRINTRB B输入设备输入设备(到到CPU)RDBSTB第八章:并行通信和串行通信第八章:并行通信和串行通信8255A的工作方式的工作方式方式方式1(选通工作方式选通工作方式)A或或B口设为方式口设为方式1输入输入 C口提供的联络信号:口提供的联络信号:中断允许位中断允许位 (INTE): 是否允许发出是否允许发出INTR请求。请求。无外部引脚,通过对无外部引脚,通过对PC4/PC2置置1或清或清0 来实现中断允许控制。来实现中断允许控制。中断请求信号中断请求信号(INTR): 由由8255A输出。中断允许输出。中断允许时时(INTE=1和和I

19、BF为高电平)为高电平),向,向CPU请求中请求中 断,让断,让CPU读走输入锁存器中的数据。读走输入锁存器中的数据。 A组对应组对应PC3;B组对应组对应PC0。PA7PA7PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAIBFIBFA AINTRINTRA AD7D7D0D0输入设备输入设备(到到CPU)RDASTBPB7PB7PB0PB0PC2PC2PC1PC1PC0PC0INTEBINTEBD7D7D0D0IBFIBFB BINTRINTRB B输入设备输入设备(到到CPU)RDBSTB左旭坤()19方式方式1输入工作过程输入工作过程1. 外设准备好数据,通过外设准

20、备好数据,通过READY引脚向引脚向PC4输出输出STB信号(低电平);信号(低电平);2. 8255收到收到STB信号后,通过信号后,通过PA口将外设数据锁存到数据锁存器,并使口将外设数据锁存到数据锁存器,并使IBF信号信号为高电平;为高电平;3. CPU通过控制字,使通过控制字,使PC4=1,使能,使能8255内部的中断允许(内部的中断允许(INTE=1););4. 若采用查询方式,则若采用查询方式,则CPU通过判断通过判断PC5是否为是否为1,来决定是否用,来决定是否用IN指令到指令到PA口口取数;取完数后,取数;取完数后,PC5自动变低,清除自动变低,清除IBF信号;信号;5. 若采用

21、中断方式,若采用中断方式,8255通过通过PC3向向CPU的的INTR发出中断请求,发出中断请求, CPU接受中断,接受中断,执行执行IN指令,从指令,从8255数据锁存器读取数据。数据锁存器读取数据。第八章:并行通信和串行通信第八章:并行通信和串行通信8255A的工作方式的工作方式方式方式1(选通工作方式选通工作方式)A或或B口设为方式口设为方式1输出输出 C口提供的联络信号:口提供的联络信号:输出缓冲器满信号输出缓冲器满信号(OBF): 8255A输出。输出。=0时,表示输出缓冲器为满,此时时,表示输出缓冲器为满,此时CPU 不能发送新数据。不能发送新数据。A组对应组对应PC7;B组对应组

22、对应PC1响应信号响应信号(ACK): 外设输入。外设输入。0时表示时表示外设已从数据端口取走数据。此信号使外设已从数据端口取走数据。此信号使OBF变高。变高。 A组对应组对应PC6;B组对应组对应PC2。PA7PA7PA0PA0PC7PC7PC6PC6PC3PC3INTEAINTEAINTRINTRA AD7D7D0D0输出设备输出设备(到到CPU)WRAOBFAACKPB7PB7PB0PB0PC1PC1PC2PC2PC0PC0INTEBINTEBD7D7D0D0INTRINTRB B输出设备输出设备(到到CPU)WRBACKBOBF第八章:并行通信和串行通信第八章:并行通信和串行通信825

23、5A的工作方式的工作方式方式方式1(选通工作方式选通工作方式)A或或B口设为方式口设为方式1输出输出 C口提供的联络信号:口提供的联络信号:中断请求信号中断请求信号(INTR): 8255输出。输出。 =1时请求时请求CPU输出下一个数据。输出下一个数据。 A组对应组对应PC3;B组对应组对应PC0。中断允许位中断允许位 (INTE): INTE=1和和OBF为高为高电平时,允许产生电平时,允许产生INTR信号。无外部引脚,信号。无外部引脚, 通过对通过对PC7/PC1置置1实现。实现。PA7PA7PA0PA0PC7PC7PC6PC6PC3PC3INTEAINTEAINTRINTRA AD7D

24、7D0D0输出设备输出设备(到到CPU)WRAOBFAACKPB7PB7PB0PB0PC1PC1PC2PC2PC0PC0INTEBINTEBD7D7D0D0INTRINTRB B输出设备输出设备(到到CPU)WRBACKBOBF第八章:并行通信和串行通信第八章:并行通信和串行通信8255A的工作方式的工作方式方式方式2(双向选通传送方式双向选通传送方式)特点:特点:双向方式双向方式既是输入口,又是输出口。既是输入口,又是输出口。利用利用C口的口的5条线提供传输联络信号。条线提供传输联络信号。类似于类似于A口方式口方式1下输入和输出的组合。工作时输入、输出都能锁存。下输入和输出的组合。工作时输入

25、、输出都能锁存。只有只有A口可工作在方式口可工作在方式2下。下。当当A组工作在方式组工作在方式2时,时,B组可工作在方式组可工作在方式0或方式或方式1下。下。应用:应用: 可用于中断或查询输入输出方式。可用于中断或查询输入输出方式。说明:说明: 当当A口工作于方式口工作于方式2时,时,B口可工作于方式口可工作于方式1(此时(此时C口的剩余位刚好用作口的剩余位刚好用作B口选通控制线);口选通控制线);B口也可工作于方式口也可工作于方式0(此时(此时C口的剩余位只能用作方式口的剩余位只能用作方式0下的输入输出线)。下的输入输出线)。第八章:并行通信和串行通信第八章:并行通信和串行通信8255A的工

26、作方式的工作方式方式方式2(双向选通传送方式双向选通传送方式)C口提供的联络信号:口提供的联络信号:选通信号选通信号(STB): 由外设输入。由外设输入。 =0时,将外设数据送入时,将外设数据送入8255 的输入锁存器。的输入锁存器。 对应对应PC4。输入锁存器满信号输入锁存器满信号(IBF):由由8255A输出。输出。=1时表示时表示 新的数据已写入缓冲器,新的数据已写入缓冲器,CPU用用IN指令取走数据后指令取走数据后,此信号被清除。此信号被清除。 对应对应PC5。PA7PA7PA0PA0PC6PC6PC7PC7D7D7D0D0PC4PC4PC5PC5IBFIBFA AINTEA2INTE

27、A2INTEA1INTEA1PC3PC3INTRINTRA AASTBAACKAOBFRDWR第八章:并行通信和串行通信第八章:并行通信和串行通信8255A的工作方式的工作方式方式方式2(双向选通传送方式双向选通传送方式)C口提供的联络信号:口提供的联络信号:输出缓冲器满信号输出缓冲器满信号(OBF):8255A输出。输出。=0时表示输出缓冲器时表示输出缓冲器 有新数据。有新数据。 对应对应PC7。响应信号响应信号(ACK): 外设输入。外设输入。0时表示外设已从数据端口取时表示外设已从数据端口取走数据。此信号使走数据。此信号使OBF变高。变高。 对应对应PC6。中断请求信号中断请求信号(IN

28、TR): 8255输出。输出。=1提出中断请求提出中断请求。 A组对应组对应PC3。中断允许位中断允许位 (INTE): 输入中断允许信号由对输入中断允许信号由对PC4置置1实现;实现; 输出中断允许信号由对输出中断允许信号由对PC6置置1实现。实现。PA7PA7PA0PA0PC6PC6PC7PC7D7D7D0D0PC4PC4PC5PC5IBFIBFA AINTEA2INTEA2INTEA1INTEA1PC3PC3INTRINTRA AASTBAACKAOBFRDWR左旭坤()25方式方式2输出工作过程输出工作过程CPU通过控制字使通过控制字使PC6=1,使能中断允许位(,使能中断允许位(IN

29、TE=1););若采用中断方式,当若采用中断方式,当8255数据缓冲器空,则通过数据缓冲器空,则通过PC3向向CPU发中断请求信号;发中断请求信号; CPU接受中断请求,执行接受中断请求,执行OUT指令,将数据送入指令,将数据送入8255数据缓冲器;数据缓冲器;若采用查询方式,若采用查询方式,CPU通过测试通过测试PC7是否为是否为1来决定是否用来决定是否用OUT指令将数据指令将数据送入送入8255缓冲器;缓冲器;当外设取完数后,向当外设取完数后,向8255的的PC6发出发出ACK信号(低电平),说明外设已取走信号(低电平),说明外设已取走当前数据,当前数据,8255可准备新数据。此信号会清除

30、可准备新数据。此信号会清除OBF信号;信号;第八章:并行通信和串行通信第八章:并行通信和串行通信8255A的初始化的初始化 可以利用软件编程确定可以利用软件编程确定8255的的3个端口工作于何种方式下。个端口工作于何种方式下。 8255A的各种工作方式由的各种工作方式由CPU对对8255A写入控制命令字来设定,写入控制命令字来设定,这个过程称为这个过程称为“初始化初始化”。 8255A有有2种控制命令字:种控制命令字: 方式选择控制字方式选择控制字确定确定3个端口的工作方式;个端口的工作方式; C口置位口置位/复位控制字复位控制字确定确定C口某一位的初始状态,当口某一位的初始状态,当C口某口某

31、位做为状态信号线时适用。位做为状态信号线时适用。关于两个命令字的讨论关于两个命令字的讨论a.方式选择控制字方式选择控制字是对是对8255A的的3个端口的工作方式及功能进行个端口的工作方式及功能进行指定,即进行初始化,初始化工作要在使用指定,即进行初始化,初始化工作要在使用8255A之前做。之前做。b.C口置位口置位/复位控制字复位控制字只是对只是对C口的输出进行控制,它可放在初口的输出进行控制,它可放在初始化程序后的任何地方。始化程序后的任何地方。c.两种不同命令字的两种不同命令字的最高位(最高位(D7)分配了不同的标志位,之所以分配了不同的标志位,之所以要设置标志位是为了识别两个不同的命令。

32、要设置标志位是为了识别两个不同的命令。第八章:并行通信和串行通信第八章:并行通信和串行通信在命令字中设置标志位是解决多个命令字写入同个端口经常采在命令字中设置标志位是解决多个命令字写入同个端口经常采用的方法之一。用的方法之一。第八章:并行通信和串行通信第八章:并行通信和串行通信8255A的初始化的初始化方式选择控制字方式选择控制字D7 D6 D5 D4 D3 D2 D1 D0C口低位选择,口低位选择,1入入0出出B口口I/O选择,选择,1入入0出出B口方式选择,口方式选择,0=方式方式0 1=方式方式1B组组C口高位选择,口高位选择,1入入0出出A口口I/O选择,选择,1入入0出出A口方式选择

33、口方式选择00=方式方式0 01=方式方式1 1X=方式方式2D7=1,方式控制字标志方式控制字标志A组组第八章:并行通信和串行通信第八章:并行通信和串行通信8255A的初始化的初始化C口置位口置位/复位控制字复位控制字D7 D6 D5 D4 D3 D2 D1 D0置位置位/复位复位选择选择1=置位,置位,0=复位复位D7=0为置为置位位/复位控复位控制字标志制字标志D3 D2 D1 位选择位选择 0 0 0 PC0 0 0 1 PC1 0 1 0 PC2 0 1 1 PC3 1 0 0 PC4 1 0 1 PC5 1 1 0 PC6 1 1 1 PC7无效无效第八章:并行通信和串行通信第八章

34、:并行通信和串行通信8255A的初始化的初始化 8255A8255A初始化编程可以分两步进行:初始化编程可以分两步进行: 首先把方式选择控制字写入控制口,确定所用端口的工作首先把方式选择控制字写入控制口,确定所用端口的工作方式,方式, 如果如果82558255工作工作A A口或口或B B口工作于非方式口工作于非方式0 0下,再通过写下,再通过写C C口置口置位位/ /复位控制字来设置相关信号复位控制字来设置相关信号 完成了初始化编程之后,完成了初始化编程之后,CPUCPU就可以用就可以用ININ和和OUTOUT指令通过指令通过8255A8255A与外设交换数据了。与外设交换数据了。【例例8-1

35、8-1】: 8255A8255A的控制器寄存器地址为的控制器寄存器地址为0120H0120H,工作状态为,工作状态为A A口方式口方式0 0输输入,入,B B口方式口方式1 1输出,输出,C C口低半字节输入,口低半字节输入,C C口高半字节输出,写出它的初口高半字节输出,写出它的初始化程序段;如果要把始化程序段;如果要把C C口的口的PC4PC4置位,写出它的初始化程序段。置位,写出它的初始化程序段。方式选择控制字:方式选择控制字:10010101B=95HC口置位口置位/复位控制字:复位控制字:00001001=09H初始化程序段:初始化程序段: MOVDX,0120H ;8255A控制字

36、寄存器口地址控制字寄存器口地址MOVAL,95H;设置方式选择控制字;设置方式选择控制字OUTDX,AL;送入控制字寄存器中;送入控制字寄存器中MOVDX,0120H MOVAL,09H;使;使PC4=1的控制字的控制字OUTDX,AL 第八章:并行通信和串行通信第八章:并行通信和串行通信第八章:并行通信和串行通信第八章:并行通信和串行通信交通灯运行规则:交通灯运行规则:(1)开机后所有灯闪烁)开机后所有灯闪烁3次次(2)东西红灯亮,南北绿灯亮)东西红灯亮,南北绿灯亮(3)南北绿灯灭,南北黄灯闪)南北绿灯灭,南北黄灯闪(4)南北红灯亮,东西绿灯亮)南北红灯亮,东西绿灯亮(5)东西绿灯灭,东西黄

37、灯闪)东西绿灯灭,东西黄灯闪(6)返回第()返回第(2)步)步设计实例设计实例1:方式:方式08255实现交通灯控制实现交通灯控制A口地址:口地址:0040H;B口地址:口地址:0042H;C口地址:口地址:0044H;控制口地址:控制口地址:0046H利用利用8225的的B口低口低4位控制四个路口黄灯;位控制四个路口黄灯;利用利用8255的的C口控制四个路口的红灯和绿灯;口控制四个路口的红灯和绿灯;所有端口都工作于方式所有端口都工作于方式0输出。输出。硬件设计硬件设计软件设计软件设计左旭坤()35软件设计软件设计程序设计技巧程序设计技巧利用同一个延时子程序,实现长延时和短延时利用同一个延时子

38、程序,实现长延时和短延时MOV BX,1000 ;短延时,外循环次数为短延时,外循环次数为1000CALL DELYMOV BX,15000 ;长延时,外循环次数为长延时,外循环次数为15000CALL DELY DELY PROC ;延时子程序延时子程序NEXT2: MOV CX,500 ;内循环次数固定为内循环次数固定为500NEXT1: LOOP NEXT1 DEC BX ;外循环次数由主程序中的外循环次数由主程序中的BX值决定值决定 JNZ NEXT2 RET DELY ENDP左旭坤()36第八章:并行通信和串行通信第八章:并行通信和串行通信 数码管按一定速度显示数码管按一定速度显示

39、18数字数字 按下按下1#8#按键按键 若按键号和当前数码管显示数字相等,则显示若按键号和当前数码管显示数字相等,则显示“G”,并,并加快数码管数字变化速度;加快数码管数字变化速度; 若按键号和当前数码管显示数字不等,则显示若按键号和当前数码管显示数字不等,则显示“E”,并,并减慢数码管数字变化速度;减慢数码管数字变化速度;设计实例设计实例2:方式:方式1反应力测试游戏反应力测试游戏PA口接数码管,方式口接数码管,方式0输出输出PB口接口接8个按键,方式个按键,方式1输入输入利用查询方式完成利用查询方式完成PB口的输入操作,口的输入操作,PC口提供的联络信号有:口提供的联络信号有: PC1IB

40、F(输入缓冲器满信号输入缓冲器满信号);PC2STB(选通信号选通信号)左旭坤()37第八章:并行通信和串行通信第八章:并行通信和串行通信硬件结构硬件结构PBPB口方式口方式1 1输入(查询)工作原理:输入(查询)工作原理:当有按键按下,与门输出端变成低电平,作为选通信号当有按键按下,与门输出端变成低电平,作为选通信号送至送至PC2选通信号到来后,会使缓冲器满信号置位(选通信号到来后,会使缓冲器满信号置位(PC1=1)CPU通过查询通过查询PC1是否为是否为1,决定是否执行,决定是否执行IN指令从指令从PB口读取按键值口读取按键值左旭坤()38第八章:并行通信和串行通信第八章:并行通信和串行通

41、信软件流程软件流程左旭坤()39第八章:并行通信和串行通信第八章:并行通信和串行通信编程技巧编程技巧根据键值判断按键号根据键值判断按键号键值和键号对应规则:键值和键号对应规则:1#键按下键按下PB口读取键值:口读取键值:1111 1110B2#键按下键按下PB口读取键值:口读取键值:1111 1101B3#键按下键按下PB口读取键值:口读取键值:1111 1011B8#键按下键按下PB口读取键值:口读取键值:0111 1111B和和01H相与相与=0和和02H相与相与=0和和04H相与相与=0和和80H相与相与=0 MOV BX,0101H L0: MOV DX,42H IN AL,DX TE

42、ST AL,BL JZ EXIT1 INC BH ROL BL,1 CMP BL,01H JNZ L0 MOV BH,1 JMP L0EXIT1: MOV AL,BH左旭坤()40第八章:并行通信和串行通信第八章:并行通信和串行通信 设计设计16个按键,分别表示数字个按键,分别表示数字116 按下相应按键按下相应按键 数码管显示对应数字数码管显示对应数字设计实例设计实例3:方式:方式0多位数码管显示及矩阵键盘多位数码管显示及矩阵键盘左旭坤()41第八章:并行通信和串行通信第八章:并行通信和串行通信矩阵键盘原理矩阵键盘原理 若使按键较多时,通常采用矩阵式若使按键较多时,通常采用矩阵式(也称行列式

43、)键盘。(也称行列式)键盘。 矩阵式键盘由行线和列线组成,按矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,其结构键位于行、列线的交叉点上,其结构如图所示。如图所示。 由图可知,一个由图可知,一个44的行、列结构的行、列结构可以构成一个含有可以构成一个含有16个按键的键盘。个按键的键盘。 矩阵式键盘中,行、列线分别连接到矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻按键开关的两端,行线通过上拉电阻接到接到5V上。当无键按下时,行线处上。当无键按下时,行线处于高电平状态;当有键按下时,行、于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与列线将导通,此时,

44、行线电平将由与此行线相连的列线电平决定。这是识此行线相连的列线电平决定。这是识别按键是否按下的关键。别按键是否按下的关键。0123456781213910141511+5 V01230123左旭坤()42第八章:并行通信和串行通信第八章:并行通信和串行通信矩阵键盘原理矩阵键盘原理0123456781213910141511+5 V01230123按键的识别按键的识别扫描法扫描法 下面以图中下面以图中8号键的识别为例来号键的识别为例来说明扫描法识别按键的过程。说明扫描法识别按键的过程。 按键按下时,与此键相连的行按键按下时,与此键相连的行线与列线导通,行线在无键按下线与列线导通,行线在无键按下时

45、处在高电平,显然,如果让所时处在高电平,显然,如果让所有的列线也处在高电平,那么,有的列线也处在高电平,那么,按键按下与否不会引起行线电平按键按下与否不会引起行线电平的变化,因此,的变化,因此,必须使所有列线必须使所有列线处在低电平,只有这样,当有键处在低电平,只有这样,当有键按下时,该键所在的行电平才会按下时,该键所在的行电平才会由高电平变为低电平。由高电平变为低电平。CPU根据根据行电平的变化,便能判定相应的行电平的变化,便能判定相应的行有键按下。行有键按下。8号键按下时,第号键按下时,第2行一定为低电平,然而,第行一定为低电平,然而,第2行为行为低电平时,能否肯定是低电平时,能否肯定是8

46、号键按下号键按下呢?回答是否定的。呢?回答是否定的。 因为因为9、10、11号键按下同样使第号键按下同样使第2行为低电行为低电平。为进一步确定具体键,不能使所有列线在同平。为进一步确定具体键,不能使所有列线在同一时刻都处在低电平,一时刻都处在低电平,可在某一时刻只让一条列可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依此循环,这种依次刻,让下一列处在低电平,依此循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。轮流每次选通一列的工作方式称为键盘扫描。采采用键盘扫描后,再来观察用键盘扫描后,再来观察8号键按下

47、时的工作过号键按下时的工作过程,当第程,当第0列处于低电平时,第列处于低电平时,第2行处于低电平,行处于低电平,而第而第1、2、3列处于低电平时,第列处于低电平时,第2行却处在高行却处在高电平,由此可判定按下的键应是第电平,由此可判定按下的键应是第2行与第行与第0列的列的交叉点,即交叉点,即8号键。号键。 左旭坤()43第八章:并行通信和串行通信第八章:并行通信和串行通信矩阵键盘原理矩阵键盘原理PA口低口低4位做行线,接高电平位做行线,接高电平PC口低口低4位做列线位做列线PA工作于方式工作于方式0输入,输入,PC工作于方式工作于方式0输出输出PA口地址:口地址:40H,PC口地址:口地址:4

48、4H左旭坤()44第八章:并行通信和串行通信第八章:并行通信和串行通信矩阵键盘原理矩阵键盘原理 CHECK: MOV H,0 ; 行列号变量清行列号变量清0 MOV L,0 MOV AL,0F0H ;所有列输出低电平所有列输出低电平 OUT 44H,AL IN AL,40H ;读行值读行值 CMP AL,0FFH JZ CHECK ;若都为高电平则无键按下,等待若都为高电平则无键按下,等待 MOV CX,50 LOOP $ ;延时延时 IN AL,40H ;重读行值重读行值 CMP AL,0FFH JZ CHECK ;无键按下一直等待无键按下一直等待 左旭坤()45第八章:并行通信和串行通信第

49、八章:并行通信和串行通信矩阵键盘原理矩阵键盘原理 MOV BL,01H MOV BH,0FEH ; 从第一列开始测试,从第一列开始测试,PC0=0 NEXT: MOV AL,BH OUT 44H,AL ;置置PCi为低电平为低电平 NEXTH: IN AL,40H ;读行值读行值 TEST AL,BL JZ WAIT0 ;该行有键按下,则计算键值该行有键按下,则计算键值 ROL BL,1 ;该行无键按下,判断下一行该行无键按下,判断下一行 CMP BL,10H JZ NEXTL ;当前列状态下没有任何行有键按当前列状态下没有任何行有键按 ;下,则转为对下一列的测试下,则转为对下一列的测试 IN

50、C H ;每判断一行,行号加每判断一行,行号加1 JMP NEXTH ;再对下一行进行判断再对下一行进行判断 左旭坤()46第八章:并行通信和串行通信第八章:并行通信和串行通信矩阵键盘原理矩阵键盘原理NEXTL: MOV H,0 ;对下一列测试前,首先对下一列测试前,首先 ;清清0行号行号 MOV BL,01H ;每个列状态都要从第一每个列状态都要从第一 ;行开始判断行开始判断 ROL BH,1 ;对下一列测试,让下一对下一列测试,让下一 ;个个PC口输出低电平口输出低电平 INC L ;每测试一列,列号加每测试一列,列号加1 JMP NEXT ;返回行判断程序返回行判断程序左旭坤()47第八

51、章:并行通信和串行通信第八章:并行通信和串行通信矩阵键盘原理矩阵键盘原理 WAIT0: IN AL,40H CMP AL,0FFH JNZ WAIT0 ;若有键按下,则等该按若有键按下,则等该按 ;键松开后再计算键值键松开后再计算键值 MOV CX,50 LOOP $ ;延时消抖延时消抖 IN AL,40H CMP AL,0FFH JNZ WAIT0 MOV DH,H ;以下程序计算当前按键以下程序计算当前按键 MOV DL,L ;键值键值 SHL DH,1 SHL DH,1 ;行号乘行号乘4 ADD DH,DL ;加列号加列号 INC DH MOV V,DH ;键值保存到变量键值保存到变量V

52、左旭坤()48第八章:并行通信和串行通信第八章:并行通信和串行通信多片数码管显示原理多片数码管显示原理PB接数码管数据线,向数码管接数码管数据线,向数码管发送显示码发送显示码PC6=0 PC7=1,点亮第一片,点亮第一片PC6=1 PC7=0,点亮第二片,点亮第二片PB口地址:口地址:42H共阴极数码管共阴极数码管左旭坤()49第八章:并行通信和串行通信第八章:并行通信和串行通信多片数码管显示原理多片数码管显示原理 CMP AL,0 JZ GEWEI ;若商为若商为0,直接显示余数,直接显示余数 MOV AL,80H OUT 44H,AL ;PC6=0,PC7=1,点亮十位点亮十位 MOV B

53、L,DL MOV AL,SI+BX OUT 42H,AL ;取十位显示码,送取十位显示码,送PB口口 CALL DELY ;延时延时 MOV AL,0 OUT 42H,AL ;关显示,消除鬼影关显示,消除鬼影 GEWEI: MOV AL,40H OUT 44H,AL ;PC6=1,PC7=0,点亮个位点亮个位 MOV BL,DH MOV AL,SI+BX OUT 42H,AL ;取个位显示码,送取个位显示码,送PB口口 CALL DELY ;延时延时 MOV AL,0 OUT 42H,AL ;关显示,消除鬼影关显示,消除鬼影LEA SI,LED ;SI指向显示码首址指向显示码首址 XOR AX

54、,AX MOV AL,V ;键值送键值送AX MOV BL,10 DIV BLMOV DX,AX XOR BX,BX CMP DX,0 ;若结果为若结果为0,退出,退出 JZ EXIT1第八章:并行通信和串行通信第八章:并行通信和串行通信 并行通信并行通信 并行接口并行接口 可编程并行接口芯片可编程并行接口芯片8255A 串行通信串行通信 可编程串行接口芯片可编程串行接口芯片8251A第八章:并行通信和串行通信第八章:并行通信和串行通信 串行通信线路的工作方式串行通信线路的工作方式单工方式单工方式半双工方式半双工方式全双工方式全双工方式 左旭坤()52第八章:并行通信和串行通信第八章:并行通信

55、和串行通信 串行通信的数据收发方式串行通信的数据收发方式 在串行通信中有两种基本的通信方式:即在串行通信中有两种基本的通信方式:即异步通信异步通信和和同步同步通信。通信。串行异步通信串行异步通信 通信的双方进行异步串行通信时必须遵守异步串行通信的双方进行异步串行通信时必须遵守异步串行通信控制规程,也称异步通信协议,他的特点是通信双方以通信控制规程,也称异步通信协议,他的特点是通信双方以一个字符(包括一些特定的附加位)作为数据传输单位。一个字符(包括一些特定的附加位)作为数据传输单位。左旭坤()53第八章:并行通信和串行通信第八章:并行通信和串行通信 串行通信的数据收发方式串行通信的数据收发方式

56、 在串行通信中有两种基本的通信方式:即在串行通信中有两种基本的通信方式:即异步通信异步通信和和同步同步通信。通信。2. 串行同步通信串行同步通信 串行同步通信是靠同步字符来完成收发双方同步的,串行同步通信是靠同步字符来完成收发双方同步的,通信双方用统一时钟控制通信过程,与异步通信相比一个显著通信双方用统一时钟控制通信过程,与异步通信相比一个显著的特点是同步通信方式所用的数据格式没有起始位和停止位,的特点是同步通信方式所用的数据格式没有起始位和停止位,一次传送的字符个数是可变的,但字符与字符间不允许有空隙。一次传送的字符个数是可变的,但字符与字符间不允许有空隙。左旭坤()54第八章:并行通信和串

57、行通信第八章:并行通信和串行通信 串行通信的数据收发方式串行通信的数据收发方式 在串行通信中有两种基本的通信方式:即在串行通信中有两种基本的通信方式:即异步通信异步通信和和同步同步通信。通信。3. 异步通信和同步通信比较异步通信和同步通信比较同步相对于异步,传输效率高(无停止位,起始位)。同步相对于异步,传输效率高(无停止位,起始位)。异步相对于同步,实现简单,接收和发送两方的时钟不需要异步相对于同步,实现简单,接收和发送两方的时钟不需要严格同步。严格同步。左旭坤()55第八章:并行通信和串行通信第八章:并行通信和串行通信 串行通信的接口标准串行通信的接口标准 在串行通信中常见的接口电路标准有

58、在串行通信中常见的接口电路标准有RS-232C、RS-422、RS-485等,等,PC机上的两个机上的两个COM口就遵从口就遵从RS-232C标准标准RS-232C电平标准电平标准采用负逻辑:采用负逻辑:+3V+15V:逻辑:逻辑“0”; -3V-15V:逻辑:逻辑“1”左旭坤()56第八章:并行通信和串行通信第八章:并行通信和串行通信 串行通信的接口标准串行通信的接口标准 在串行通信中常见的接口电路标准有在串行通信中常见的接口电路标准有RS-232C、RS-422、RS-485等,等,PC机上的两个机上的两个COM口就遵从口就遵从RS-232标准标准RS-232C信号定义信号定义有有DB-9

59、和和DB-25两种信号标准(两种信号标准(P300)计算机常采用的电平标准为计算机常采用的电平标准为TTL: 2.4V5V:逻辑:逻辑“1”;0V0.4V:逻辑:逻辑“0”当计算机与当计算机与RS-232C器件连接时需要加电平转换的接口电路,如:器件连接时需要加电平转换的接口电路,如:MC1488,MC1489,MAX232等等左旭坤()57第八章:并行通信和串行通信第八章:并行通信和串行通信 串行通信的传输率串行通信的传输率 所谓传输率就是指每秒传输多少位,习惯称为波特率,单所谓传输率就是指每秒传输多少位,习惯称为波特率,单位位bps。常见波特率:常见波特率:110、300、600、1200

60、、2400、4800、9600、19200、28800、33600,目前最高可达,目前最高可达56Kbps.左旭坤()58第八章:并行通信和串行通信第八章:并行通信和串行通信 串行通信的检错技术串行通信的检错技术串行数据在传输过程中,由于干扰而引起误码是难免的,这直串行数据在传输过程中,由于干扰而引起误码是难免的,这直接影响通信系统的可靠性,对通信中的检错能力是衡是一个通接影响通信系统的可靠性,对通信中的检错能力是衡是一个通信系统的重要内容。信系统的重要内容。奇偶校验奇偶校验 奇偶校验是最简单最常用的校验方法。它的基本原理是在所传奇偶校验是最简单最常用的校验方法。它的基本原理是在所传输的有效数

温馨提示

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

评论

0/150

提交评论