第11章 可编程串行接口芯片8251A

合集下载

可编程串行通信接口芯片8251A

可编程串行通信接口芯片8251A

可编程串行通信接口芯片8251A可编程串行通信接口芯片8251A2010-05-25 15:058251 A是一个通用串行输入/输出接口,可用来将86系列CPU以同步或异步方式与外部设备进行串行通信。

它能将主机以并行方式输入的8位数据变换成逐位输出的串行信号;也能将串行输入数据变换成并行数据传送给处理机。

由于由接口芯片硬件完成串行通信的基本过程,从而大大减轻了CPU的负担,被广泛应用于长距离通信系统及计算机网络。

8251A是一个功能很强的全双工可编程串行通信接口,具有独立的双缓冲结构的接收和发送器,通过编程可以选择同步方式或者异步方式。

在同步方式下,既可以设定为内同步方式也可以设定为外同步方式,并可以在内同步方式时自动插入一个到两个同步字符。

传送字符的数据位可以定义为5~8位,波特率0~64K可选择。

在异步方式下,可以自动产生起始和停止位,并可以编程选择传送字符为5~8位之间的数据位以及1、1/2位之中的停止位,波特率0~19.2K可选择。

同步和异步方式都具有对奇偶错、覆盖错以及帧错误的检测能力。

一、8251A内部结构及功能图8.5.1为8251A结构框图。

作为常用的通信接口,和8255A类似,8251A 的结构也可以归纳为以下三个部分:第一部分是和CPU或者总线的接口部分,其中包括数据总线缓冲器、读/写控制逻辑。

数据总线缓冲器用来把8251A和系统数据总线相连,在CPU执行输入/输出指令期间,由数据总线缓冲器发送和接收数据,此外,控制字,命令字和状态信息也通过数据总线缓冲器传输,读/写控制逻辑电路用来配合数据总线缓冲器工作。

CPU通过数据总线缓冲器和读写控制逻辑向8251A写入工作方式和控制命令字,对芯片初始化;向8251A写入要发送字符的数据代码,送到发送缓冲器进行并行到串行的转换,并且将接收的、已转换成并行代码的接收缓冲器中的字符数据读入CPU。

第二部分是数据格式转换部分,包括发送缓冲器、并行数据到串行数据转换的发送移位器,接收缓冲器和串行数据到并行数据转换的接收移位器,以及发送控制电路和接收控制电路。

可编程串行通信接口芯片8251A

可编程串行通信接口芯片8251A
能根据编程为每个字符设置1个、1.5个或2个停止位。 • (4)所有的输入输出电路都与TTL电平兼容。 • (5)全双工双缓冲的接收/发送器。
2
1.1 8251A内部逻辑与工作原理
• 8251A的结构框图如图1.1所示,可分五个主要部分:数据总线缓冲器、接收缓冲器、 发送缓冲器、读/写控制逻辑电路和调制解调控制电路。
• 2.命令控制字:设置为00110111B(即37H),置引脚、有效,出错标志复位,允许发送和接收 (虽然本例只是接收,但8251A作为串行通信接口,通常同时具有发送和接收功能,只是本例仅编 写输入部分程序而已),写入控制端口,端口地址为71H。
• 3.状态字:检测状态字D1位的RXRDY,若RXRDY=1,说明已接收一个完整字符,可以读取。读 取一个字符后,还要确定接收的字符是否正确,方法是检测状态字的D5D4D3位(帧错、溢出错、 奇偶错),相应位为1表明出现对应的错误,需要进行错误处理。
3
8251A的结构框图
4
(1)数据总线缓冲器
• 数据总线缓冲器是三态双向8位缓冲器,它是8251A与微机系统数据总线的接口,数 据、控制命令及状态信息均通过此缓冲器传送。它含有命令寄存器、状态寄存器、 方式寄存器、两个同步字符寄存器、数据输入缓冲器和数据输出缓冲器。
5
(2)发送缓冲器
• 发送缓冲器的功能是接收CPU送来的并行数据,按照规定的数据格式变成串行数据 流后,由TXD输出线送出。
15
• 1.方式选择控制字:根据题意,方式选择控制字为11111010B(即FAH),写入控 制端口,端口地址为201H。
• 2.命令控制字:设置为00110111B(即37H),允许发送和接收,写入控制端口, 端口地址为201H。

第11讲 微机接口技术(2)-串口8251A

第11讲 微机接口技术(2)-串口8251A
38
三 8251A的控制字 1. 方式寄存器
方式寄存器是8251A在初始化时,用来写入方式选择字用的。
方式选择有两种:同步方式和异步方式。方式寄存器有8位,最 低2位全为0时表示是同步方式,最低2位不全为0时表示是异步 方式。具体格式: 1) 8251A工作在同步方式下 当825lA工作在同步方式下时,方式寄存器的格式如下图所 示。
0/1
0/1
±Ö Ê Ó 8
ì â ¼ ² µ ½ Æ ð ¼ Î Ê » ¼ ² ì â ½ µ Ó Ð §Æ Ð ð Ê ¼ » Î
16
16
» ² Î É Ñ ù Ê ±Ö Ó
6
同步通信方式
以一个固定长度的字符组成的数据块(帧)为传输单位,每个数据块 附加1个或2个同步字符,最后以校验字符结束。 同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂。 串行同步通信主要应用在网络当中。最常使用高级数据链路控制协议 HDLC。
8
面向字符的同步协议
典型代表为IBM的二进制同步通信协议
所有信息都是由字符组成,即只传送字符的 ASCII码。 为了区别数据信息和控制信息定义了10个特殊字 符为控制字符。这些字符在ASCII码中本来就是 控制字符(0列或1列)。 但如果数据信息的代码和控制字符相同,两者就 不能区分。为此引入“转义字符”DEL(编码为 00100000)。当数据代码和控制字符相同时, 前面加上转义字符DEL。
为串行码输出。
28
UART是用外部时钟来和接收的数据进行同步 的。外部时钟的周期Tc和每个数据位的周期Td有 以下关系: Tc=Td/K K=16或64(K为波特率因子) 外部时钟和接收数据的同步如图所示:
29
30
为了检测长距离传送中可能发生的错误,通常增加 一个奇偶校验位。 发送时,自动在奇偶校验位上添上“1”或“0”; 接收时,UART检查字符的每一位以及奇偶校验位的 “1”的个数,以确定是否发生传送错误。

第4讲可编程串行通信接口芯片8251A

第4讲可编程串行通信接口芯片8251A

第4讲 可编程串行通信接口芯片8251A
例2:编写通过8251A采用查询方式接收数据 的初始化程序
将8251定义为:异步传送方式,波特率系数为 64偶校验,1位停止位,7位数据位.设8251A数 据口地址为06A0H,控制口地址为06A2H.

第4讲 可编程串行通信接口芯片8251A
MOV DX,06A2H MOV AL,7BH ;写工作方式控制字 OUT DX,AL MOV AL,14H ;写操作命令控制字 OUT DX,AL WAIT: IN AL,DX ;读入状态控制字 AND AL,02H JZ WAIT ;检查RxRDY是否为1 MOV DX,06A0H IN AL,DX ;输入数据
5.全双工,双缓冲的发送器和接收器.
6.具有三种错误检测功能:奇/偶,溢出和帧错误.
第4讲 可编程串行通信接口芯片8251A
8251A的内部工作原理图:
第4讲 可编程串行通信接口芯片8251A
第4讲 可编程串行通信接口芯片8251A
8251A芯片的初始化
为使8251配合cpu进行通信,通信之前: 1.约定双方的通信方式〔同步/异步〕,数据格式
3.单片机:把cpu、内存储器、输入输出 接口集成在一个芯片上所构成的微型计 算机.
INC DI
IN AL,0F1H
TEST AL,38H
;检测错误标志
JNZ ERROR
;出错,至错误处理
LOOP WAIT
第4讲 可编程串行通信接口芯片8251A
相关术语
1.微型计算机:把cpu、内存储器、输入 输出接口电路集成在若干芯片上,加上 控制电极和电源等所组成的计算机.
2.单板机:把cpu、内存储器、输入输出 接口电路装在一块印制电路板上所构成 的微型计算机.

可编程串行接口芯片8251A

可编程串行接口芯片8251A
奇偶校验允许:1 允许;0 不允许
停止位位数
图9.13 方式指令字各位含义
校验类型:1 偶校验;0 奇校验 S2 S1 00 0 1 1b 1 0 1.5b 1 1 2b
Hale Waihona Puke 1.3 8251A的编程接口技术
B2、B1位表示收发时钟与波特率的关系。
如当B2、B1置为10时,假设收发时钟频率为 19.2KHz,则表示8251A为异步方式,且波特 率为1200。
1.3 8251A的编程
接口技术
对8251A的编程是指由CPU写入控制字(包 括方式指令字和命令指令字)和读/写收发数 据,实现对8251A的各种工作方式以及工作进 程的控制。
8251A的编程包括初始化编程和收发数据过程 的编程两部分。
1.方式指令字
8251A方式指令字各位的定义如图9.13所示。
L2、L1指定串行异步通信中每个字符数据的 位数,可以在5~8位之间选择。
PEN位用来选择是否需要奇偶校验位。
EP位用来选择奇校验或偶校验,若EP=1, 则进行偶校验;若EP=0,则进行奇校验。
1.3 8251A的编程
接口技术
S2、S1用来指定异步方式下的停止位的位数, 可以选择1、1.5或2位。 在 同 步 方 式 ( B2、B1=00), 则 S1=1 为 外 同步,
1.3 8251A的编程
接口技术
1.方式指令字
8251A方式指令字各位的定义如图9.13所示。
D7 D6 D5 D4 D3 D2 D1 D0 S2 S1 EP PEN L2 L1 B2 B1
波特率因子
字符长度
B2 B1 00同步 011 1 016 1 164
L2 L1 005b 016b 107b 1 18b

串行通讯接口8251A

串行通讯接口8251A
RECEIVER shi.REG
B U S
8286
(opotion)
D7-D0
SERIAL RxD INPUT
T
DATA-IN BUFFER
RESET RxRSY TxRDY RD WR
DATA-OUT BUFFER
TxE TxD SERIAL OUTPUT
TRANS. Shi REG
DSR DTR
3.
Intel 8251A可编程通信接口的结构与编程
• 8251A的编程 操作过程:8251A工作方式及运行由程序 控制。
复位操作
输出模式字 是
同步方式 ?
否 输出命令字 是 输出第一个同步字符 双同步 ? 是 输出第二个同步字符 否
复位 ? 传送数据 否 传递完 ? 是
异步传送模式字格式
RESET CLK C/D RD WR CS D A DSR DTR CTS RTS B U S MODEM CONTROL D A
REA D / WRITE
TRANSMIT CONTROL
TxRDY TxEMPT TxC
CONTROL LOGIC
RECEIVE BUFFER S P
RxD
RECEIVE BUFFER
8251A可编程通信接口
2. 串行通信的术语 • 全双工、半双工、单工 单工:通信一方为发送器,另一方为接收器, 一条传输线相连, 进行单向传输。 A B
发送器 接收器
单工
计算机主机与外设之间串行通信,多采用全 双工方式。
8251A可编程通信接口
2. 串行通信的术语 • 同步与异步通信方式 同步方式:通信双方用统一时钟控制通信过程, 信息传输组成数据包(数据帧)。每 帧头尾是控制代码,中间是数据块, 可有数百字节。不同的同步传输协 议有不同的数据帧格式。 数据帧 包头 数据块 包尾

芯片8251A介绍.ppt

芯片8251A介绍.ppt
8251A有两个控制字和一个状态字: 方式选择控制字:用于规定8251A的工作方式 ; 操作命令控制字:使8251A处于规定的工作状态,
以准备接收或发送数据 状态字:寄存8251A的工作状态
方式选择控制字格式
D7 D6 D5 D4 D3 D2 D1 D0
奇偶校验
X0:无校验 01:奇校验 11:偶校验
OUT DX,AL
INC DI
;修改指针
LOOP NEXT
HLT
设接收端8251A数据口地址为RDATA,控制口/状态口地址为 RCONT,接收数据缓冲区首地址为RBUFF
SRR: MOV DX,RCONT ;送方式选择控制字
MOV AL,7FH
OUT DX,AL
MOV AL,14H
;清除错误标志,允许接收
①通过编程,8251A可以工作在同步方式,波特率0~ 64K,也可以工作在异步方式,波特率0~19.2K; ②同步方式下可以用5~8位来表示字符,允许增加1 位奇偶校验位,能自动检测同步字符,实现收发同步;
③异步方式下用5~8位来表示字符,1位可选的奇偶校 验位,1位启动位,根据需要可设置1、1.5或2位停止位;
4. 信号的调制与解调
为在模拟信道上传输数字信号,必须把数字信号转换 成适于传输的模拟信号,而在接收端再将模拟信号转 换成数字信号。前一种转换称为调制,后一种转换称 为解调。完成调制、解调功能的设备叫做调制解调器 (Modem)。
三种主要的调制方式:
•幅移键控ASK •频移键控FSK •相移键控PSK


算 机





微机系统在串行通信时必须进行串行与并行的转换
2. 同步方式和异步方式 •异步串行方式

串行通信和可编程串行接口芯片8251A

串行通信和可编程串行接口芯片8251A
在8251a芯片与微处理器之间,数据线需要进行正确连接,确保数据传输的可靠 性和稳定性。
控制线的连接
控制线用于控制8251a芯片的工作方式和状态,如起始位、 停止位、波特率等。
控制线通常由微处理器通过编程设置,以实现串行通信的参 数配置和控制。
地址线的连接
地址线用于标识8251a芯片在系统中的地址,以便微处理 器能够正确寻址和访问。
02
movwf CR ; 将值写入CR寄存器
03 movlw 0x01 ; 设置IER寄存器,允许接收中断
初始化编程
movwf IER ; 将值写入IER寄存器
```ቤተ መጻሕፍቲ ባይዱ
数据发送编程
01 发送步骤
02
将数据写入发送缓冲寄存器(THR)。
03
通过设置控制寄存器(CR)的发送使能位启动发送过
程。
数据发送编程
编程控制
通过编程控制8251A的工作模式、 波特率、数据位、停止位等参数, 实现灵活的串行通信功能。
感谢您的观看
THANKS
05 串行通信协议及8251a的 应用
RS-232C协议
定义
RS-232C是一种标准的串行通信协议,用于 连接计算机和其他设备。
特点
采用单端信号传输方式,具有高电平、低电 平两种逻辑状态,传输距离较近。
应用
常用于连接计算机和调制解调器、打印机等 低速设备。
RS-485协议
定义
RS-485是一种改进的串行通信协议,克服了RS-232C传输距离较 近的限制。
• 数据发送代码示例
数据发送编程
01
```
02
movlw 0x12 ; 要发送的数据是0x12
03
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11.2 串行接口芯片8251A
11.2.1 8251A的基本性能 (1)工作在同步或异步通信方式下。 (2)同步方式时允许用单同步和双同步
字符。数据位在5~8位间进行选择。
8
第11章
(3)异步方式时数据位仍在5~8位范围内 选用,用1位作奇偶校验位或不设奇偶位。 能自动为每个数据增加1位启动位及1位、 1.5位或2位停止位。
(4)有奇偶校验、帧校验和溢出校验3种字 符数据校验方式。
(5)与MODEM直接相连,接收和发送数 据可存放在各自缓冲器中。
9
11.2.2 8251A基本结构
D— 7 D0
数据总线
发送 缓冲器
发送器
TxD
RESET CLK C/D
RD WR
CS
DSR DTR CTS RTS
读/写
。控制电路 。。
。 。 。 。调制解调器
18
程序段如下:
MOV DX,301H ;控制口地址
MOV AL,01111111B ;方式控制字7FH
OUT DX,AL
;写工作方式控制字
MOV AL,00010101B ;命令控制字15H
OUT DX,AL
;写操作命令控制字
LP:IN AL,DX
;读状态控制字
AND AL,02H ;检查RxRDY是否为1
特率 10: 异步*16
11: 异步*64
数 00: 5 据 01: 6 位 10: 7
数 11: 8
*0: 内同步 01: 双同步字 11: 单同步字
00: 无效 01: 1位停止位 10: 1位半 11: 2位
校 验 方 式
*0: 不校验 01: 奇校验 11: 偶校验
图11-8 8251A方式控制字的格式
POP DX
POP BX
POP AX
STI
IRET
26
第11章
11.3 串行通信接口标准RS-232C
RS-232C是EIA(电子工业协会)串口 标准(RS-推荐标准,232-标识号,C-修 改次数)。 串口常用是连接鼠标和调制解调器,称 异步通信适配器接口。
27
第11章
串口插座分9针或25针。串口赋予专 门设备名COM1和COM2。 RS-232C在远距离通信中连接数据 终端设备与数据通信设备。也可用于 两台计算机或设备间近距离串行连接。
JZ LP
; RxRDY≠1
接收未准备就绪,等待
MOV DX,300H
IN AL,DX
;否则输入数据
19
8251A与CPU及外设的连接:
D7~D0 A7 A6 A5 ห้องสมุดไป่ตู้4
8086 M/IO
A3 A2 A1
A0 RESET
RD WR
G1 Y0
G2A G2B C B A
D7~D0 RxD
CS
TxD
8251A
3
单工传送: 一方发送,另 一方接收数据
半双工传送: 双方都能接收 或发送,但不 能同时接收和 发送
全双工传送: 有两条通路, 发送信息和接 收信息可同时 进行
A 发 送器
单 工通 信
B 接 收器
A 发 送器 接 收器
(a) 半 双工 通 信
B 发 送器 接 收器
A 发 送器 接 收器
(b) 全 双工 通 信
;检查有无错误产生
JZ SAVAD MOV AL,'?'
;出错的数据用'?'代替
25
SAVAD:MOV DX,SEG BUFFER
MOV DS,DX
MOV BX,OFFSET BUFFER
MOV [BX],AL
;存储数据
MOV AL,20H
OUT 20H,AL ;将EOI命令发给8259
POP DS
21
发送数据程序段:
START:MOV DX,04A2H
LEA SI,TABLE
WAIT:IN AL,DX
TEST AL,04AH ;检查发送寄存器是否空
JZ WAIT
;若为空,则继续等待
PUSH DX
MOV DX,04A0H
LODSB
OUT DX,AL
;否则发送一个字节
POP DX
DEC BX
MOV DX,04A2H
B 接 收器 发 送器
(c)
图 11-1 数据传送方式 4
(4)数据传输率 每秒传输字符的位数。用波特率表示: ——110、300、600、1200、l800、
2400、4800、9600和19200波特。 若异步串行通信数据传送速率960字符/秒,
每个字符包括一个起始位、8个数据位和一个 停止位,波特率为:10×960=9600波特
11.2.4 8251A的 初始化和编程应用
输出方式指令
异步
Y
N 输出第一个同步字符
N
单同步字符?
Y
输出第二个同步字符?
输出命令指令
Y
有复位命令?
N 传输数据
完成?
N
Y
17
第11章
【例11.1】8251A控制口地址301H,数据 口地址300H,按要求对8251A初始化。 (1)异步工作方式,波特率系数64,偶校 验,总字符长度10(1位起始位,8位数据, 1位停止位); (2)允许接收和发送,使错误位全部复位; (3)查询8251A状态字,接收准备就绪时 从8251A输入数据,否则等待。
8
21
9
20
10
19
11
18
12
17
13
16
14
15
D1 D0 VCC RxC
DTR RTS DSR RESET CLK TxD TxEMPTY CTS SYNDET TxRDY
图11-6 8251A引脚排列图
11
第11章
11.2.3 8251A的编程控制
8251A使用前须用程序对其工作状态 进行设定:
14
D7 D6 D5 D4
D3
D2
D1
D0
EN IR RTS ER SBRK RxE DTR TxEN
进入搜索方式 1:进行SYNC搜索
内部复位 1:8251A复位
请求发送 1:迫使RTS输出0
出错复位 1:复位错误标志
发送允许 1:允许 0:禁止
数据终端准备好 1:迫使DTR输出0
接收允许 1:允许 0:禁止
6
第11章
11.1.2 信号的调制和解调
调制解调器(Modem)是计算机在远程 通讯中采用的辅助外部设备。 发送端用调制器把数字信号转换为模拟信 号。 接收端用解调器检测从发送端送来的模拟 信号,再转换成数字信号。 调制解调器在发送端相当于D/A转换器, 在接收端相当于A/D转换器。
7
第11章
28
1.RS-232C引脚
RS-232C接口有9针、25针等规格。
(a)25脚排列图
(b)9脚排列图
图11-14 RS-232C引脚排列
25引脚中,有4条数据线、11条控制线、3条定
时信号线、2条地信号线。另外还保留2个引脚,
有3个引脚未定义。
29
第11章
2.RS-232C的连接
RS-232C广泛用于数字终端设备, 如计算机与调制解调器之间的接口, 以实现通过电话线路进行远距离通信。
第11章
可编程串行接口芯片8251A
主要教学内容
串行通信概念和基本技术 8251A内部结构及功能 8251A初始化及应用 RS-232-C简介 本章小结,思考及练习题解析
1
第11章
11.1 串行传输基本概念 11.1.1 串行通信概述
(1)将数据一位一位顺序传送,只占用一 条传输线。 (2)采用两种方式
时钟频率=n×波特率;n叫做波特率系数或 波特率因子,取值为1、16、32或64。
5
(5)串行通信特点
可节省传输线; 传输速度较慢; 多用在批量数据、距离较长的场合。
(6)串行通信基本方式 同步传送:发送方和接收方时钟信号频率 及相位始终保持一致。 异步传送:通信中两个字符间时间间隔不 固定,在一个字符内各位时间间隔固定。
TEST AL,01H ;否则检查数据是否准备好
JZ WAIT
;未准备好,继续等待检测
MOV DX,04A0H
IN AL,DX
;否则接收一个字节
AND AL,7FH ;保留低7位
MOV [SI],AL ;送数据缓冲区
INC SI
MOV DX,04A2H
JMP WAIT
23
(2)中断方式:用中断方式可实现8251A和CPU
发送断点字符 1:迫使TxD为0
图11-9 8251A命令控制字的格式
15
第11章
D7
D6
D5 D4 D3 D2
D1
D0
DSR SYNDET FE OE PE TxE RxRDY TxRDY
同引脚定义
奇偶错 溢出错 帧出错
图11-10 8251A状态字的格式
16
第11章
8251A 初始化 设置方式
RxC
C/D
RESET
TxC
RD WR TxRDY TxE RxRDY BRKDET
RS-232 接口
外设
波特率 发生器
20
8251A和CPU的通信方式: 可采用查询方式和中断方式。 (1)查询方式:发送数据的程序在初始
化程序之后。 【例11.2】用查询方式发送数据。设要
发送的字节数据在TABLE开始的数据区, 数据放在BX中,数据端口地址04A0H, 控制/状态寄存器端口地址04A2H。
相关文档
最新文档