微机——8251同步/异步数据收发器
写在前面
微机期末整理重点,自用复习
8251 同步/异步数据收发器
8251工作于全双工方式,且即可同步方式也可异步方式
内部结构和引脚
1. 数据总线缓冲器:
相关的引脚:D7~D0
8251与系统数据总线之间的接口,包含3个缓冲器:状态缓冲器、接收数据缓冲器、发送数据/命令缓冲器。因此可以用来传送数据和寄存器状态,可以用IN/OUT命令读取/发送(方向是相对于CPU来说)数据状态或命令。
2. 接收缓冲器、接收控制电路
相关的引脚: RxD、RxRDY、~RxC、SYNDET/BRKDET
RxD:输入,接收数据
RxRDY:输出,接收准备好信号
~RxC:输入,接收时钟,决定接收数据的速率。
同步:等于接收数据的波特率
异步:为接收数据的波特率的1/16/64倍
SYNDET/BRKDET:输入/输出,同步检测/断点检测
同步:用同步检测,内同步时,作输出信号,检测到同步字符时输出高电平,CPU执行读操作后,被自动复位至低电平;外同步时,作输入信号,变为高电平时,8251在下一个~RxC的上升沿时开始接收字符,一旦同步就自动复位。(外同步检测时,不能同时进行内同步检测)
PS:外同步和内同步:
- 外同步:由CPU检测同步字符,检测到同步字符后,将SYNDET置1通知8251。若SYNDET的高电平能维持一个~RxC时钟周期,则认为达到同步,开始接收数据。
- 内同步:由8251检测同步字符,检测到同步字符后,将SYNDET置1输出通知CPU已同步。
异步:用断点检测,作输出信号。当8251从RxD接收到两个全0数位组成的字符,则认为此时8251空闲,BREKDET置1,表示无数据可读。若收到1或8251复位时才置0
3. 发送缓冲器、发送控制电路
相关的引脚: TxD、TxRDY、TxC、TxE
TxE:输出信号,高电平有效,发送器空
* 异步:向外输出空闲位
* 同步:向外输出同步字符
4. 读写控制电路
相关引脚: RESET、CLK、C/~D、 ~RD、 ~WR
C/~D: 输入信号,控制/数据信号,类似于8255和8253的A0 A1 通道选择信号
5. 调制解调器控制电路
相关引脚: ~DTR、 ~DSR、 ~RTS 、 ~CTS

8251编程

收发时钟频率=收发波特率×波特率系数
方式字:(重点:异步方式)紧接在复位操作后写入。

命令字:写入方式控制字后,才能写入同步字符和命令控制字。在工作过程中,可随时写入新的命令控制字。

与方式控制字写入相同端口地址。
复位后首先写入方式控制字,之后写入命令控制字。
状态字:CPU读取8251的运行状态

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效