串行接口及可编程接口芯片8251A
- 格式:ppt
- 大小:531.50 KB
- 文档页数:43
8255A的内部结构,由三部分电路组成:与CPU的接口电路、内部控制逻辑电路和与外设连接的输入/输出接口电路。
D7~D0(data bus):三态、双向数据线,与CPU数据总线连接,用来传送数据。
(chip select):片选信号线,低电平有效时,芯片被选中。
A1, A0(port address):地址线,用来选择内部端口。
(read):读出信号线,低电平有效时,允许数据读出。
(write):写入信号线,低电平有效时,允许数据写入。
RESET(reset):复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。
PA7~PA0(port A):A口输入/输出信号线。
PB7~PB0(port B):B口输入/输出信号线。
PC7~PC0(port C):C口输入/输出信号线。
VCC:+5V电源。
GND:电源地线。
8255A的工作方式方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路8255A初始化编程8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的。
8255A由编程写入的控制字有两个:方式控制字和置位/复位控制字。
方式控制字用于设置端口A, B, C的工作方式和数据传送方向;置位/复位控制字用于设置C口的PC7~PC0中某一条口线PC i(i=0~7)的电平。
两个控制字公用一个端口地址,由控制字的最高位作为区分这两个控制字的标志位。
(1)方式控制字的格式8255A工作方式控制字的格式如图7.11所示。
D0:设置PC3~PC0的数据传送方向。
D0=1为输入;D0=0为输出。
D1:设置B口的数据传送方向。
D1=1为输入;D1=0为输出.D2:设置B口的工作方式。
D2=1为方式1;D2=0为方式0。
可编程串行通信接口芯片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串行口实验____课程名称__微机原理与接口技术__院系部: 专业班级:学生姓名:学号:同组人: 实验台号:指导教师: 成绩:实验日期:华北电力大学一、实验目的及要求:(1)了解串行通信的一般原理和8251A的工作原理。
(2)掌握8251A的编程方法。
二、仪器用具:三、实验原理:1.串行通信的原理串行通信是通过一位一位地进行数据传输来实现通信。
具有传输线少,成本低等优点,适合远距离传送;缺点是速度慢。
完成串行通信任务的接口称为串行通信接口,简称串行接口。
串行接口作为输入时,完成串行到并行格式转换,作为输出时,完成并行到串行格式转换。
图1是串行通信的一般模型。
图1 串行通信的一般模型2.8251A的工作原理825lA是可编程的串行通信接口芯片,是Intel公司生产的一种通用同步/异步数据收发器(USART),可工作在同步方式,也可工作在异步方式,且能进行出错检测。
其内部结构框图如图2所示。
图2 8251A内部结构框图由图可知,8251A由数据总线缓冲器、读/写控制逻辑、调制/解调器控制逻辑、发送缓冲器、发送控制器、接收缓冲器、接收控制器等组成。
(1)在同步方式时,每个字符可定义为5、6、7或8位。
两种方法实现同步,由内部自动检测同步字符或由外部给出同步信号。
允许同步方式下增加奇/偶校验位进行校验。
(2)在异步方式下,每个字符可定义为5、6、7或8位,用1位作奇偶校验。
时钟速率可用软件定义为波特率的l、16或64倍。
另外,8251A在异步方式下能自动为每个被输出的数据增加1个起始位,并能根据软件编程为每个输出数据设置1位、1.5位或2位停止位。
(3)能进行出错检测。
带有奇偶、溢出和帧错误等检测电路,用户可通过输入状态寄存器的内容进行查询。
3.8251A的编程(1)8251A的编程地址:8251A只需要两个端口地址,一个用于数据端口,一个用于控制端口。
数据输入输出用读信号RD和写WR信号区分;状态端口只能读不能写,控制端口只能写不能读。
串行通信18027412 杨滢齐一、实验目的1.了解串行通信的基本原理;2.掌握串行接口芯片8251 或8250 的工作原理和编程方法。
二、实验仪器与材料1.Proteus 仿真软件2.PC 微机1 台三、实验内容根据上面提供的实验电路,补画U6,U8 两片电路缺少的连线。
然后根据自己画的连线图,为8086 编写汇编程序,实现利用8251 向超级终端(标号为GET)发送字符串,实现串行通讯。
字符串不少于20 个字符,内容自定。
四、实验提示1.8251初始化为异步通讯方式,1位停止位,无校验,8位数据,波特率因子为1。
2.超级终端也要设置的与8251相同(在超级终端图标上右击鼠标,选Edit……),其中的波特率可以自己设定,比如9600。
3.图上的时钟发生器用来为8251 提供发送/接收时钟,根据波特率,波特率因子,发送/接收时钟三者之间的关系,当波特率因子为1时,发送/接收时钟与波特率是相同的,因此,如果在第2步,你设置波特率为9600,那么时钟也要设定为9600Hz(图标上右击鼠标,选Edit……)。
4.U6(74HC138)和U8(8251A )的连线决定了8251占用的地址,请自己设定。
5.建议的程序流程图如下: 异步,1位停止位i ,无校验,8位数据,波特率因子为18251操作字 清除错误,能收能发 N五、实验预习要求 1.复习串行通信的特点和 8251 或 8250 的编程方法。
2.根据实验内容和实验提示编写实验程序。
六、实验习题与思考1. 若发送的字符进行偶校验,程序如何编写?;====================================================================; Main.asm file generated by New Project wizard;; Created: 周日 5月 24 2020; Processor: 8086; Compiler: MASM32;; Before starting simulation set Internal Memory Size; in the 8086 model properties to 0x10000;====================================================================开始 发完结束设定字符串指针设定计数初值 读 8251 状态字8251 控制字计数减一循环发送一个字符是否能发送YDATA SEGMENTDA1 DW 20HTABEL1 DB 'beijing university of technology' PTCON EQU 26HPTDATA EQU 24HDATA ENDSCODE SEGMENT PUBLIC 'CODE'ASSUME CS:CODE, DS:DATASTART:MOV AL, 00HMOV DX, PTCONOUT DX, ALOUT DX, ALOUT DX, ALMOV AL, 40HOUT DX, ALMOV AL, 7DH ; 模式控制字MOV DX, PTCONOUT DX, ALMOV AL, 37H ; 操作控制字OUT DX, ALMOV AX, DATAMOV DS, AXMOV DI, OFFSET TABEL1MOV CX, DA1NEXT:MOV DX, PTCON ; 查询TxRDY是否有效IN AL, DXAND AL, 01HJZ NEXT ; TXRDY=0,发送没准备好MOV DX, PTDATAMOV AL, [DI]OUT DX, ALINC DILOOP NEXTENDLESS:JMP ENDLESSCODE ENDSEND START2.若从超级终端接收一个字符(在超级终端的窗口键入一个字符),将接收到的字符的ASCII码加1,再发送回超级终端显示。
第七章终结篇——8251A的总结总算把这个第七章复习完了,我把剩下⼀点关于8251A的发上来吧本来在讲解8251A书本上还有关于RS232和串⼝通信的讲解,但是太浅了,就不放了,有兴趣的朋友可以⾃⾏参考其他⽂章串⾏通信芯⽚8251A有以下特点1. 可以⽤于同步或者异步传输,同步0-64kbps,异步0-19.2kpbs2. 同步传送的时候,5-8位/字符,可以⽤于内同步或者外同步,可⾃动插⼊同步字符3. 异步传送的时候,5-8位/字符,有1,2,1.5个停⽌位4. 完全双⼯,双缓冲发送和接受数据5. 具有出错检查,奇偶校验、溢出、和帧错误等检测电路好吧,为啥要这个8251A因为计算机内部都是并⾏传输数据的,但是长距离通信都是⽤的串⾏通信的(这些概念不太明⽩的不懂的朋友可以⾃⾏百度⼀下概念或者看看书)必须要个东西来转化⼀下82518251的内部结构内部结构包括接收器,发送器,读/写控制逻辑,数据总线缓冲器和调制解调控制电路五⼤部分接收器包括接收缓冲器,并⾏转换逻辑和接受控制电路三个部分接收缓冲器对外引脚为RxD,功能是从此引脚上接收串⾏数据,然后转换成并⾏数据,是由接受移位寄存器和接收数据缓冲器组成双缓冲结构接受控制电路是配合缓冲器⼯作的,作⽤如下1 .在异步⽅式下,芯⽚复位后,先检测输⼊信号中的有效1,⼀旦检测到到,就接着寻找有效的低电平来确定启动位2 消除假启动⼲扰3 对接收到的信息进⾏奇偶校验,并根据校验结果建⽴相应的状态位4 检测停⽌位,并按检测结构建⽴状态位发送器和接收器差不多,也是有发送缓冲器,发送控制电路和并串转换逻辑3个部分发送缓冲器上⾯接的是TxD脚,发送数据缓冲器和发送移位寄存器组成了发送的双缓冲结构,发送控制电路也是辅助发送缓冲器的,但是和接受的功能不⼀样发送控制电路作⽤如下1. 在异步⽅式下插⼊起始位,校验位和停⽌位2. 在同步⽅式下,插⼊同步字符,在数据中插⼊校验位数据总线缓冲器提供与8251A和CPU系统总线相连,在CPU执⾏输⼊输出操作的时候,进⾏数据交换或者读写命令读/写控制逻辑电路⽤来配合总线缓冲器⼯作1. 写信号WR#,把数据总线的信号(数据/控制字)写⼊8251A2. 读信号RD#,将状态/数据字发送到CPU(发到数据总线)3. 接收控制/数据信号C/D#,与读。
串行接口芯片8251A8251A基本功能⏹可用于同步和异步通信方式(通信方式通过对方式字编程实现):☐同步方式:波特率0-64Kbps,每个字符可为5~8位,可使用内部同步检测和外部同步检测,能自动插入同步字符。
☐异步方式:波特率0-19.2Kbps,每个字符可为5~8位,自动增加起始位、停止位和校验位。
时钟TxC,RxC的时钟频率为传输波特率的1,16和64倍。
⏹全双工,具有双缓冲器接收器和发送器;⏹出错检测,具有奇偶、溢出和帧错等检测电路。
8251A的内部结构8251A的内部结构主要包括:数据总线缓冲器、接收缓冲器、接收控制电路、发送缓冲器、发送控制电路、调制/解调控制电路、读/写控制逻辑电路等数据总线缓冲器发送缓冲器发送控制电路接收缓冲器接收控制电路D0~D7SYNDETRxDRxRDY读写控制电路C / DCLKRESETRDWRCSDSRCTSDTRRTSRxCTxCTxETxRDYTxD调制解调控制电路内部总线8251A的内部结构⏹发送器:包括发送缓冲器和发送控制电路☐采用异步方式时,则由发送控制电路自动在其首尾加上起始位、奇偶校验位和停止位,然后从起始位开始,经移位寄存器从数据输出线TxD逐位串行输出。
发送速率取决于TxC接收的发送时钟频率,可以编程定义是发送速率的1、16、64倍。
8251A的内部结构☐采用同步方式,则在发送数据之前,发送器将自动送出1个或2个同步字符,然后才逐位串行输出数据。
◆如果CPU与8251A之间采用中断方式交换信息,那么TxRDY可作为向CPU发出的中断请求信号,表示发送缓冲器已空,可以接收CPU下一个数据。
◆当发送器中的8位数据串行发送完毕时,由发送控制电路向CPU发出TxE有效信号,表示发送器中移位寄存器已空。
8251A的内部结构⏹接收器:包括接收缓冲器和接收控制电路从RxD引脚上接收串行数据转换成并行数据后存入接收缓冲器。
☐异步方式:在RxD线上检测低电平,将检测到的低电平作为起始位,8251A开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,送到数据输入寄存器,同时发出RxRDY信号送CPU,表示已经收到一个可用的数据。
串行通信线路有如下3种方式:(1) 单工通信:它只允许一个方向传输数据,不能进行反方向传输。
(2) 半双工通信:它允许两个方向传输数据,但不能同时传输,只能交替进行,A发B收或B发A收,这种协调可以靠增加接口的附加控制线来实现,也可用软件约定来实现。
(3) 全双工通信:它允许两个方向同时进行数据传输,A收B发的同时可A发B收,但是这两个传输方向的资源必须完全独立,A与B都必须有独立的接收器和发送器,从A到B和从B到A的数据通路也必须完全分开(至少在逻辑上是分开的)。
8251作用、特点具有同步/异步的接受/发送功能它能将并行输入的8位数据变换成逐位输出的串行信号;也能将串行输入数据变换成并行数据,一次传送给处理机。
广泛应用于长距离通信系统及计算机网络。
8251A由发送器、接收器、数据总线缓冲存储器读/写控制电路及调制/解调控制电路等5部分组成,各组成部分的工作过程:8251A的发送器包括发送缓冲存储器,CPU用OUT指令将要发送的数据送入到8251A的数据总线缓冲器,再并行送入发送数据缓冲器中。
当TxRDY有效时,将数据送移位寄存器将并行数据转换为串行数据并格式化后,经TxD引脚串行输出。
发送移位寄存器(并→串转换)及发送控制电路3部分,CPU需要发送的数据经数据发送缓冲存储器并行输入,并锁存到发送缓冲存储器中。
如果是采用同步方式,则在发送数据之前,发送器将自动送出一个(单同步)或两个(双同步)同步字符(Sync)。
然后,逐位串行输出数据。
如果采用异步方式,则由发送控制电路在其首尾加上起始位及停止位,然后从起始位开始,经移位寄存器从数据输出线T X D逐位串行输出,其发送速率由T X C端上收到的发送时钟频率决定。
当发送器作好接收数据准备时,由发送控制电路向CPU发出T X RDY有效信号,CPU立即向8251A 并行输出数据。
如果8251A与CPU之间采用中断方式交换信息,那时T X RDY作为向CPU发出的发送中断请求信号。
8251芯片8251芯片是一种通讯接口芯片,主要用于计算机之间或计算机与外设之间的数据传输。
该芯片通过串行和并行数据传输的方式,实现了计算机之间的数据传输和通信功能。
8251芯片提供了串行和并行两种模式的通信接口。
在串行模式下,数据以位的形式传输,适用于长距离传输和低速传输场景。
在并行模式下,数据以字节或字的形式传输,适用于短距离传输和高速传输场景。
8251芯片具有以下主要功能:1. 数据格式控制:8251芯片支持多种数据格式,包括异步串行传输、同步传输和标准格式传输等。
用户可以根据需要选择合适的数据传输格式。
2. 时钟控制:8251芯片提供了多个时钟源,可以根据需要选择不同的时钟源。
同时,芯片还支持外部时钟源的输入。
3. 数据传输控制:芯片可以根据指令进行数据传输的启动、停止和暂停等控制操作。
同时,芯片还支持自动重整、自动请求和自动调整等功能,可以提高数据传输的效率。
4. 错误检测:8251芯片提供了丰富的错误检测和纠错功能,包括奇偶校验、帧错误检测等。
可以有效减少数据传输过程中的错误和丢失。
5. 缓冲区管理:芯片内置了数据缓冲区,可以存储待传输的数据。
通过合理调整缓冲区大小和设置触发阈值,可以实现高效的数据传输。
8251芯片广泛应用于计算机和外设之间的数据传输和通信领域。
它可以与各种外设进行通信,包括打印机、调制解调器、终端设备等。
它不仅提供了稳定可靠的数据传输功能,还具备丰富的扩展接口,可实现更多的功能拓展。
总结来说,8251芯片是一种功能强大的通讯接口芯片,通过串行和并行的数据传输方式,实现了计算机之间或计算机与外设之间的数据传输和通信功能。
它具有多种数据格式控制、时钟控制、数据传输控制、错误检测和缓冲区管理等功能,广泛应用于计算机和外设之间的通信领域。