串口通讯工作方式由于 CPU 与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有 " 接收移位寄存器 " (串→并)和 " 发送移位寄存器 " (并→串).在数据输入过程中,数据 1 位 1 位地从外设进入接口的 " 接收移位寄存器 ",当 " 接收移位寄存器 " 中已接收完 1 个字符的各位后,数据就从 " 接收移位寄存器 " 进入 " 数据输入寄存器 " . CPU 从 " 数据输入寄存器 " 中读取接收到的字符.(并行读取,即 D7~D0 同时被读至累加器中). " 接收移位寄存器 " 的移位速度由 " 接收时钟 " 确定.在数据输出过程中,CPU 把要输出的字符(并行地)送入 " 数据输出寄存器 "," 数据输出寄存器 " 的内容传输到 " 发送移位寄存器 ",然后由 " 发送移位寄存器 " 移位,把数据 1 位 1 位地送到外设. " 发送移位寄存器 " 的移位速度由 " 发送时钟 " 确定.接口中的 " 控制寄存器 " 用来容纳 CPU 送给此接口的各种控制信息,这些控制信息决定接口的工作方式." 状态寄存器 " 的各位称为 " 状态位 ",每一个状态位都可以用来指示数据传输过程中的状态或某种错误.例如,用状态寄存器的 D5 位为 "1" 表示 " 数据输出寄存器 " 空,用 D0 位表示 " 数据输入寄存器满 ",用 D2 位表示 " 奇偶检验错 " 等.能够完成上述 " 串 <- -> 并 " 转换功能的电路,通常称为 " 通用异步收发器 " (UART :Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251,16550
以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。