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

下载本文档

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

文档简介

微机原理与接口

——第八章:并行通信和串行通信皖西学院计算机系并行通信和串行通信并行接口可编程并行接口芯片8255A串行通信可编程串行接口芯片8251A1左旭坤(zxk78@)第八章:并行通信和串行通信并行通信和串行通信并行接口可编程并行接口芯片8255A串行通信可编程串行接口芯片8251A2左旭坤(zxk78@)第八章:并行通信和串行通信在计算机领域中有两种数据通信方式:串行通信和并行通信。并行通信:数据在多条并行1位宽的传输线上同时由源传送到目的。以1字节的数据为例,在并行传送中,1字节的数据通过8条并行传输线同时由源传送到目的。串行通信:数据在单条1位宽的传输线上,一位一位地按顺序分时传送。以1字节为例,在串行传送中,1字节的数据要通过一条传输线分8次由低位到高位按顺序一位一位地传送。源目的0

11

0

1

0

1

0源目的距离:并行——近距离传送(通常小于30米)

串行——远距离传送(几米~数千公里)速度:并行快得多。3左旭坤(zxk78@)第八章:并行通信和串行通信并行通信和串行通信并行接口可编程并行接口芯片8255A串行通信可编程串行接口芯片8251A4左旭坤(zxk78@)实现并行通信的接口就是并行接口。输入/输出固定的并行接口(74LS244/74LS373等)输入/输出可变的可编程并行接口(8255A等)对于第一类并行接口,芯片内部只有数据缓冲或锁存器,没有控制寄存器或状态寄存器。结构简单,使用不灵活对于第二类并行接口,芯片内含有控制寄存器或状态寄存器,可通过指令控制接口的工作方式。结构复杂,使用灵活。第八章:并行通信和串行通信5左旭坤(zxk78@)第八章:并行通信和串行通信并行通信并行接口可编程并行接口芯片8255A串行通信可编程串行接口芯片8251A6左旭坤(zxk78@)第八章:并行通信和串行通信概述Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。7左旭坤(zxk78@)第八章:并行通信和串行通信去CPU去外设8255A的内部结构8左旭坤(zxk78@)第八章:并行通信和串行通信8255A的内部结构数据总线缓冲器:三态8位双向缓冲器,与系统数据总线连接的缓冲部件;传送数据、控制字、状态字的通道。3个8位数据端口(PA、PB、PC):PA口与PB口用作输入/出的数据端口,PC口也可用作数据传输(高低4位可分别设置为输入/输出)或作为联络信号,配合PA和PB口使用(状态端口)。A组、B组控制:这两组控制电路根据CPU发出的控制命令来控制8255A的工作方式(控制端口)。读/写控制逻辑:用来管理数据输入和输出、并负责控制CPU向控制端口发送命令。9左旭坤(zxk78@)第八章:并行通信和串行通信8255A的引脚功能DIP封装,共40个引脚。1.连接系统总线的主要引脚D0~D7:数据线,连CPU数据总线;RESET:复位输入,接系统总线的RESET;CS:片选信号,接译码器;RD:读命令输入,接CPU的RD;WR:写命令输入,接CPU的WR;A0,A1:片内端口地址选择,根据A0和A1可分别对芯片内的4个端口进行读写操作。10左旭坤(zxk78@)第八章:并行通信和串行通信8255A的引脚功能A1、A0端口选择情况,见右表

由CS、A1、A0、RD、WR引脚的不

同组合,实现各种不同的功能。见下表:A1

A0端口0

00

11

01

1ABC控制口CSA1A0RDWR功

能0

000

1对端口A读0

0101对端口B读01001对端口C读01非法,不能对控制口读输入0对端口A写0对端口B写0对端口C写0对控制口写输出1

×

×

×

×

×

×

×

1

1数据缓冲器为三态断开011111100000101001111左旭坤(zxk78@)第八章:并行通信和串行通信8255A的引脚功能2.连接外设端的引脚PA0~PA7:A口数据线,接外设;PB0~PB7:B口数据线,接外设;PC0~PC7:C口数据线或联络线,接外设或CPU。12左旭坤(zxk78@)第八章:并行通信和串行通信8255A的工作方式方式0——基本输入/输出方式(A、B、C口)方式1——选通工作方式(A、B口)方式2——双向选通传送方式(仅A口)某端口工作于哪一种方式,可通过软件编程来指定。即向8255的控制口写入方式控制字来决定其工作方式。13左旭坤(zxk78@)第八章:并行通信和串行通信8255A的工作方式——方式0(基本输入/输出方式)特点:

(1)8255A相当于三个独立的8位数据口。

(2)各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出。

(3)C端口即可以是一个8位的简单接口,也可以分为两个独立的4位端口。

(4)设置为输出口时有锁存能力,设置为输入口有缓冲能力。适用于:

无条件输入输出方式。14左旭坤(zxk78@)第八章:并行通信和串行通信8255A的工作方式——方式0(基本输入/输出方式)INAL,8255数据端口地址;读操作①外设将数据送到8255输入缓冲器中;②CPU给出有效的8255地址;③CPU发读命令,将8255A输入缓冲器中数据读入CPU的AL寄存器中。OUT8255数据端口地址,AL;写操作①CPU给出有效的8255地址;②CPU发写命令,将CPU的AL寄存器中数据写入8255A输出锁存器中。③外设通过输出锁存器将数据取走15左旭坤(zxk78@)第八章:并行通信和串行通信8255A的工作方式——方式1(选通工作方式)利用一组选通控制信号控制A端口和B端口的数据输入输出。特点:

A、B口作输入或输出口,C口分为两部分,其部分位(6位)固定用作A口、B口的联络信号。C口的剩余位仍可作数据位使用。A口、B口在作为输入和输出时,C口提供的联络信号不同。方式1的应用:主要用于查询或中断控制方式下的输入输出。说明:C口除部分位用作联络信号外,其余位(2位)可工作在方式0下,作为输入或输出线。16左旭坤(zxk78@)第八章:并行通信和串行通信8255A的工作方式——方式1(选通工作方式)A或B口设为方式1输入

C口提供的联络信号:选通信号(STB):

由外设输入。=0时,

将外设数据送入8255的输入锁存器。A组

对应PC4;B组对应PC2。输入锁存器满信号(IBF):

由8255A输出。

=1时,表示锁存器中有未取走的数据,CPU用IN指令取走数据后,此信号被清除。A组对应PC5;B组对应PC1。PA7~PA0PC4PC5PC3INTEAIBFAINTRAD7~D0输入设备(到CPU)PB7~PB0PC2PC1PC0INTEBD7~D0IBFBINTRB输入设备(到CPU)17左旭坤(zxk78@)第八章:并行通信和串行通信8255A的工作方式——方式1(选通工作方式)A或B口设为方式1输入C口提供的联络信号:中断允许位(INTE):是否允许发出INTR请求。

无外部引脚,通过对PC4/PC2置1或清0来实现中断允许控制。中断请求信号(INTR):

由8255A输出。中断允许

时(INTE=1和IBF为高电平),向CPU请求中断,让CPU读走输入锁存器中的数据。A组对应PC3;B组对应PC0。PA7~PA0PC4PC5PC3INTEAIBFAINTRAD7~D0输入设备(到CPU)PB7~PB0PC2PC1PC0INTEBD7~D0IBFBINTRB输入设备(到CPU)18左旭坤(zxk78@)方式1输入工作过程1.外设准备好数据,通过READY引脚向PC4输出STB信号(低电平);2.8255收到STB信号后,通过PA口将外设数据锁存到数据锁存器,并使IBF信号为高电平;3.CPU通过控制字,使PC4=1,使能8255内部的中断允许(INTE=1);4.若采用查询方式,则CPU通过判断PC5是否为1,来决定是否用IN指令到PA口取数;取完数后,PC5自动变低,清除IBF信号;5.若采用中断方式,8255通过PC3向CPU的INTR发出中断请求,CPU接受中断,执行IN指令,从8255数据锁存器读取数据。19左旭坤(zxk78@)第八章:并行通信和串行通信8255A的工作方式——方式1(选通工作方式)A或B口设为方式1输出C口提供的联络信号:输出缓冲器满信号(OBF):8255A输出。

=0时,表示输出缓冲器为满,此时CPU不能发送新数据。A组对应PC7;B组对应PC1响应信号(ACK):外设输入。=0时表示

外设已从数据端口取走数据。此信号使OBF

变高。A组对应PC6;B组对应PC2。PA7~PA0PC7PC6PC3INTEAINTRAD7~D0输出设备(到CPU)PB7~PB0PC1PC2PC0INTEBD7~D0INTRB输出设备(到CPU)20左旭坤(zxk78@)第八章:并行通信和串行通信8255A的工作方式——方式1(选通工作方式)A或B口设为方式1输出

C口提供的联络信号:中断请求信号(INTR):

8255输出。=1时请求CPU输出下一个数据。

A组对应PC3;B组对应PC0。中断允许位(INTE):INTE=1和OBF为高

电平时,允许产生INTR信号。无外部引脚,通过对PC7/PC1置1实现。PA7~PA0PC7PC6PC3INTEAINTRAD7~D0输出设备(到CPU)PB7~PB0PC1PC2PC0INTEBD7~D0INTRB输出设备(到CPU)21左旭坤(zxk78@)第八章:并行通信和串行通信8255A的工作方式——方式2(双向选通传送方式)特点:双向方式——既是输入口,又是输出口。利用C口的5条线提供传输联络信号。类似于A口方式1下输入和输出的组合。工作时输入、输出都能锁存。只有A口可工作在方式2下。当A组工作在方式2时,B组可工作在方式0或方式1下。应用:可用于中断或查询输入输出方式。说明:当A口工作于方式2时,B口可工作于方式1(此时C口的剩余位刚好用作B口选通控制线);B口也可工作于方式0(此时C口的剩余位只能用作方式0下的输入输出线)。22左旭坤(zxk78@)第八章:并行通信和串行通信8255A的工作方式——方式2(双向选通传送方式)C口提供的联络信号:选通信号(STB):

由外设输入。=0时,将外设数据送入8255的输入锁存器。对应PC4。输入锁存器满信号(IBF):

由8255A输出。=1时表示新的数据已写入缓冲器,

CPU用IN指令取走数据后,

此信号被清除。对应PC5。PA7~PA0PC6PC7D7~D0PC4PC5IBFAINTEA2INTEA1PC3INTRA23左旭坤(zxk78@)第八章:并行通信和串行通信8255A的工作方式——方式2(双向选通传送方式)C口提供的联络信号:输出缓冲器满信号(OBF):

8255A输出。=0时表示输出缓冲器有新数据。对应PC7。响应信号(ACK):外设输入。

=0时表示外设已从数据端口取

走数据。此信号使OBF变高。

对应PC6。中断请求信号(INTR):

8255输出。=1提出中断请求。A组对应PC3。中断允许位(INTE):输入中断允许信号由对PC4置1实现;输出中断允许信号由对PC6置1实现。PA7~PA0PC6PC7D7~D0PC4PC5IBFAINTEA2INTEA1PC3INTRA24左旭坤(zxk78@)方式2输出工作过程CPU通过控制字使PC6=1,使能中断允许位(INTE=1);若采用中断方式,当8255数据缓冲器空,则通过PC3向CPU发中断请求信号;CPU接受中断请求,执行OUT指令,将数据送入8255数据缓冲器;若采用查询方式,CPU通过测试PC7是否为1来决定是否用OUT指令将数据送入8255缓冲器;当外设取完数后,向8255的PC6发出ACK信号(低电平),说明外设已取走当前数据,8255可准备新数据。此信号会清除OBF信号;25左旭坤(zxk78@)第八章:并行通信和串行通信8255A的初始化

可以利用软件编程确定8255的3个端口工作于何种方式下。8255A的各种工作方式由CPU对8255A写入控制命令字来设定,这个过程称为“初始化”。8255A有2种控制命令字:

方式选择控制字——确定3个端口的工作方式;

C口置位/复位控制字——确定C口某一位的初始状态,当C口某位做为状态信号线时适用。26左旭坤(zxk78@)关于两个命令字的讨论a.方式选择控制字是对8255A的3个端口的工作方式及功能进行指定,即进行初始化,初始化工作要在使用8255A之前做。b.C口置位/复位控制字只是对C口的输出进行控制,它可放在初始化程序后的任何地方。c.两种不同命令字的最高位(D7)分配了不同的标志位,之所以要设置标志位是为了识别两个不同的命令。第八章:并行通信和串行通信在命令字中设置标志位是解决多个命令字写入同个端口经常采用的方法之一。27左旭坤(zxk78@)第八章:并行通信和串行通信8255A的初始化——方式选择控制字D7D6D5D4D3D2D1D0C口低位选择,1入0出B口I/O选择,1入0出B口方式选择,0=方式01=方式1B组C口高位选择,1入0出A口I/O选择,1入0出A口方式选择00=方式001=方式11X=方式2D7=1,方式控制字标志A组28左旭坤(zxk78@)第八章:并行通信和串行通信8255A的初始化——C口置位/复位控制字D7D6D5D4D3D2D1D0置位/复位选择1=置位,0=复位D7=0为置位/复位控制字标志D3D2D1位选择000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7无效29左旭坤(zxk78@)第八章:并行通信和串行通信8255A的初始化

8255A初始化编程可以分两步进行:

首先把方式选择控制字写入控制口,确定所用端口的工作方式,如果8255工作A口或B口工作于非方式0下,再通过写C口置位/复位控制字来设置相关信号

完成了初始化编程之后,CPU就可以用IN和OUT指令通过8255A与外设交换数据了。30左旭坤(zxk78@)【例8-1】:8255A的控制器寄存器地址为0120H,工作状态为A口方式0输入,B口方式1输出,C口低半字节输入,C口高半字节输出,写出它的初始化程序段;如果要把C口的PC4置位,写出它的初始化程序段。

方式选择控制字:10010101B=95H

C口置位/复位控制字:00001001=09H

初始化程序段:

MOVDX,0120H ;8255A控制字寄存器口地址MOVAL,95H;设置方式选择控制字OUTDX,AL;送入控制字寄存器中MOVDX,0120H

MOVAL,09H;使PC4=1的控制字OUTDX,AL

第八章:并行通信和串行通信31左旭坤(zxk78@)第八章:并行通信和串行通信交通灯运行规则:(1)开机后所有灯闪烁3次(2)东西红灯亮,南北绿灯亮(3)南北绿灯灭,南北黄灯闪(4)南北红灯亮,东西绿灯亮(5)东西绿灯灭,东西黄灯闪(6)返回第(2)步设计实例1:方式08255实现交通灯控制32左旭坤(zxk78@)A口地址:0040H;B口地址:0042H;C口地址:0044H;控制口地址:0046H利用8225的B口低4位控制四个路口黄灯;利用8255的C口控制四个路口的红灯和绿灯;所有端口都工作于方式0输出。硬件设计33左旭坤(zxk78@)软件设计34左旭坤(zxk78@)软件设计程序设计技巧——利用同一个延时子程序,实现长延时和短延时……MOVBX,1000

;短延时,外循环次数为1000CALLDELY……MOVBX,15000

;长延时,外循环次数为15000CALLDELY……DELYPROC;延时子程序NEXT2:MOVCX,500;内循环次数固定为500NEXT1:LOOPNEXT1DECBX;外循环次数由主程序中的BX值决定JNZNEXT2RETDELYENDP35左旭坤(zxk78@)第八章:并行通信和串行通信数码管按一定速度显示1~8数字按下1#~8#按键若按键号和当前数码管显示数字相等,则显示“G”,并加快数码管数字变化速度;若按键号和当前数码管显示数字不等,则显示“E”,并减慢数码管数字变化速度;设计实例2:方式1反应力测试游戏PA口接数码管,方式0输出PB口接8个按键,方式1输入利用查询方式完成PB口的输入操作,PC口提供的联络信号有:

PC1——IBF(输入缓冲器满信号);PC2——STB(选通信号)36左旭坤(zxk78@)第八章:并行通信和串行通信硬件结构PB口方式1输入(查询)工作原理:当有按键按下,与门输出端变成低电平,作为选通信号送至PC2选通信号到来后,会使缓冲器满信号置位(PC1=1)CPU通过查询PC1是否为1,决定是否执行IN指令从PB口读取按键值37左旭坤(zxk78@)第八章:并行通信和串行通信软件流程38左旭坤(zxk78@)第八章:并行通信和串行通信编程技巧——根据键值判断按键号键值和键号对应规则:1#键按下——PB口读取键值:11111110B2#键按下——PB口读取键值:11111101B3#键按下——PB口读取键值:11111011B……8#键按下——PB口读取键值:01111111B和01H相与=0和02H相与=0和04H相与=0和80H相与=0MOVBX,0101HL0:MOVDX,42HINAL,DX

TESTAL,BL

JZEXIT1INCBHROLBL,1CMPBL,01HJNZL0MOVBH,1JMPL0EXIT1:MOVAL,BH39左旭坤(zxk78@)第八章:并行通信和串行通信设计16个按键,分别表示数字1~16按下相应按键数码管显示对应数字设计实例3:方式0多位数码管显示及矩阵键盘40左旭坤(zxk78@)第八章:并行通信和串行通信矩阵键盘原理

若使按键较多时,通常采用矩阵式(也称行列式)键盘。

矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,其结构如图所示。由图可知,一个4×4的行、列结构可以构成一个含有16个按键的键盘。矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。41左旭坤(zxk78@)第八章:并行通信和串行通信矩阵键盘原理按键的识别——扫描法下面以图中8号键的识别为例来说明扫描法识别按键的过程。按键按下时,与此键相连的行线与列线导通,行线在无键按下时处在高电平,显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平,只有这样,当有键按下时,该键所在的行电平才会由高电平变为低电平。CPU根据行电平的变化,便能判定相应的行有键按下。8号键按下时,第2行一定为低电平,然而,第2行为低电平时,能否肯定是8号键按下呢?回答是否定的。因为9、10、11号键按下同样使第2行为低电平。为进一步确定具体键,不能使所有列线在同一时刻都处在低电平,可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依此循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。采用键盘扫描后,再来观察8号键按下时的工作过程,当第0列处于低电平时,第2行处于低电平,而第1、2、3列处于低电平时,第2行却处在高电平,由此可判定按下的键应是第2行与第0列的交叉点,即8号键。42左旭坤(zxk78@)第八章:并行通信和串行通信矩阵键盘原理PA口低4位做行线,接高电平PC口低4位做列线PA工作于方式0输入,PC工作于方式0输出PA口地址:40H,PC口地址:44H43左旭坤(zxk78@)第八章:并行通信和串行通信矩阵键盘原理

CHECK:MOVH,0;行列号变量清0MOVL,0MOVAL,0F0H;所有列输出低电平

OUT44H,ALINAL,40H;读行值

CMPAL,0FFHJZCHECK;若都为高电平则无键按下,等待

MOVCX,50LOOP$;延时

INAL,40H;重读行值

CMPAL,0FFHJZCHECK;无键按下一直等待

44左旭坤(zxk78@)第八章:并行通信和串行通信矩阵键盘原理

MOVBL,01HMOVBH,0FEH;从第一列开始测试,PC0=0NEXT:MOVAL,BHOUT44H,AL;置PCi为低电平NEXTH:INAL,40H;读行值

TESTAL,BLJZWAIT0;该行有键按下,则计算键值

ROLBL,1;该行无键按下,判断下一行

CMPBL,10HJZNEXTL;当前列状态下没有任何行有键按

;下,则转为对下一列的测试INCH;每判断一行,行号加1JMPNEXTH;再对下一行进行判断

45左旭坤(zxk78@)第八章:并行通信和串行通信矩阵键盘原理NEXTL:MOVH,0;对下一列测试前,首先;清0行号

MOVBL,01H;每个列状态都要从第一;行开始判断ROLBH,1;对下一列测试,让下一;个PC口输出低电平

INCL;每测试一列,列号加1JMPNEXT;返回行判断程序46左旭坤(zxk78@)第八章:并行通信和串行通信矩阵键盘原理WAIT0:IN

AL,40H

CMPAL,0FFH

JNZ

WAIT0

;若有键按下,则等该按;键松开后再计算键值

MOVCX,50

LOOP$

;延时消抖

IN

AL,40H

CMPAL,0FFH

JNZ

WAIT0

MOVDH,H;以下程序计算当前按键

MOVDL,L;键值

SHL

DH,1

SHL

DH,1

;行号乘4

ADD

DH,DL;加列号

INC

DH

MOVV,DH;键值保存到变量V47左旭坤(zxk78@)第八章:并行通信和串行通信多片数码管显示原理PB接数码管数据线,向数码管发送显示码PC6=0PC7=1,点亮第一片PC6=1PC7=0,点亮第二片PB口地址:42H共阴极数码管48左旭坤(zxk78@)第八章:并行通信和串行通信多片数码管显示原理CMPAL,0JZGEWEI;若商为0,直接显示余数

MOVAL,80HOUT44H,AL;PC6=0,PC7=1,点亮十位

MOVBL,DLMOVAL,[SI+BX]OUT42H,AL;取十位显示码,送PB口

CALLDELY;延时

MOVAL,0OUT42H,AL;关显示,消除鬼影

GEWEI:MOVAL,40HOUT44H,AL;PC6=1,PC7=0,点亮个位

MOVBL,DHMOVAL,[SI+BX]OUT42H,AL;取个位显示码,送PB口

CALLDELY;延时

MOVAL,0OUT42H,AL;关显示,消除鬼影LEASI,LED;SI指向显示码首址

XORAX,AXMOVAL,V;键值送AXMOVBL,10DIVBLMOVDX,AXXORBX,BXCMPDX,0;若结果为0,退出

JZEXIT149左旭坤(zxk78@)第八章:并行通信和串行通信并行通信并行接口可编程并行接口芯片8255A串行通信可编程串行接口芯片8251A50左旭坤(zxk78@)第八章:并行通信和串行通信串行通信线路的工作方式单工方式半双工方式全双工方式51左旭坤(zxk78@)第八章:并行通信和串行通信串行通信的数据收发方式在串行通信中有两种基本的通信方式:即异步通信和同步通信。串行异步通信通信的双方进行异步串行通信时必须遵守异步串行通信控制规程,也称异步通信协议,他的特点是通信双方以一个字符(包括一些特定的附加位)作为数据传输单位。52左旭坤(zxk78@)第八章:并行通信和串行通信串行通信的数据收发方式在串行通信中有两种基本的通信方式:即异步通信和同步通信。2.串行同步通信

串行同步通信是靠同步字符来完成收发双方同步的,通信双方用统一时钟控制通信过程,与异步通信相比一个显著的特点是同步通信方式所用的数据格式没有起始位和停止位,一次传送的字符个数是可变的,但字符与字符间不允许有空隙。53左旭坤(zxk78@)第八章:并行通信和串行通信串行通信的数据收发方式在串行通信中有两种基本的通信方式:即异步通信和同步通信。3.异步通信和同步通信比较同步相对于异步,传输效率高(无停止位,起始位)。异步相对于同步,实现简单,接收和发送两方的时钟不需要严格同步。54左旭坤(zxk78@)第八章:并行通信和串行通信串行通信的接口标准在串行通信中常见的接口电路标准有RS-232C、RS-422、RS-485等,PC机上的两个COM口就遵从RS-232C标准RS-232C电平标准采用负逻辑:+3V~+15V:逻辑“0”;-3V~-15V:逻辑“1”55左旭坤(zxk78@)第八章:并行通信和串行通信串行通信的接口标准在串行通信中常见的接口电路标准有RS-232C、RS-422、RS-485等,PC机上的两个COM口就遵从RS-232标准RS-232C信号定义有DB-9和DB-25两种信号标准(P300)计算机常采用的电平标准为TTL:2.4V~5V:逻辑“1”;0V~0.4V:逻辑“0”当计算机与RS-232C器件连接时需要加电平转换的接口电路,如:MC1488,MC1489,MAX232等56左旭坤(zxk78@)第八章:并行通信和串行通信串行通信的传输率所谓传输率就是指每秒传输多少位,习惯称为波特率,单位bps。常见波特率:110、300、600、1200、2400、4800、9600、19200、28800、33600,目前最高可达56Kbps.57左旭坤(zxk78@)第八章:并行通信和串行通信串行通信的检错技术串行数据在传输过程中,由于干扰而引起误码是难免的,这直接影响通信系统的可靠性,对通信中的检错能力是衡是一个通信系统的重要内容。奇偶校验奇偶校验是最简单最常用的校验方法。它的基本原理是在所传输的有效数据中附加即检验)。利用检验位的存在,使整个信息中“1”的个数具有奇数或偶数的特性。信息经过线路传输后,若原来所具有的“1”的个数的奇偶性发生了变化,则说明出现了传输错误,可由专门的检测电路检测出来。这种利用信息位中“1”的个数的奇偶性来达到检验目的的编码称为奇偶校验码。使整个信息位“1”的个数为奇数的编码叫奇校验码;而使整个信息位“1”的个数为偶数的编码叫偶校验码。附加的信息位称为奇偶校验位,简称校验位。需要传送的数据位本身称为有效信息位。58左旭坤(zxk78@)第八章:并行通信和串行通信串行通信的检错技术串行数据在传输过程中,由于干扰而引起误码是难免的,这直接影响通信系统的可靠性,对通信中的检错能力是衡是一个通信系统的重要内容。奇偶校验例1:有效信息位是1011101,若采用偶校验,则附加的校验位是1。最后得到的信息是10111011

例2:有效信息位是1011011,若采用奇校验,则附加的校验位是0。最后得到的信息是10110110

解码:接收器在接收数据时,将接收到的整个信息经由专门的检测电路统计。对于例1,若“1”的个数仍为偶数,则认为接收的数据是正确的;否则,表明有差错出现,应停止使用这个数据,要求重新发送,或作其他专门处理。59左旭坤(zxk78@)第八章:并行通信和串行通信串行通信的检错技术串行数据在传输过程中,由于干扰而引起误码是难免的,这直接影响通信系统的可靠性,对通信中的检错能力是衡是一个通信系统的重要内容。奇偶校验电路60左旭坤(zxk78@)第八章:并行通信和串行通信并行通信并行接口可编程并行接口芯片8255A串行通信可编程串行接口芯片8251A61左旭坤(zxk78@)第八章:并行通信和串行通信

Intel8251A是通用同步/异步收发器USART(UniversalSynchronous/AsynchronousReceiverandTransmitter),是专为Intel微处理器设计的,可用作CPU和串行外设的接口电路。一、8251A的基本性能

⑴可用于同步和异步传送。⑵同步传送:5-8位/字符,内部或外部字符同步,自动插入同步字符。⑶异步传送:5-8位/字符,时钟速率为通信速率的1、16、64倍。⑷可产生启动位和停止位;可检查假启动位。⑸波特率:异步:DC-19.2K;同步:DC-64K。⑹完全双工、双缓冲器发送和接收。⑺误差检测:具有奇偶、溢出和帧错误等检测电路。⑻全部输入输出与TTL电平兼容;单一+5V电源。⑼与Intel8080、8085、8088/8086CPU兼容。62左旭坤(zxk78@)第八章:并行通信和串行通信二、8251A的引脚和内部结构

63左旭坤(zxk78@)第八章:并行通信和串行通信二、8251A的引脚和内部结构

CD:

内部寄存器选择信号TxD:

串行数据发送,输出,串行通信线。TxRDY:

发送器准备好,输出,表明8251的状态。TxEMPT:

发送缓冲器空,输出,表明8251的状态。TxC:

发送时钟,异步方式下,此频率为波特率的若干倍(波特率因子);同步方式下此频率与波特率相同。RxD:

串行数据接收,输入,串行通信线。RxRDY:

接收器准备好,输出,表明8251的状态。SYNDET/BRKDET:

同步检测/断路检测,双向。RxC:

接收时钟,异步方式下,此频率为波特率的若干倍(波特率因子);同步方式下此频率与波特率相同。CLK:时钟输入,内部定时用,同步方式下大于波特率30倍,异步方式下大于波特率4.5倍。CTS:

允许发送、输出。64左旭坤(zxk78@)第八章:并行通信和串行通信三、8251A的内部寄存器

C/D功能0000l0l01×001l×1l00×CPU从8251A读数据CPU从8251A读状态CPU写数据到8251ACPU写控制命令到8251AUSART总线浮空(无操作)CSRDWR65左旭坤(zxk78@)第八章:并行通信和串行通信四、8251A的工作过程——接收器工作过程

接收器的功能是在接收时钟的作用下接收RxD引脚上的串行数据并按指定的方式把它转换为并行数据。在异步方式下,当接收器成功的接收到起始位后,8251A便接收数据位、校验位、直到停止位。在内同步方式时,8251A首先搜索同步字符,在RxD是以一次一位的方式移动数据,在接收到每一位时都将现在接收的8位与同步字符寄存器的内容进行比较,若相等就搜索结束,使SYNDET位=1表示已经同步,然后开始接收数据。在外同步方式时,通过SYNDET引脚检测到外部电路提供的同步信号之后,开始接收数据。无论在什么方式下,接收的同时都可以进行校验,若发现错误,则在状态寄存器中保存,以便CPU处理;当校验无错时,才将并行数据存放在接收数据缓冲器中,并发出接收器准备好信号(RxRDY=1),通知CPU取数。66左旭坤(zxk78@)第八章:并行通信和串行通信四、8251A的工作过程——发送器工作过程

发送器的功能是,首先把待发送的并行数据转换成所要求的帧格式并加上校验位,然后在发送时钟的作用下,在TxD引脚上一位一位地串行发送出去。在异步方式时,发送器总是要加上起始位,并根据命令字的设定加上奇偶校验位和停止位;在同步方式下,发送器最先发送的是同步字符,而在随后发送的数据中除了奇偶校验位外不再插入别的位,如果在发送过程中CPU未及时提供发送数据,发送器就自动发送同步字符。不管哪种方式,发送完一帧数据后,发送器准备好信号置位(TxRDY=1),通知CPU发送下一个数据。67左旭坤(zxk78@)第八章:并行通信和串行通信五、8251A的控制字和状态字

8251A的控制字有两个,一个是工作模式控制字,另一个是操作命令控制字。前者用来定义8251A的工作方式,它必须紧接在8251A复位后由CPU写入;后者用来指定芯片的实际操作,只有在写入了模式字后,才能由CPU写入。1、工作模式控制字68左旭坤(zxk78@)第八章:并行通信和串行通信五、8251A的控制字和状态字

8251A的控制字有两个,一个是工作模式控制字,另一个是操作命令控制字。前者用来定义8251A的工作方式,它必须紧接在复位后由CPU写入;后者用来指定芯片的实际操作,只有在写入了方式字后,才能由CPU写入。2、操作命令控制字69左旭坤(zxk78@)第八章:并行通信和串行通信五、8251A的控制字和状态字

8251A工作过程中执行命令进行数据传输的工作状态字放在状态寄存器中,CPU通过IN指令读控制/状态口操作工作状态字。70左旭坤(zxk78@)第八章:并行通信和串行通信六、8251A的编程

初始化编程步骤步骤一:8251A系统复位后,用OUT指令写入控制端口工作模式命令字。规定双方的通信方式(同步/异步),数据格式(数据位和停止位长度、校验特征、同步字符特征)及传输速率(波特率因子)等参数。步骤二:如果8251A工作在同步方式,应由CPU执行OUT指令向控制端口写入规定的1个或2个字节的同步字符。步骤三:不论同步方式还是异步方式(复位命令除外),均再由CPU执行OUT指令向控制端口再写入操作命令控制字,控制8251A允许发送/接收。步骤四:CPU就可通过查询8251A的工作状态字内容或采用中断方式,进行正常的串行通信发送/接收工作。71左旭坤(zxk78@)第八章:并行通信和串行通信六、8251A的编程

8251A复位方法:若要对8251A复位,可向其控制口,先送3个00H,再送1个40H。

温馨提示

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

评论

0/150

提交评论