串行口是单片机与外界进行信息交换的工具,8051单片机的通信方式有两种:
并行通信:数据的各位同时发送或接收。 串行通信:数据一位一位次序发送或接收。
串行通信的方式异步通信
用一个起始位0表示字符的开始,用停止位1表示字符的结束,中间夹着8个数据位,字符能一个接一个传送
CPU与外设之间必须有字符格式和波特率两项规定
字符格式规定能使双方把0和1串理解成同一种意义,原则上自由制定,通用角度使用标准如ASCII
波特率即数据传输速率,每秒传送的二进制位数,如120字符/s,每个字符10数位,则传送波特率为1200波特
同步通信
去掉了开始结束标志提高速度,但由于数据块传递开始要用同步字符来指示,同时要求由时钟来实现发送端与接收端之间的同步,故硬件较复杂。
通信方向
在串行通信中,把通信接口只能发送或接收的单向传送办法叫单工传送;把数据能双向传递称为双工传送。半双工传送两机之间不能同时进行发送和接收,任一时该,只能发或者只能收信息。全双工传送是能同时发送接收。
串行接口结构51单片机一个可编程的全双工串行通信接口。可用作异步通信方式(UART),与串行传送信息的外部设备相连接。或用于通过同步或异步标准通信协议进行全双工的8051多机系统,使用TTL或CMOS移位寄存器来扩充I/O口。
8051单片机通过管脚RXD(P3.0,串行数据接收端)和管脚TXD(P3.1,串行数据发送端)与外界通信。SBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同名字和地址空间,但不会出现冲突,因为它们两个一个只能被CPU读出数据,一个只能被CPU写入数据。
串行口的控制与状态寄存器串行口控制寄存器 SCON
用于定义串行口的工作方式及实施接收和发送控制,字节地址为98H
D7
D6
D5
D4
D3
D2
D1
D0
SM0
SM1
SM2
REN
TB8
RB8
TI
RI