下面介绍PCON中各位功能。仅最高位SMOD与串口有关其他各位的功能已在第2章的节电工作方式一节中作过介绍。SMOD:波特率选择位。例如,方式1的波特率计算公式为2SMOD方式1波特率X定时器T1的溢出率32当SMOD=1时,要比SMOD=0时的波特率加倍,所以也称SMOD位为波特率倍增位。26
26 下面介绍PCON中各位功能。仅最高位SMOD与串口有关, 其他各位的功能已在第2章的节电工作方式一节中作过介绍。 SMOD:波特率选择位。 例如,方式1的波特率计算公式为 26 SMOD 2 32 当SMOD = 1时,要比SMOD = 0时的波特率加倍,所以也 称SMOD位为波特率倍增位
6.3串行口的4种工作方式4种工作方式由SCON中SM0、SM1位定义,编码见表6-1。方式06.3.1方式0为同步移位寄存器输入/输出方式。该方式并不用于两个单片机之间的异步串行通信,而是用于串行口外接移位寄存器,扩展并行/O口。8位数据为一顿,无起始位和停止位,先发送或接收最低位。波特率固定,为fosc/12。帧格式如图6-9所示。D0D1D2D3D4D5D6D7图6-9方式0的顿格式27
27 6.3 串行口的4种工作方式 4种工作方式由SCON中SM0、SM1位定义,编码见表6-1。 6.3.1 方式0 方式0为同步移位寄存器输入/输出方式。该方式并不用于两 个单片机之间的异步串行通信,而是用于串行口外接移位寄存 器,扩展并行I/O口。 8位数据为一帧,无起始位和停止位,先发送或接收最低位。 波特率固定,为fosc/12。帧格式如图6-9所示。 27 图6-9 方式0的帧格式
1方式0发送(1)方式0发送过程当CPU执行一条将数据写入发送缓冲器SBUF的指令时,产生一个正脉冲,串行口开始把SBUF中的8位数据以fosc/12的固定波特率从RXD引脚串行输出,低位在先,TXD引脚输出同步移位脉冲,发送完8位数据,中断标志位TI置“1”。发送时序如图6-10所示。28
28 1.方式0发送 (1)方式0发送过程 当CPU执行一条将数据写入发送缓冲器SBUF的指令时,产 生一个正脉冲,串行口开始把SBUF中的8位数据以fosc/12的固 定波特率从RXD引脚串行输出,低位在先,TXD引脚输出同步 移位脉冲,发送完8位数据,中断标志位TI置“1”。发送时序 如图6-10所示。 28
机器周期S1~S6S1~S6写SBUF几D1D2D3D4D5D6D7DORXD(数据)TXD(移位脉冲)TI图6-10方式0发送时序29
29 图6-10 方式0发送时序
(2))方式0发送应用举例图6-11所示为方式0发送的一个具体应用,通过串行口外接8位串行输入并行输出移位寄存器74LS164,扩展两个8位并行输出口的具体电路。送出,移位脉方式0发送时,串行数据由P3.0(RXD端)冲由P3.1(TXD端)送出。在移位脉冲的作用下,串行口发送缓冲器的数据逐位地从P3.0串行移入74LS164中。30
30 (2)方式0发送应用举例 图6-11所示为方式0发送的一个具体应用,通过串行口外 接8位串行输入并行输出移位寄存器74LS164,扩展两个8位 并行输出口的具体电路。 方式0发送时,串行数据由P3.0(RXD端)送出,移位脉 冲由P3.1(TXD端)送出。 在移位脉冲的作用下,串行口发送缓冲器的数据逐位地从 P3.0串行移入74LS164中。 30