串行通信8251

合集下载

可编程串行通信接口芯片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。

8251a有何特点-在串行通信中作用_8251a的工作方式

8251a有何特点-在串行通信中作用_8251a的工作方式

8251a有何特点-在串行通信中作用_8251a的工作方式8251a有何特点?在串行通信中作用_8251a的工作方式8251A的内部结构(1)接收器接收器包括接收缓冲器和接收控制逻辑两部分。

接收器的功能是接收在RXD引脚上的串行数据,并按规定的格式把它转换成并行数据,存放在数据总线缓冲器中。

①接收缓冲器接收缓冲器主要由移位寄存器和数码寄存器组成。

接收器接收传送到RXD(接收数据输入端)引脚上的串行数据,并对串行数据流的特殊位(奇偶位,停止位等)和字符(同步字符)进行检查、处理,按规定的格式将串行数据转换为并行数据存放在缓冲器中。

接收移位寄存器和接收数据缓冲器组成了双缓冲器结构。

②接收控制逻辑这一部分控制串行数据的接收,包括三条控制线:RXRDY(Receiver Ready)接收器准备好,输出,高电平有效。

RXC(Receiver Clock)接收时钟,输入。

SYNDET/BRKDET(SYNchronous DETect/BreaK DETect)同步检测/断点检测,输出/输入,高电平有效。

(2)发送器发送器包括发送缓冲器和发送控制逻辑两部分。

①发送缓冲器和发送过程发送数据缓冲器接收由CPU送来的并行数据,按初始化编程指定的数据格式转换成串行数据流送至发送移位寄存器,在TXC的下降沿从TXD引脚发送出去。

发送数据缓冲器和发送移位寄存器组成了发送的双缓冲器结构。

②发送控制逻辑该部分控制串行数据的发送操作,包括3条控制线:TXRDY(Transmitter ReaDy)发送器准备好,输出,高电平有效。

TXE(Transmitter Empty)发送器空,输出,高电平有效。

串行通信接口芯片8251

串行通信接口芯片8251
串行通信基本概念
串行通信: 串行通信: 每个时间单位仅传送一位信息; ●每个时间单位仅传送一位信息; 每个数据的各位依次传送。 ●每个数据的各位依次传送。
优点: 优点: 传输线少,成本低, ●传输线少,成本低,传输距离远
串行通信的基本方式
——同步通信 同步通信 异步通信
异步通信特点
以字符作为通信单位。 以字符作为通信单位。 在通信的数据流中, 在通信的数据流中, 字符与字符之间的传送是异步的, 字符与字符之间的传送是异步的, 异步通信的“异步” (异步通信的“异步”就主要体现 在字符与字符之间的异步) 在字符与字符之间的异步) 字符内部各位(位与位之间)同步 字符内部各位(位与位之间) 传送。 传送。
停止位标志每个字 符的结束。 符的结束。
收发双方不必使用同一个时钟, 收发双方不必使用同一个时钟,只需使用两个频 率相同的本地局部时钟, 率相同的本地局部时钟,使收发双方在一个字符 内保持同步,即可正确可靠地传送。 内保持同步,即可正确可靠地传送。
异步通信协议 1、异步通信格式 、
个字符( 第n个字符(一帧信息) 个字符 一帧信息)
8251 的外部引脚
8251 的外部引脚
8251 的外部引脚
8251 的外部引脚
8251 的外部引脚
8251 的外部引脚
8251A初始化流程 初始化流程
8251A的方式指令 的方式指令
8251A的命令指令 的命令指令
8251A的状态字 的状态字
异步通信特点
如何使收发双方在随机传送的字符与字 符之间实现同步? 符之间实现同步? ——在字符的首尾分别设置起始位和停止 在字符的首尾分别设置起始位 起始位和 位,以起始位和停止位的结合实现异步 字符的同步( 字符的同步(只需在一个字符期间保 持)。

双机异步串行通信例子8251

双机异步串行通信例子8251

• • • • • • • • • • • • • • • • • • • • • •
mov al,27h ;向8251送控制字允许其发送和接收 out dx,al lds dx,mes2 ;显示提示信息 mov ah,09 int 21h waiti: mov dx,io8251b in al,dx test al,01 ;发送是否准备好 jz waiti mov ah,01 ;是,从键盘上读一字符 int 21h cmp al,27 ;若为ESC,结束 jz exit mov dx,io8251a out dx,al ;发送 mov cx,40h s51: loop s51 ;延时 jmp waiti exit: mov ah,4ch ;退出 int 21h code ends end start
2.接收程序 • • • • • • • • • • • • • • • • • • • • • code segment assume cs:code,ds:data start: mov dx,io8251b ;初始化8251 mov al,4eh ;设置为1个停止位,8个数据位,波特率因子为16 out dx,al mov al,27h ;向8251送控制字允许其发送和接收 out dx,al next: mov dx,io8251b in al,dx test al,02 ;检查接收是否准备好 jz next ;没有,等待 mov dx,io8251a in al,dx ;准备好,接收 mov dl,al mov ah,02 ;将接收到的字符显示在屏幕上 int 21h jmp next exit: mov ah,4ch ;退出 int 21h code ends end start双ຫໍສະໝຸດ 异步串行通信例子1.发送程序

8251串行通信实验

8251串行通信实验

8251 串行通信实验一、实验目的1.掌握 8251 串行通讯方式的硬件接口电路及软件编程设计二、实验设备PC机器一台, TDN86/88+教学实验系统一台。

三、实验原理 :本实验需用两台 TDN-86/51(TDN86/88)教学实验系统,并通过排线将两台仪器相连,其中 1 号机用做接收机, 2 号机用做发送机。

实验目的是将 2 号机中的3000-3009H 十个单元中的代码传送到 1 号机的 3000-3009H 单元中。

硬件连接线路图1.8251 的基本性能8251 是可编程的串行通信接口,可以管理信号变化范围很大的串行数据通信。

有下列基本性能 :(1)通过编程,可以工作在同步方式,也可以工作在异步方式。

(2)同步方式下,波特率为 0,64K,异步方式下,波特率为 0,19.2K 。

(3)在同步方式时,可以用 5,8 位来代表字符,内部或外部同步,可自动插入同步字符。

(4) 在异步方式时,也使用5,8位来代表字符,自动为每个数据增加 1 个启动位,并能够根据编程为每个数据增加 1 个、 1.5个或2 个停止位。

(5)具有奇偶、溢出和帧错误检测能力。

(6)全双工,双缓冲器发送和接收器。

2.8251 的内部结构及外部引脚8251 的内部结构图如图1-1 所示,可以看出, 8251 有 7 个主要部分,即数据总线缓冲器、读 / 写控制逻辑电路、调制 / 解调控制电路、发送缓冲器、发送控制电路、接收缓冲器和接收控制电路,图中还标识出了每个部分对外的引脚。

8251 的外部引脚如图1-2 所示,共 28 个引脚,每个引脚信号的输入输出方式如图中的箭头方向所示。

D7,D0 数据总线发送并 ?串 TxD缓冲器缓冲器转换TxRDRESETY发送控制电路 TxECLK读/ 写控制 TxCC/D#逻辑电路 RD#WR#接收串 ?并 RxD内部总线缓冲器转换CS#DSR#RxRDYDTR#调制 / 解调 RxC接收控制电路控制电路CTS#SYNDETRTS#图 1-1 8251 内部结构图D2128D0D3D1RxDVccGNDRxC#D4DTR#D5RTS#8251D6DSR#D7RESETTxC#CLKWR#TxDCS #TxEC/D#CTS#RD#SYNDET/BD1RxRDY14TxRDY5图 1-2 8251 外部引脚图3.8251 在异步方式下的 TXD信号上的数据传输格式图 1-3 示意了 8251 工作在异步方式下的 TXD信号上的数据传输格式。

串行通信和可编程串行接口芯片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

计算机第十章:串行通信和8251A

计算机第十章:串行通信和8251A

8251a芯片结构
内部寄存器
8251a芯片内部包含多个寄存器, 用于存储控制信息、状态信息和 数据信息。
控制逻辑
8251a芯片具有复杂的控制逻辑, 用于管理串行通信的各种操作, 如数据接收、数据发送、中断处 理等。
接口电路
8251a芯片提供与微处理器的接 口电路,包括数据总线、地址总 线和控制总线,以便与微处理器 进行通信。
用于提供芯片所需的工作 电源和地线。
03 串行通信协议与标准
CHAPTER
RS-232C协议
信号电平
传输距离
采用负逻辑,逻辑“1”为-3V~-15V,逻辑 “0”为+3V~+15V。
最大传输距离约为15米,传输速率较低。
连接器
通常使用9针或25针的D型连接器。
应用场景
常用于计算机与外设之间的通信,如鼠标 、键盘等。
谢谢
THANKS
连接器
USB接口有A、B、C三种类型,其中A型 为扁平矩形接口,B型为方形或梯形接口,
C型为新型的小巧圆形接口。
传输速度
USB 2.0标准支持480Mbps的传输速度, USB 3.0标准支持5Gbps的传输速度, USB 3.1标准支持10Gbps的传输速度。
应用场景
广泛应用于计算机与外部设备的连接和数 据传输,如打印机、扫描仪、数码相机等。
数据发送
向8251a的数据寄存器写入要发送的数据, 然后启动方式将8251a初始化为异 步通信模式,设置波特率为
9600bps,数据格式为8位数据位、 1位停止位、无校验。
A
B
C
D
中断处理
编写中断服务程序,处理通信过程中的异 常情况。
数据接收

北工大微机原理 实验六 8251串行通信实验

北工大微机原理 实验六 8251串行通信实验

实验六串行通信实验8251一、实验目的:1、进一步了解串行通信的基本原理2、掌握串行接口芯片8251的工作原理和编程方法二、实验内容:1、按图连接线路。

2、从键盘输入一个字符,将其ASCLL码加1后发送出去,再接收回来在屏幕上加1 后的字符显示出来,实现自发自收。

三、实验设备:8251芯片 8253芯片试验箱若干导线四、实验原理:根据引脚号按下图在试验箱上正确连接好电路五.程序代码:data segmentioport equ 5400h-280hio8253a equ ioport+280hio8253b equ ioport+283hio8251a equ ioport+2b8hio8251b equ ioport+2b9hap1 db 'you can play a key on the keybord!',0dh,0ah,24hap2 dd ap1data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,io8253b ;设置8253计数器0工作方式mov al,16hout dx,almov dx,io8253amov al,52 ;给8253计数器0送初值out dx,almov dx,io8251b ;初始化8251xor al,almov cx,03 ;向8251控制端口送3个0delay: call outloop delaymov al,40h ;向8251控制端口送40H,使其复位call outmov al,4eh ;设置为1个停止位,8个数据位,波特率因子为16 call outmov al,27h ;向8251送控制字允许其发送和接收call outlds dx,ap2 ;显示提示信息mov ah,09int 21hwait: mov dx,io8251bin al,dxtest al,01 ;发送是否准备好jz waitmov ah,01 ;是,从键盘上读一字符int 21hcmp al,27 ;若为ESC,结束jz exitmov dx,io8251ainc alout dx,al ;发送mov cx,0F00hkd1: loop kd1 ;延时next:mov dx,io8251bin al,dxtest al,02 ;检查接收是否准备好jz next ;没有,等待mov dx,io8251ain al,dx ;准备好,接收mov dl,almov ah,02 ;将接收到的字符显示在屏幕上 int 21hjmp waitexit: mov ah,4ch ;退出int 21hout proc near ;向外发送一字节的子程序 out dx,alpush cxmov cx,0F00hkd2: loop kd2 ;延时pop cxretout endpcode endsend start六、实验结果:将程序进行汇编,连接,运行后,从键盘输入字母或者数字,屏幕上显示这个字母或数字和这个数字的ASCⅡ加一后的字母或数字。

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

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

ABCD
发送数据
通过将数据写入到8251A的数据寄存器中,然 后启动发送过程。
错误检测与处理
在数据传输过程中,应进行错误检测,如奇偶校 验、帧错误等,并采取相应的处理措施。
使用8251A芯片进行数据传输的示例
设置参数
首先,配置8251A的寄存器以设置数据传输 参数,如数据格式、波特率等。
发送数据
将要发送的数据写入到8251A的数据寄存器 中,然后启动发送过程。
03 8251A芯片与串行通信的 结合
8251A芯片在串行通信中的作用
数据传输
8251A芯片作为串行通信接口, 能够实现数据在串行通道上的传 输,包括发送和接收。
协议转换
8251A芯片可以将并行数据转换 为串行数据,或者将串行数据转 换为并行数据,实现不同协议之 间的转换。
信号调制与解调
8251A芯片可以对信号进行调制 和解调,以适应不同的传输介质 和距离要求。
工业控制
02
03
智能仪表
在工业控制系统中,传感器和执 行器之间的通信通常使用串行通 信。
பைடு நூலகம்
智能仪表之间的通信通常使用串 行通信,例如通过RS-485总线进 行数据传输。
02 8251A芯片介绍
8251A芯片的特点
高度集成
01
8251A是一款高度集成的串行通信芯片,内部包含波特率生成
器、数据接收器和发送器等模块。
异常处理
在协议转换过程中,应处理可能出现的异常情况,如协议不匹配、 数据格式错误等。
05 8251A芯片的常见问题与 解决方案
8251A芯片无法正常工作的问题及解决方案
总结词
无法正常工作
详细描述
8251A芯片无法正常工作可能是由于电源问题、接口连接不良、芯 片损坏等原因。

实验四 8251 串行通信实验

实验四 8251 串行通信实验

实验四8251串行通信实验一、实验目的1.了解串行通信的一般原理和8251A的工作原理。

2.初步了解RS-232串行接口标准与TTL电路的连接方法。

3.掌握8251A编程方法。

二、实验内容(1)利用实验机内的8253芯片的分频作为8251的收发时钟频率。

(2)利用实验机内小键盘,每按动一次任意一个数字键,就把该键值通过8251发送给PC 机接收,并在PC机屏幕上显示出该键值。

三、实验接线图(1) TxCLK 和RxCLK 是8251 的发送时钟和接收时钟,由8253 的OUT1提供。

(2) 8251 片选信号CS 由GAL2译码器输出,地址为3F8~3FFH。

(3) CTS 端必须接“0”电平,8251 才可对外发送数据。

(4) RxRDY 和TxRDY 是收、发就绪信号,采用中断方式时可作中断申请信号,本系统采用查询方式通信,这两个信号不用。

四、编程指南本程序是串行发送程序,采用查询方式通信,要完成收发通信实验,需要两台实验仪器,其中1台为串行发送,即运行8251串行通信实验一程序,另一台为串行接收,即运行8251串行通信实验二程序。

实验时,发送机把由键盘输入的数字显示于接收机的显示器上。

(只允许0~F这些数字)仪器对8251的初始化工作在监控程序中已先行完成。

(1)8251状态口地址:03F9H,8251数据口地址:03F8H;(2)8253控制口地址:43H,8253计数器#1口地址:41H;(3)8255控制口地址:0FF23H,字位口:0FF20H,键入口PC:0FF22H,字形口PB:0FF21H;(4)通讯约定:异步方式,字符8位,一个起始位,一个停止位,波特率因子为16,波特率为9600;(5)计算T/RXC,收发时钟fc,fc=16*9600=153.6K;(6)8253分频系数:1843.2K / 153.6K=12。

五、实验步骤1.准备好2 台实验仪器,确定1#机发送,2#机接收。

串行接口芯片8251

串行接口芯片8251
息帧),信息是一帧一帧发送的为同步 方式,用于大数据和远距离传送。
按字符一一传送为异步方式。
3、差异: 1) 同步方式须双方用一个时钟进行协调。 2) 异步方式虽也须约定一个时钟作为每一位
的长度,但无须将时钟发送出去。 3) 同步方式比异步方式效率高
第三章 串行接口芯片8251
可编程串行通讯接口8251A :
第三章 串行接口芯片8251
基本的串行通讯有两种类型: 1)同步通讯 2)异步通讯。
同步字符 信息帧 同步通讯格式
校验字符
起始位 数
5 ~8个 字符
据 校验位 停止位(1,1.5,2位) 异步通讯格式
第三章 串行接口芯片8251
2、传送速率:
串行通讯中规定,每秒传送的位 数为波特率如:110,300,600,1200, 1800,2400,4800,9600,19200标准 波特率。
第三章 串行接口芯片8251
3、硬件支持:
为实现串行通讯还必须有硬件 支持,即串行口接口的标准化。 最常用的是 RS-232-C标准。
第三章 串行接口芯片8251
1)信号电平标准:
TTL
RS-232
1489
接口 TTL 1488 RS-232
TTL 1488
TTL 1489
TTL与RS-232电平变换
接口
2)控制信号定义:
25芯插头插座。
第三章 串行接口芯片8251
通讯方式:
1、 全双I方式,半双I方式: 通讯通道中,对数据发与收两个传
输方向采用不同的通路,该通讯方式为 全双工方式。
若收与发两个传输方向使用单一通 道,为半双工方式。
第三章 串行接口芯片8251
2、 同步方式、异步方式: 将许多数据组成一个信息组(信

微机接口原理--实验四 8251串行收发实验

微机接口原理--实验四 8251串行收发实验

已置位,即已准备好)在屏幕上显示字符。若是ESC键,
(0x1b),退出。
提示:在程序中涉及的函数,getch(),putch()。
读/写控制信号— RD ,读信号为低电平时,通知 8251,CPU当前正从8251读取数据或者状态信息。WR 写信 号,为低电平时,通知8251,CPU当前正在往8251写入数 据或者控制信息。 C / D 控制/数据信号, 也是CPU送往 8251的信号,用来区分当前读写的是数据还是控制信息或状 态信息。
② 8251与外部设备之间的信号连接
DTR (Data Terminal Ready )数据终端准备好信号, 是由8251送往外设的,CPU通过命令可以使它变为低电平,从 而通知外部设备,CPU当前已经准备就绪。
DSR (Data Set Ready )数据设备准备好信号,是由外设 送往8251的,低电平时有效,表示当前外设已经准备好。当它出 现低电平时,会在8251的状态寄存器第7位上反映出来,所以, CPU通过对状态寄存器的读取操作,便可以实现对/DSR信号的 检测。 RTS (Request To Send )请求发送信号,是8251送往外 设,低电平时有效,CPU可以通过编程命令使之变为有效电平, 以表示CPU已经准备好发送。 CTS (Clear To Send)清除请求发送信号,是对RTS的 响应信号,它是由外设送往8251的,为低电平时,8251才能执 行发送操作。
② 波特率
串行通信的信号常常通过调制解调器进行传输, 在调制器、通信线路、解调器之间,用单位时 间内电信号变化的数目来描述传输的速度称之 为波特率。一般串行异步通行的传送速度为 50~19200波特,串行同步通信的传送速度可 达500千波特。 波特率与数字信号传输率的关系:

8251芯片

8251芯片

8251芯片8251芯片是一种通讯接口芯片,主要用于计算机之间或计算机与外设之间的数据传输。

该芯片通过串行和并行数据传输的方式,实现了计算机之间的数据传输和通信功能。

8251芯片提供了串行和并行两种模式的通信接口。

在串行模式下,数据以位的形式传输,适用于长距离传输和低速传输场景。

在并行模式下,数据以字节或字的形式传输,适用于短距离传输和高速传输场景。

8251芯片具有以下主要功能:1. 数据格式控制:8251芯片支持多种数据格式,包括异步串行传输、同步传输和标准格式传输等。

用户可以根据需要选择合适的数据传输格式。

2. 时钟控制:8251芯片提供了多个时钟源,可以根据需要选择不同的时钟源。

同时,芯片还支持外部时钟源的输入。

3. 数据传输控制:芯片可以根据指令进行数据传输的启动、停止和暂停等控制操作。

同时,芯片还支持自动重整、自动请求和自动调整等功能,可以提高数据传输的效率。

4. 错误检测:8251芯片提供了丰富的错误检测和纠错功能,包括奇偶校验、帧错误检测等。

可以有效减少数据传输过程中的错误和丢失。

5. 缓冲区管理:芯片内置了数据缓冲区,可以存储待传输的数据。

通过合理调整缓冲区大小和设置触发阈值,可以实现高效的数据传输。

8251芯片广泛应用于计算机和外设之间的数据传输和通信领域。

它可以与各种外设进行通信,包括打印机、调制解调器、终端设备等。

它不仅提供了稳定可靠的数据传输功能,还具备丰富的扩展接口,可实现更多的功能拓展。

总结来说,8251芯片是一种功能强大的通讯接口芯片,通过串行和并行的数据传输方式,实现了计算机之间或计算机与外设之间的数据传输和通信功能。

它具有多种数据格式控制、时钟控制、数据传输控制、错误检测和缓冲区管理等功能,广泛应用于计算机和外设之间的通信领域。

串行通信和可编程接口芯片8251A优质获奖课件

串行通信和可编程接口芯片8251A优质获奖课件
RESET(输入):复位信号,高电平有效。当该信号为高时, 8251A实现复位功能,内部全部旳寄存器都被复位,收发线路均 处于空闲状态。
各控制信号与所相应旳操作如表10-1所示。
表10-1 8251A旳控制信号与执行旳操作之间旳相应关系
CS
RD
WR
0
0
1
0
1
0
0
0
1
0
1
0
C/ D
执行旳操作
0
CPU由8251A输入数据
接受方,若干字符构成一种信息组,字符要一种接着一种传送; 没有字符时,也要发送专用旳“空闲”字符或者是同步字符。 同步传播旳特征是:在每组信息旳开始(常称为帧头)要加上l~2 个同步字符,背面跟着5~8位旳数据。同步通信旳数据格式如 图10.3所示。
传送时每个字符旳背面是否要奇/偶校验位,由初始化时设
RD (输入)、 WR (输入):读、写信号,低电平有效。
CLK(输入):时钟信号,用于芯片内部旳定时。
C/D(输入):控制/数据信号,分时复用。用来区别目前读/写 旳是数据还是状态/控制信息。当C/D为高电平时,读写旳是状 态信息或控制信息;当C/D为低电平时,读写旳是数据。一般, 它与地址线旳最低位相连。
10位/字符×120字符/秒=1200位/秒=1200波特 传送每位信息所占用旳时间为: 1秒/1200=0.833 毫秒
10.1.4 串行接口芯片UART和USART 常用旳通用串行接口芯片有两类,一种是仅用于异步通信旳
接口芯片,称为通用异步收发器UART;另一种芯片既能够工作 于异步方式,又可工作于同步方式,称为通用同步异步收发器 USART ,如:8251A。
国际上要求了一种原则旳波特率系列,原则波特率也是最 常用旳波特率。有110,300,600,1200,1800,2400,4800, 9600,19200。

第七章串行通信接口8251

第七章串行通信接口8251

•同步协议 •面向比特(Bit)
•分类
•面向字节计数
•异步协议
第七章串行通信接口8251
• 一、起止式异步通信数据格式
• 1.格式
•①每个字符总是以起始位开始(“0”),以停止位(“1”) 结束。
•②字符之间没有时间间隔要求
•③字符后一位校验位(可没有)
•1 •0 •1 •0 •0 •0 •1 •0 •1 •空

调制器(Modulator)是一个波形变换器,它将基带数
字的波形变换成适合于模拟信道传输的波形。

解调器是一个波形识别器,将模拟信号恢复成原来的数
字信号。

•010010 •调制器
•010010 •解调器
第七章串行通信接口8251
•3. 调制方法:
•最基本的调制方法有以下几种:
•(1)调幅(AM)
Control Procedure)。
③ISO的HDLC(High Level Data link Control)高级数据 链路控制规程。
④DEC公司DDCMP(Digital Data Communication Message protocol)。
第七章串行通信接口8251
2.协议的特点: 1)所传输的一帧(frame)数据(或称数据包)可以是任意二进
•14
•RXD •TXD •DTR •GND
•2 •3 •4 •5
•6 •DSR
•7 •8 •9
•RTS •CTS •RI
•DB-25型连接器
•DB-9型连接器
第七章串行通信接口8251
• 2.电缆长度
• RS-232直接连接的最大物理距离15M,通信速率<20Kbps。

8251实验报告

8251实验报告

8251实验报告8251实验报告引言:在计算机科学领域,串行通信是一种常见的数据传输方式。

为了实现串行通信,我们需要使用串行通信接口芯片。

8251是一种常用的串行通信接口芯片,本实验旨在通过对8251的实验研究,深入了解串行通信的原理和应用。

一、实验目的本实验的主要目的是掌握8251的工作原理和使用方法,了解串行通信的基本概念和应用场景。

二、实验原理8251是一种通用的串行通信接口芯片,它可以实现计算机与外部设备之间的串行数据传输。

该芯片具有发送和接收两个功能模块,通过与计算机的接口进行数据交换,实现串行通信的功能。

三、实验步骤1. 连接实验所需设备:将8251芯片与计算机、外部设备进行连接,确保电路连接正确无误。

2. 配置8251芯片:通过设置芯片的控制寄存器,配置芯片的工作模式和参数。

3. 编写测试程序:使用汇编语言编写测试程序,通过向8251芯片发送数据,观察数据的接收情况。

4. 运行测试程序:将编写好的测试程序加载到计算机中,运行程序并观察结果。

5. 分析实验结果:根据实验结果,分析8251芯片的工作状态和数据传输情况。

四、实验结果与分析经过实验测试,我们可以观察到数据的发送和接收情况。

通过分析实验结果,我们可以了解到8251芯片的工作状态和数据传输的效果。

如果数据能够正确发送和接收,说明8251芯片的工作正常;如果数据发送或接收出现错误,可能是芯片配置错误或者电路连接有问题。

五、实验总结通过本次实验,我们深入了解了8251芯片的工作原理和使用方法,掌握了串行通信的基本概念和应用场景。

实验过程中,我们遇到了一些问题,但通过分析和解决,最终成功完成了实验目标。

通过实验,我们不仅提高了对8251芯片的理解,还加深了对串行通信的认识。

六、实验改进在实验过程中,我们发现一些可以改进的地方。

首先,我们可以尝试使用不同的测试程序,测试不同的数据传输情况,以获得更全面的实验结果。

其次,我们可以进一步研究8251芯片的高级功能和应用,拓展实验的深度和广度。

可编程串行通信接口8251A

可编程串行通信接口8251A
17
2.接收器
接收器的功能是在接收时钟的作用下接收RxD引 脚上的串行数据并按指定的方式把它转换为并行 数据。 在异步方式下,当接收器成功的接收到起始位后, 8251A便接收数据位、校验位、停止位。 在内同步方式时,8251A首先搜索同步字符,在 RxD是以一次一位的方式移动数据,在接收到每 一位时都将现在接收的8位与同步字符寄存器的内 容进行比较,若相等就搜索结束,使SYNDET=1 表示已经同步,然后开始接收数据。
11
SYNDET(Synchronous Detection)/BD(Break Detection): 同步检测/间断检测,是双功能引脚。 在同步方式时,作同步字符检出信号SYNDET,为双向线。 SYNDET是作为输入还是输出,取决于初始化程序指定 8251A是工作于内同步或外同步。当8251A工作于内同步 方式时,SYNDET是输出,高电平有效,表示接收/发送 器已经同步;当8251A工作于外同步方式时,SYNDET是 输入,它的一个正跳变信号将启动8251A在下个的下降沿 开始装配字符。 在异步方式时,作间断检出信号BD,输出,高电平有效。 只要接受器在两个连续的停止位串中间(包括起始位、数 据位、奇偶位)保持低电平,那么该引脚就输出高电平。 在8251A被复位或RxD恢复为1时该引脚变低。 4)Modem控制信号 4)Modem控制信号 ____ DTR :数据终端准备好,是输出信号,低电平有效。它 由工作命令字的D1位置“1”变为有效,用以表示8251A准 备就绪。通常用于MODEM的控制。
8251A是用来作为 CPU与外设或调制 解调器之间的接口 芯片,有28个引脚。
7
1)CPU接口的信号 1)CPU接口的信号
D7~D0:三态、双向数据总线。 RESET:芯片复位信号线。该信号有效时,迫使8251A处 于空闲状态;在把一组新的控制字写入8251A设定其功能 之前,该芯片一直处于空闲状态。当该线上加高电平(宽 度为时钟的6倍)时,芯片复位而处于空闲状态,等待命令。 通常把它与系统的复位线相连,以便上电复位。 ___ RD:读信号。该信号有效表示CPU正从8251A读数据或 状态信息。 ___ WR:写信号。该信号有效表示CPU正把控制字或数据写 入8251A。 ___ CS:片选信号。该信号有效时,表示该8251A已被选中, 可进行读写操作;若为高电平则数据总线处于高阻状态, 此时RD和WR对器件无影响。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京邮电大学
实验报告
课程名称:微机原理与接口技术
实验名称:串行通信8251
一.实验目的
了解串行通讯的基本原理
掌握串行接口芯片8251的工作原理和编程方法
二.实验内容
1.按下图所示连接好电路,其中8254计数器用于产生8251的发送和接收时钟,TXD和RXD
连接在一起。

2.编程:从键盘输入一个字符,将其ASCII码的值加1后发送出去,再接收回来在屏幕上
显示,实现自发自收。

3.连线:
三.实验思路
1.芯片8251
(1)重要管脚的说明:
Intel 8251A是可编程的串行通信接口芯片,它的内部结构如下图所示:
D7~D0为三态双向数据线,将CS连接到实验台的I/O地址(本实验将其连接到Y7,因此数据端口地址为2B8H),则可以通过8251的数据端口实现串行通信。

TxD为发送数据线,用作输出;RxD为接收数据线,用作输入。

本实验将TxD和RxD连接起来,从而实现8251的自发自收。

TX/RXCLK为8251的发送时钟和接收时钟,将其与8254的OUT0连接起来,则可以利用8254的计数器0的输出作为时钟信号。

(2)方式命令字的确定
Intel 8251A有两种工作方式:串行同步通信和串行异步通信。

本实验采用异步通信方式,其方式命令字格式如下:
本实验采用8位字符,波特因子为16,因此方式命令字为11001110。

(3)工作命令字的确定
Intel 8251A的工作命令字的格式如下:
本实验要实现自发自收,因此发送端和接收端都要允许,从而确定的命令字为00100111。

(4)状态字的检查
Intel 8251A的状态字的格式如下:
通过8251实现数据的收发时必须先确定发送器/接收器是否准备好,这可以通过读取控制端的状态字来确定:D1(RxRDY)表示接收器准备好,当RxRDY=1时,表示接收器已接收到了字符,可以让CPU将该字符读取走。

D0(TxRDY)表示发送器准备好,当TxRDY=1时,表示发送缓冲器已空,可以接收CPU送来的欲发送数据。

上面已提到本实验中8251的数据端口地址为2B8H,则其控制端口地址为2B9H,编程
中只要将读取到的状态字与01b(或10b)相与则可知道发送器(或接收器)是否准备好,从而进行下一步数据处理。

2.芯片8254
Intel 8254可编程计数器具有3个独立的16位计数器通道,每个计数器都可以按照二进制或BCD码计数方式进行计数,每个通道都有六种工作方式。

(1)工作方式的选择
本实验中8254要实现的功能是给8251提供时钟信号,因此采用方式3较恰当。

方式3是对CLK信号进行分频,在写入方式3的控制字和计数初值后计数器开始计数,在计数过程中OUT断的输出是一半时间为高电平,一段时间为低电平的方波。

(2)计数器初值
计数初值= 时钟频率/ (波特率* 波特率因子),由于本实验中的时钟频率是接
1MHz,波特率选的是1200,而波特因子为16,则得到的计数器初值为52.
(3)控制字的确定
Intel 8254的控制字格式如下:
本实验采用计数器0进行计数,确定的控制字为:00110110。

3.算法流程图
四.源代码
data segment
port_8254equ 280h;
port_8251equ 2b8h;
ESC equ 27h
okdb 'hi~','$',0dh,0ah data ends
code segment
assumecs:code, ds:data
main:;初始化8254
mov dx, port_8254+3
mov al, 00110110b
out dx, al
mov dx, port_8254
mov ax, 52
out dx, al
mov al, ah
out dx, al
;初始化8251
mov dx, port_8251+1
xor al, al
out dx, al ;
mov al, 40h
out dx, al ;
nop
mov al, 11001110b
out dx, al
mov al, 00100111b
out dx, al
;打印显示信息
mov dx, offset ok
mov ax, seg ok
mov ds, ax
mov ah, 9
int 21h
;读取8251的状态字
L1: mov dx, port_8251+1
inal, dx
and al, 01b ;TxDRY为1?
jz L1
;从键盘接收字符
mov ah, 1
int 21h
;判断是否为ESC
cmp al, ESC
jz over
;将ASCII码加1后通过8251端口发送字符inc al
mov dx, port_8251
out dx, al
;读取8251的状态字
L2: mov dx, port_8251+1
inal, dx
and al, 10b ;DxDRY为1?
jz L2
;从8251端口接收数据
mov dx, port_8251
inal, dx
mov dl, al
mov ah, 2
int 21h
jmp L1
over: mov ax, 4C00H
int 21h
code ends
end main
五.实验心得
通过这次实验,熟悉和掌握了两个芯片——Intel 8254可编程计数器和Intel 8251可编程串行通信接口的使用。

进一步理解了两个芯片的工作原理与工作方式:Intel 8251实现串行通信,有两种工作方式:同步通信和异步通信。

同步通信需要用到同步符和终止符的检测,此次实验中没有涉及;异步通信看似较简单一些,8251能够自动检测和处理终止字符。

这里需要注意的就是设置波特率因子,也就是接收时钟频率与波特率的倍数。

在确定工作命令字的时候,起初觉得有那么多选项好复杂,在弄清楚每个管脚代表的意义之后,发现要确定的东西其实也不难,保证自发自收,同时允许接收和发送使能就好了。

理解了8251的工作过程之后,也明白了检查状态字中的TxRDY和DxRDY位的意义。

机器的工作总是要一步一步来的,必须保证每步的正确性。

Intel 8254中有三个独立的计数器,这次实验中只需要用到其中一个计数器,对于该芯片的使用的唯一难点就是确定工作方式和计数器初值。

8254的工作方式有六种,每种方式都可以实现特定功能:计数结束中断、单稳触发器、频率发生器、方波发生器、软件触发选通信号和硬件触发选通信号。

这次实验需要计数器来提供时钟信号,因此最适合的就是方波计数器了。

至于计数器初值的选择,上面也已经解释清楚了。

本次实验的另一大收获就是对于汇编语言的编程技巧的提升。

在给出流程图后,本实验的编程并不算困难。

再一次熟悉运用了MOV, CMP, AND, JZ, JMP等指令,熟悉使用了01H(带回显的键盘输入),02H(在屏幕上显示字符),09H(在屏幕上显示以‘$’结束的字符串)等中断服务。

编程方面遇到的唯一的问题就是显示字符串的时候显示了乱码,经排查发现是自己忘了将字符串的首地址放入DS中。

汇编语言就是这样,一点点小细节就容易出错,还有好多指令的细节(比如数据的隐含地址等)需要你细心体会然后记住。

总而言之,通过这次实验,对芯片和编程语言的熟悉都加深了,收获很大。

相关文档
最新文档