微机原理与接口技术(第3版)课件 第10章 可编程串行通信接口芯片8251A_第1页
微机原理与接口技术(第3版)课件 第10章 可编程串行通信接口芯片8251A_第2页
微机原理与接口技术(第3版)课件 第10章 可编程串行通信接口芯片8251A_第3页
微机原理与接口技术(第3版)课件 第10章 可编程串行通信接口芯片8251A_第4页
微机原理与接口技术(第3版)课件 第10章 可编程串行通信接口芯片8251A_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

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

文档简介

微机原理与接口技术第10章串行通信与可编程串行通信接口芯片8251A目录10.1串行通信基础10.2串行通信接口芯片8251A10.38251A应用举例3主要内容10.1串行通信基础串行通信方式数据传输方式信号传输方式串行接口标准4串行通信方式10.1串行通信基础并行通信:数据字符所有位同时传输,速度快、引线多、距离短。串行通信:数据各位在单根导线上一位一位的传输,速度慢、引线少、距离远。计算机RxDTxD计算机或外设RxDTxD计算机计算机或外设D0D7D0D75串行通信方式10.1串行通信基础串行通信的两种基本工作方式计算机RXDTXD计算机或外设RXDTXD计算机是以并行的方式来处理数据的发送的数据是串行的发送数据时需要进行并行数据→串行数据的转换。接收的数据是串行的接收数据时需要进行串行数据→并行数据的转换。串行数据的接收和发送需要时钟的控制。收发双方的时钟频率必须相同,才能保证数据串行传输的正确性。6串行通信方式10.1串行通信基础串行通信的两种基本工作方式根据串行通信时,收发双方的时钟是否是同一个,可以分为:异步通信和同步通信。发送移位寄存器接收移位寄存器串行数据输入串行数据输出发送时钟接收时钟异步通信收发双方时钟频率相同7串行通信方式10.1串行通信基础串行通信的两种基本工作方式根据串行通信时,收发双方的时钟是否是同一个,可以分为:异步通信和同步通信。发送移位寄存器接收移位寄存器串行数据输入串行数据输出同步时钟同步通信8串行通信方式10.1串行通信基础异步通信①每个字符总是以起始位开始(“0”),以停止位(“1”)结束。②字符之间没有时间间隔要求③字符后一位校验位(可没有)D0D1…….DxD0……空闲位起始位数据位(5~8位)校验位停止位空闲位起始位第n+1个字符一帧第n个字符可以是1位,1.5位,2位奇校验:数据位加上这一位后,“1”的个数为奇数个偶校验:数据位加上这一位后,“1”的个数为偶数个9串行通信方式10.1串行通信基础异步通信特点:是一个字符一个字符传输D0D1D2D3D4D5D6根据以上信号波形判断:传输的字符是什么?采用何种校验码?D6D5D4D3D2D1D010

00101B(45H)

‘E’加上校验位,“1”的个数是奇数个,因此是奇校验11000010111000空闲位起始位数据位低高停止位0校验位10串行通信方式10.1串行通信基础异步通信

W的ASCII码是57H,即01010111B。采用偶校验,所以校验位为1。异步串行通信协议规定信息发送顺序是低位在前,高位在后,因此起始位数据位校验位停止位011101010111

例11.1-1:异步串行通信,信息由1个起始位,2个停止位,1个校验位,和8个数据位组成,设传送英文大写字母W的ASCII码(57H)且采用偶校验,请写出此时传送信息的帧格式。01111串行通信方式10.1串行通信基础

同步通信一次传送若干个字符组成的数据块,并且规定了10个特殊字符作为这个数据块的开头与结束标志以及整个传输过程的控制信息。SYNSYNSOH标题STX数据块ETB/ETX块校验数据格式(一帧)12串行通信方式10.1串行通信基础

同步通信特定字符的定义:SYN:同步字符(Synchronous),表示一帧的开始;SOH:序始字符(StartofHeader),表示标题的开始;标题:包括原地址,目的地址,路由指示等信息;STX:文始字符(StartofText),表示正文开始。ETB/ETX:组终/文终字符(EndofText)、ETB(EndofTransmissionBlock)SYNSYNSOH标题STX数据块ETB/ETX块校验13串行通信方式10.1串行通信基础

串行传输速率波特率表示每秒传输的二进制位数,用波特率表示,即:1波特=bit/s(位/秒)字符速率是指每秒所传输的字符数,这个概念使用少。14串行通信方式10.1串行通信基础

串行传输速率字符速率与波特率的关系1个字符:1个起始位+8个数据位+1个校验位+2个终止位=12位如果字符速率:1000字符/s则波特率为:100012=12000bit/s

例:已知异步通信接口的帧格式由1个起始位,7个数据位,1个奇偶校验位和1个停止位组成。当该接口每分钟传送3600个字符时,试计算其波特率。每帧字符共10位(1+7+1+1)

3600×10位/60秒=600位/s=600bit/s15主要内容10.1串行通信基础串行通信方式数据传输方式信号传输方式串行接口标准16数据传输方式10.1串行通信基础单工(SingleDuplex)

使用一根传输线,只能从A到B发送接收器发送器A站B站特点:①一端只有发送器,令一端只有接收器②只有一条传送线应用:远程控制、单向传送设备

串行通信中,数据通常是在二个站(点对点)之间进行传送,按照数据流的方向可分成三种传输方式17数据传输方式10.1串行通信基础半双工(HalfDuplex)使用同一根传输线,既可发送数据又可接收数据,但不能同时收送数据发送器接收器发送器接收器A站B站特点:①每端需有一个收/发切换电子开关

②因有切换,会产生时间延迟应用:打印机串口,单向传送设备,发送器→接收器18数据传输方式10.1串行通信基础通信双方都能在同一时刻进行发送和接收操作全双工(FullDuplex)发送器接收器接收器发送器A站B站特点:①每一端都有发送器和接收器②有2条传送线应用:交互式应用,远程监测控制19主要内容10.1串行通信基础串行通信方式数据传输方式信号传输方式串行接口标准20信号传输方式10.1串行通信基础信号的调制与解调计算机通信是要求传输数字信号,而在进行远程数据通信时,线路往往是借用现有的公用电话网,但是,电话网是为音频模拟信号的设计的。一般为300~3400Hz,不适合于数据信号。因此需要对二进制信号进行调制,以适合在电话网上传输相应的音频信号,在接收时,需要进行解调,还原成数字信号。21信号传输方式10.1串行通信基础信号的调制与解调计算机MODEMMODEM模拟信号数字信号数字信号CRT101010101010调制电话线22信号传输方式10.1串行通信基础信号的调制调制就是进行波形变换。或者说进行频谱变换,就是将基带数字信号的频谱变换成适合于在模拟信道中传输的频谱。调制器是一个波形变换器,它将基带数字的波形变换成适合于模拟信道传输的波形。解调器是一个波形识别器,将模拟信号恢复成原来的数字信号。调制器解调器01001001001023信号传输方式10.1串行通信基础调制的方法调幅(AM)调频(FM)调相(PM)即载波的振幅随基带数字信号而变化.“1”对应有载波

“0”对应无载波AM01001124信号传输方式10.1串行通信基础调制的方法调幅(AM)调频(FM)调相(PM)即载波频率随数字信号而变化

“0”对应”f1”“1”对应“f2”f1f2FM25信号传输方式10.1串行通信基础调制的方法调幅(AM)调频(FM)调相(PM)即载波初始相位随基带数字信号而变化.“0”对应相位0度

“1”对应相位180度0度180度PM26主要内容10.1串行通信基础串行通信方式数据传输方式信号传输方式串行接口标准27串行接口标准10.1串行通信基础RS-232C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的,1969年公布的通信协议,适合的数传率:0~20Kbps。电气特性RS-232C对电气特性,逻辑电平和各种信号线的功能都作了规定。逻辑“1”=−3V~−15V

“0”=+3V~+15V注意与TTL电平的区别RS-232C标准28串行接口标准10.1串行通信基础RS-232C标准RS-232与TTL逻辑电平不一样,可用TTL/EIA电平转换器进行,如MC1488,MC1489IC。MC1488MC1489RS-232TTLEIA电平+15V+15VTTL+15V采用EIA电平比TTL电平具有更强的抗干扰性能。另外,MAX232省电可连接二对收/发线,只用单电源。29串行接口标准10.1串行通信基础机械特性连接器①DB-25型,25脚,只用9个信号(2个数据线,6个控制线,1个地址),1234DB-25型连接器5678911132522201814发送电流(-)发送电流(+)DCDGNDDSRCTSRTSRXDTXD(-)接收电流(+)接收电流30串行接口标准10.1串行通信基础机械特性连接器②DB-9型9针,9针全用123456789DSRRTSCTSRIDCDRXDTXDDTRGNDDB-9型连接器31串行接口标准10.1串行通信基础电缆长度RS-232直接连接的最大物理距离15M,通信速率<20Kbps。RS-232C接口信号的定义25线:数据线4条

(2,3,14,16)控制线11条(4,5,6,8,12,13,19,

20,22,23)定时信号线3条(15,17,24)地线2条(1,7)备用5条(9,10,11,18,25)未定义1234DB-25型连接器5678911132522201814发送电流(-)发送电流(+)DCDGNDDSRCTSRTSRXDTXD(-)接收电流(+)接收电流32串行接口标准10.1串行通信基础信号线连接近距离连接(<15m)只用3条线(发送线TXD,接收线RXD,信号地线)TXDRXDTXDRXDA机B机772233456204562033串行接口标准10.1串行通信基础信号线连接远距离连接(>=15m)需用MODEM和专用电话线,需用2~9条信号线(在接口与MODEM之间)计算机接口调制解调器DCDRXDTXDRTSCTSSGDSR调制解调器DCDRXDTXDRTSCTSSGDSR终端专用电话线2┇┇2采用MODEM时RS-232C信号线的使用目录10.1串行通信基础10.2串行通信接口芯片8251A10.38251A应用举例35主要内容10.2串行通信接口芯片8251A8251A概述8251A初始化编程368251A概述10.2串行通信接口芯片8251A

8251A的主要功能

能以同步方式或异步方式进行工作

工作于同步方式时,每个字符可定义为5~8位,可以加奇偶校验,能自动检测同步字符

异步工作方式下,字符可选5~8位,可加奇偶校验位,发送时,自动为每个字符添加1个起始位,并提供编程选择1位、1位半和2位停止位。

具有出错检测方式:奇偶、溢出和帧错误等检测电路

串行通信是全双工,双缓冲的接收/发送器378251A概述10.2串行通信接口芯片8251A

8251A的引脚

D1D0VCCRxCDTRRTSDSRRESETCLKTxDTxEMPTYCTSSYDENT/BRKDETTxRDY8251A28272625242322212019181716151234567891011121314D2D3RxDGNDD4D5D6D7TxCWRCSC/DRDRxRDY8251A概述10.2串行通信接口芯片8251A38状态缓冲器接收数据缓冲器发送数据/命令缓冲器D7~D0读/写控制逻辑调制/解调控制发送移位寄存器并串转换发送缓冲器发送控制电路接收移位寄存器串并转换接收缓冲器接收控制电路TXDTXRDYTXETXCRXDRXRDYSYNDET/BDRXCDTRDSRRTSCTS

RESETCLKC/DRDWRCS发送器接收器数据总线缓冲器

8251A内部结构

8251A概述10.2串行通信接口芯片8251A39状态缓冲器接收数据缓冲器发送数据/命令缓冲器D7~D0读/写控制逻辑调制/解调控制发送移位寄存器并串转换发送缓冲器发送控制电路接收移位寄存器串并转换接收缓冲器接收控制电路TXDTXRDYTXETXCRXDRXRDYSYNDET/BDRXCDTRDSRRTSCTS

RESETCLKC/DRDWRCS发送器接收器CPU用IN指令从此读取状态和数据信息存放CPU用OUT指令向8251A写入的数据和命令8251A概述10.2串行通信接口芯片8251A40状态缓冲器接收数据缓冲器发送数据/命令缓冲器D7~D0读/写控制逻辑调制/解调控制发送移位寄存器并串转换发送缓冲器发送控制电路接收移位寄存器串并转换接收缓冲器接收控制电路TXDTXRDYTXETXCRXDRXRDYSYNDET/BDRXCDTRDSRRTSCTS

RESETCLKC/DRDWRCS发送器接收数据的速率取决于时钟输入端RxC的时钟频率4111.2.18251A概述接收时钟

在接收数据时,接收器在接收时钟的有效沿作用下对接收数据按位采样,并按位串行移入移位寄存器。

其频率将直接影响设备接收数据的速度

对于同步方式,RxC端输入的时钟频率应等于接收数据的波特率。

对于异步方式,RxC端输入的时钟频率可由软件定义是波特率的1倍、16倍或64倍。波特率因子8251A概述10.2串行通信接口芯片8251A4211.2.18251A概述接收时钟12345678910111213141516123456789接收数据起始位16TD0=116T若接收时钟是波特率的16倍,以异步通信为例进行说明00116T8251A概述10.2串行通信接口芯片8251A8251A概述10.2串行通信接口芯片8251A43状态缓冲器接收数据缓冲器发送数据/命令缓冲器D7~D0读写控制逻辑调制/解调控制发送移位寄存器并串转换发送缓冲器发送控制电路接收移位寄存器串并转换接收缓冲器接收控制电路TXDTXRDYTXETXCRXDRXRDYSYNDET/BDRXCDTRDSRRTSCTS

RESETCLKC/DRDWRCS发送器01011110D0D1……7AHRxD引脚上接收串行数据。8251A概述10.2串行通信接口芯片8251A44状态缓冲器接收数据缓冲器发送数据/命令缓冲器D7~D0读写控制逻辑调制/解调控制发送移位寄存器并串转换发送缓冲器发送控制电路接收移位寄存器串并转换接收缓冲器接收控制电路TXDTXRDYTXETXCRXDRXRDYSYNDET/BDRXCDTRDSRRTSCTS

RESETCLKC/DRDWRCS发送器7AHRxRDY输出高电平,用于通知CPU,8251已从外部接收一个字符,等待送到CPU去。可作为中断请求信号,或者供CPU查询。INAL,

数据端口8251A概述10.2串行通信接口芯片8251A45状态缓冲器接收数据缓冲器发送数据/命令缓冲器D7~D0读写控制逻辑调制/解调控制发送移位寄存器并串转换发送缓冲器发送控制电路接收移位寄存器串并转换接收缓冲器接收控制电路TXDTXRDYTXETXCRXDRXRDYSYNDETRXCDTRDSRRTSCTS

RESETCLKC/DRDWRCS发送器内同步方式:将从RxD引脚上接收到的数据放入接收移位寄存器,与同步字符寄存器内的字符进行比较。同步字符寄存器06H01100000D0D1……06H两者相同,则将SYNDET引脚置为高电平。表示已同步。18251A概述10.2串行通信接口芯片8251A46状态缓冲器接收数据缓冲器发送数据/命令缓冲器D7~D0读写控制逻辑调制/解调控制发送移位寄存器并串转换发送缓冲器发送控制电路接收移位寄存器串并转换接收缓冲器接收控制电路TXDTXRDYTXETXCRXDRXRDYSYNDETRXCDTRDSRRTSCTS

RESETCLKC/DRDWRCS外同步方式:由外部检测电路来检测同步字符。检测到同步字符后,从同步输入端SYNDET输入一个高电平,通知8251A,当前已检测到同步字符。发送器8251A概述10.2串行通信接口芯片8251A47状态缓冲器接收数据缓冲器发送数据/命令缓冲器D7~D0读写控制逻辑调制/解调控制发送移位寄存器并串转换发送缓冲器发送控制电路接收移位寄存器串并转换接收缓冲器接收控制电路TXDTXRDYTXETXCRXDRXRDYBRKDETRXCDTRDSRRTSCTS

RESETCLKC/DRDWRCS发送器异步方式下,该引脚为断点监测端,输出。当RxD连续收到2个全0数字位组成的字符时,该引脚输出高电平,表示无数据接收.8251A复位或RxD接收到“1”信号时,该引脚复位成低电平.可作状态位供CPU查询8251A概述10.2串行通信接口芯片8251A48状态缓冲器接收数据缓冲器发送数据/命令缓冲器D7~D0读写控制逻辑调制/解调控制发送移位寄存器并串转换发送缓冲器发送控制电路接收移位寄存器串并转换接收缓冲器接收控制电路TXDTXRDYTXETXCRXDRXRDYSYNDET/BDRXCDTRDSRRTSCTS

RESETCLKC/DRDWRCS发送器接收器发送数据的速率取决于时钟输入端TxC的时钟频率波特率因子4911.2.18251A概述发送时钟

在发送数据时,发送器在发送时钟的有效沿作用下将移位寄存器的数据按位移位串行输出

其频率将直接影响设备发送数据的速度

对于同步方式,TxC端输入的时钟频率应等于发送数据的波特率。

对于异步方式,TxC端输入的时钟频率可由软件定义是波特率的1倍、16倍或64倍。8251A概述10.2串行通信接口芯片8251A8251A概述10.2串行通信接口芯片8251A50状态缓冲器接收数据缓冲器发送数据/命令缓冲器D7~D0读写控制逻辑调制/解调控制发送移位寄存器并→串转换发送缓冲器发送控制电路接收移位寄存器串并转换接收缓冲器发送控制电路TXDTXRDYTXETXCRXDRXRDYSYNDET/BDRXCDTRDSRRTSCTS

RESETCLKC/DRDWRCS接收器当允许8251A发送数据,且发送数据/命令缓冲器为空,TxRDY有效。表示发送缓冲器准备好从CPU接收一个数据.可作为中断请求信号或状态查询信号空OUT

数据端口,AL

72H1当CPU向8251A发送一个并行数据后,变成低电平08251A概述10.2串行通信接口芯片8251A51状态缓冲器接收数据缓冲器发送数据/命令缓冲器D7~D0读写控制逻辑调制/解调控制发送移位寄存器并→串转换发送缓冲器发送控制电路接收移位寄存器串并转换接收缓冲器发送控制电路TXDTXRDYTXETXCRXDRXRDYSYNDET/BDRXCDTRDSRRTSCTS

RESETCLKC/DRDWRCS接收器发送器空信号,有效时表示并->串转换器空,无数据可向外发送.当8251A从CPU接收到1个数据后变低。72H018251A概述10.2串行通信接口芯片8251A52状态缓冲器接收数据缓冲器发送数据/命令缓冲器D7~D0读写控制逻辑调制/解调控制发送移位寄存器并→串转换发送缓冲器发送控制电路接收移位寄存器串→并转换接收缓冲器发送控制电路TXDTXRDYTXETXCRXDRXRDYSYNDET/BDRXCDTRDSRRTSCTS

RESETCLKC/DRDWRCS有效时,8251A进入空闲状态,等待对芯片进行初始化编程时钟信号用来产生8251A内部的定时信号.同步方式下CLK需比RxC和TxC大30倍,异步方式下要大4.5倍。控制/数据信号,输入=1,表示数据总线传送的是控制信息或状态字(控制端口);=0,传送的是数据信息(数据端口)5311.2.18251A概述8251A概述10.2串行通信接口芯片8251ACSC/DRDWR功能00000011010110108251A数据→数据总线

(读数据)数据总线→8251A数据

(写数据)8251A状态字→数据总线(读状态)数据总线→8251A控制字(写命令)1XXX8251A总线浮空(无操作)读/写控制信号组合与8251A操作的对应关系11.2.18251A概述8251A概述10.2串行通信接口芯片8251A54状态缓冲器接收数据缓冲器发送数据/命令缓冲器D7~D0读写控制逻辑调制/解调控制发送移位寄存器并→串转换发送缓冲器发送控制电路接收移位寄存器串→并转换接收缓冲器发送控制电路TXDTXRDYTXETXCRXDRXRDYSYNDET/BDRXCDTRDSRRTSCTS

RESETCLKC/DRDWRCS5511.2.18251A概述数据终端用于收发数据的终端和计算机DTE数据通信设备通常MODEM和其它用于远距离发送串行数据的设备统称为数据通信设备DCE。11.2.18251A概述8251A概述10.2串行通信接口芯片8251A5611.2.18251A概述当终端和远程计算机之间进行通信时,可用8251A作为远距离通信接口芯片,并需要与调制解调器连接,经标准电话线传输数据。TXDRXDDTRDSRRTSCTSRXCTXC异步MODEM波特率产生器电话线接口ABDBCB8251电话线数据终端准备好

8251A完成初始化并做好接收数据的准备工作后,向MODEM发出有效的DTR信号,告知MODEM数据终端已准备好。可用软件定义。11.2.18251A概述8251A概述10.2串行通信接口芯片8251A5711.2.18251A概述TXDRXDDTRDSRRTSCTSRXCTXC异步MODEM波特率产生器电话线接口ABDBCB8251电话线数据装置准备好是DTR的应答信号。有效时表示MODEM已经准备好数据。CPU可以查询其状态。11.2.18251A概述当终端和远程计算机之间进行通信时,可用8251A作为远距离通信接口芯片,并需要与调制解调器连接,经标准电话线传输数据。11.2.18251A概述8251A概述10.2串行通信接口芯片8251A5811.2.18251A概述TXDRXDDTRDSRRTSCTSRXCTXC异步MODEM波特率产生器电话线接口ABDBCB8251电话线请求发送信号有效时表示计算机或数据终端已准备好数据,需要发送,该信号向MODEM发出请求。可用软件定义11.2.18251A概述当终端和远程计算机之间进行通信时,可用8251A作为远距离通信接口芯片,并需要与调制解调器连接,经标准电话线传输数据。11.2.18251A概述8251A概述10.2串行通信接口芯片8251A5911.2.18251A概述TXDRXDDTRDSRRTSCTSRXCTXC异步MODEM波特率产生器电话线接口ABDBCB8251电话线清除发送信号是MODEM对RTS的应答信号MODEM做好了发送串行数据的准备,就向终端发送此信号。11.2.18251A概述当终端和远程计算机之间进行通信时,可用8251A作为远距离通信接口芯片,并需要与调制解调器连接,经标准电话线传输数据。11.2.18251A概述8251A概述10.2串行通信接口芯片8251A11.2.18251A概述11.2.18251A概述11.2.18251A概述8251A概述10.2串行通信接口芯片8251A60

D7~D0A7A6A5A4M/IOA3A2A0A1RESETRDWR&8086111G1G2AG2BCBAY01D7~D0CS8251AC/DRESETRDWRTXRDYTXERXRDYBRKDETTXDRXDRXCTXCRS-232C接口外设波特率产生器8251A与CPU之间的连线A7A6A5A4A3A2A1A0111100X0(F0H)F0H0:F0H1:F2H8251A与外设的连线000与CPU的收发联络信号61主要内容10.2串行通信接口芯片8251A8251A概述8251A初始化编程628251A初始化编程10.2串行通信接口芯片8251A模式字S1S0EPPENL1L0B1B0D7D6D5D4D3D2D1D0停止位奇偶校验字符长度波特因子(异步)00=无效01=1位10=1.5位11=2位×0=无校验01=奇校验11=偶校验00=5位01=6位10=7位11=8位01=×1异步10=×16-11=×64-可区分同步和异步方式异步方式的模式字D1D0≠00

638251A初始化编程10.2串行通信接口芯片8251A模式字波特率因子:RxC和TxC与波特率之间的关系收发时钟频率=收发波特率×波特率系数若收发时钟频率为19200,波特率系数为16,则收发波特率为19200/16=1200。

若8251A以9600波特的速率发送数据,波特率因子为16,发送时钟TxC的频率是多少?fTxC=9600×

16648251A初始化编程10.2串行通信接口芯片8251A模式字SCSESDEPPENL1L0B1B0D7D6D5D4D3D2D1D0奇偶校验字符长度000=双同步1=单同步×0=无校验01=奇校验11=偶校验00=5位01=6位10=7位11=8位同步方式的模式字0=内同步1=外同步658251A初始化编程10.2串行通信接口芯片8251A模式字

例:异步通信中,若帧数据格式为:字符长度8位,1位起始位,2位停止位,奇校验,波特率因子是16,则工作字是:S1S0EPPENL1L0B1B0D7D6D5D4D3D2D1D011011110MOV DX,04C2H;8251A控制/状态端口地址MOV AL,0DEH;异步模式字OUT DX,AL668251A初始化编程10.2串行通信接口芯片8251A模式字

例:同步通信中,若帧数据格式为:字符长度8位,双同步字符,内同步方式,奇校验,则工作字是:SCSESDEPPENL1L0B1B0D7D6D5D4D3D2D1D000011100MOV DX,04C2H;8251A控制/状态端口地址MOV AL,1CH;同步模式字OUT DX,AL678251A初始化编程10.2串行通信接口芯片8251A

命令字用于确定8251A的操作,使其进行某种操作或工作状态,以便接收或发送数据。67EHIRRTSERSBRKRXEDTRTXEND7D6D5D4D3D2D1D0进入搜索方式内部复位发送请求错误标志复位发中止字符接收允许数据终端准备好发送允许D7=1启动同步字符搜索D4=1复位PE,OE,FED0=1,允许发送

=0,禁止发送D2=1,允许接收

=0,禁止接收D3=1,使TxD线变低,发中止字符(空号)D3=0,正常操作D1=1,已准备好使DTR引脚输出低电平D1=1,请求发送使RTS引脚输出低电平D6=1,内部复位,使8251A回到方式选择格式688251A初始化编程10.2串行通信接口芯片8251A

8251A编程流程68复位操作输出模式字异步方式输出第1个同步字双同步输出第2个同步字输出命令字NYYN复位NY传送数据输入状态字有错Y出错处理N传送完NY结束初始化流程698251A初始化编程10.2串行通信接口芯片8251A

8251A编程流程69在传送数据过程中,若需要改变传送方式,则必须写入使8251A内部复位的命令字,然后再重新写入新的模式字和命令字。注意8251A在工作过程中,允许用IN指令读取8251A的状态字,用于了解8251A的当前工作状态,以便控制CPU与8251A之间的数据交换。约定双方的通信方式,数据格式,传送速率确定8251A的实际操作,迫使8251A进行某种操作或工作状态,以便接收或发送数据8251A执行命令进行数据传送后的状态字存放在状态寄存器中,CPU通过读出状态字进行分析和判断,以决定下一步的操作。708251A初始化编程10.2串行通信接口芯片8251A70EHIRRTSERSBRKRXEDTRTXEND7D6D5D4D3D2D1D0进入搜索方式内部复位发送请求错误标志复位发中止字符接收允许数据终端准备好发送允许

例:使8251A内部复位,并且复位出错标志,允许接收,又允许发送,则程序段为:0100000040H为8251A内部复位命令718251A初始化编程10.2串行通信接口芯片8251A71EHIRRTSERSBRKRXEDTRTXEND7D6D5D4D3D2D1D0进入搜索方式内部复位发送请求错误标志复位发中止字符接收允许数据终端准备好发送允许

例:使8251A内部复位,并且复位出错标志,允许接收,又允许发送,则程序段为:00010101728251A初始化编程10.2串行通信接口芯片8251A72

例:使8251A内部复位,并且复位出错标志,允许接收,又允许发送,则程序段为:MOV DX,04C2H;8251A控制/状态端口地址MOVAL,01000000B ;置D6=1,使内部复位OUTDX,AL;---------------------------------写命令字MOVAL,00010101B ;置D0=1,D2=1,允许接收和发送OUTDX,AL738251A初始化编程10.2串行通信接口芯片8251A

状态字8251A执行命令进行数据传送后的状态字存放在状态寄存器中,CPU通过读出状态字进行分析和判断,以决定下一步的操作。73DSRSYNDETFEOEPETXERXRDYTXRDYD7D6D5D4D3D2D1D0数据装置就绪同步检出格式错溢出错奇偶错发送器空接收准备好发送准备好与引脚定义相同与引脚的不同见p267748251A初始化编程10.2串行通信接口芯片8251A

状态字74

例:若查询8251A接收器是否准备好,则用下列程序

MOV DX,04C2H;8251A控制/状态端口地址L: IN AL,DX ;读状态字

TESTAL,02H ;查D1=1?(RXRDY=1?)

JZ L ;未准备好,则等待

MOVDX,04C0H;数据口

……(奇地址)(偶地址)758251A初始化编程10.2串行通信接口芯片8251A

状态字75

例:检查出错信息,则用下列程序段

MOV DX,04C2H;8251A控制/状态端口地址IN AL,DX TESTAL,38H ;检查D5D4D3三位(FE,OE,PE) JNZERROR ;若其中有一位为1,则出错 ……ERROR:(奇地址)DSRSYNDETFEOEPETXERXRDYTXRDYD7D6D5D4D3D2D1D000111000目录10.1串行通信基础10.2串行通信接口芯片8251A10.38251A应用举例77主要内容10.38251A应用举例案例:双机通信案例:简易交通灯控制系统V5.08251A在自动气象站中的应用78案例:双机通信10.38251A应用举例

例:甲机和乙机采用异步通信,甲机重复输出字符串“ILoveChina!”,乙机接收。设波特率因子为1,无校验位,1个停止位,8个数据位。S1S0EPPENL1L0B1B0D7D6D5D4D3D2D1D001001101模式字甲机01001101乙机79案例:双机通信10.38251A应用举例

例:甲机和乙机采用异步通信,甲机重复输出字符串“ILoveChina!”,乙机接收。设波特率因子为1,无校验位,1个停止位,8个数据位。命令字EHIRRTSERSBRKRXEDTRTXEND7D6D5D4D3D2D1D0进入搜索方式内部复位发送请求错误标志复位发中止字符接收允许数据终端准备好发送允许甲机00010101

允许发送和接收,15H(也可以允许只发送,11H)(程序略)80案例:双机通信10.38251A应用举例

例:甲机和乙机采用异步通信,甲机重复输出字符串“ILoveChina!”,乙机接收。设波特率因子为1,无校验位,1个停止位,8个数据位。命令字EHIRRTSERSBRKRXEDTRTXEND7D6D5D4D3D2D1D0进入搜索方式内部复位发送请求错误标志复位发中止字符接收允许数据终端准备好发送允许乙机00010101

允许发送和接收,15H(也可以允许只接收,14H)(程序略)81主要内容10.38251A应用举例案例:双机通信案例:简易交通灯控制系统V5.08251A在自动气象站中的应用82案例:简易交通灯控制系统V5.010.38251A应用举例

简易交通灯控制系统V5.0,利用8251A把当前路口的通行情况发送出去。8251A的模式字、命令字的设置与双机通信案例一致(程序略)在系统V4.0的基础上增加了8251A在主程序中增加对8251A的初始化在主程序循环发送当前通信的方向和信号灯配时情况83案例:简易交通灯控制系统V5.010.38251A应用举例

简易交通灯控制系统V5.0,利用8251A把当前路口的通行情况发送出去。84主要内容10.38251A应用举例案例:双机通信案例:简易交通灯控制系统V5.08251A在自动气象站中的应用858251A在自动气象站中的应用10.38251A应用举例通过8251A实现自动气象站与上位机通信,把温度、湿度、气压、风速、风向、降雨量、太阳辐射强度数据发送给上位机。

其中每个气象要素各占1个字节,上位机接收这7个字节数据,并进行数据处理、存储、打印等

8251A工作在异步模式下,8位数据,1位停止位,偶校验,波特率系数为64

控制/状态端口和数据端口地址为04C2H和04C0H。分析:自动气象站把测量数据按顺序排好,存储在存储空间内,通过查询方式发送给上位机。

868251A在自动气象站中的应用10.38251A应用举例

当气象站接收到上位机发送的‘#030CGG’的时候,就开始执行发送程序,上位机依次接收这7个字节数据,当接收到7个字节数据时,则停止接收。

接收程序中进行偶校验,如出错,则转到出错处理程序。分析:通过8251A实现自动气象站与上位机通信,把温度、湿度、气压、风速、风向、降雨量、太阳辐射强度数据发送给上位机。

其中每个气象要素各占1个字节,上位机接收这7个字节数据,并进行数据处理、存储、打印等

878251A在自动气象站中的应用10.38251A应用举例气象站程序流程图开始8251A初始化收到#030CGG?NY发送数据TxRDY?NY发送气象要素数据发送7字节?NY结束888251A在自动气象站中的应用10.38251A应用举例DATA SEGMENT

RBUFFER DB10DUP(?) ;接收缓冲区

SBUFFER DB10DUP(?) ;发送缓冲区,存放各个气象要素

STRIN DB‘#030CGG’ CTRL8251 EQU 04C2H DATA8251 EQU 04C0H ;定义8251A的端口地址DATA ENDSCODE SEGMENT

ASSUME CS:CODE,DS:DATA

ORG1300H ;定义起始地址START:MOVAX,DATA

MOVDS,AX【气象站程序】898251A在自动气象站中的应用10.38251A应用举例MOVAL,7FH

温馨提示

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

评论

0/150

提交评论