Please enable JavaScript.
Coggle requires JavaScript to display documents.
UART (波特率 (方式2有两种选择 (PCON中SMOD=0,fosc/64, PCON中SMOD=1,fosc/32),…
UART
-
工作方式
方式0:同步移位寄存器输入/输出方式
8位数据为一帧,发送次序为从低到高(D0到D7);引脚RXD是数据输入/输出端;引脚TXD是同步移位脉冲输出端,为外围芯片提供同步移位信号;移位脉冲的频率是固定的为fosc/12,即每个机器周期发送/接收1位数据
发送过程:在TI=0情况下,将要发送的数据写入发SBUF,即启动了一次发送。数据从RXD端串行输出(先低位后高位),TXD端输出移位同步信号。 8位发送完毕后,由硬件将TI 置为“1”(表示一个字节数据发送完毕)。在软件清除TI后,可发送下一个数据。
接收过程:在RI=0条件下,将REN置“1”便启动了串行口的接收;RXD为数据输入端,TXD为同步移位信号输出端。在接收到8位数据后,将被移入接收SBUF,并置RI 为“1”(表示接收到一个字节数据)。在CPU读取该数据、清除RI 后,可接收下一个数据。
方式1-3:异步通信方式
发送过程:将要发送的第8位数据写入SCON的TB8; 然后将要发送的数据写入发送SBUF,即启动了一次发送; 依次发送:起始位“0”(硬件自动插入)、SBUF中的8位数据位(先低 后高)、TB8的内容、停止位“1”(硬件自动插入);发送速率:由设置的波特率决定,即数据帧信息在内部波特率发生器输出 的移位脉冲控制下,逐位从TXD引脚输出;当停止位发送完毕后,置TI=1,通知CPU可以发送下一帧数据;同时维持TXD引脚为高电平状态。
接收过程:检测起始位:在内部接收脉冲(16倍的波特率)的控制下,检测RXD引脚 的状态;检测到有效的“0”,即认为检测到了起始位。 于是开始连续接收数据位、校验位和停止位。 若接收的停止位=1,表示接收的数据有效,就将移位寄存器中的数据移入接收SBUF,并将 RI置为1。不然,所有接收信息将丢失。
-