1.配置串口工作模式为模式1。即设置SCON寄存器(SM0,SM1,REN位),SCON |= 0X50;(SM0 = 0,SM1 = 1,REN =1).
SM0 = 0,SM1 = 0 方式0:同步移位串行方式:波特率= SYSclk / 12.
SM0 = 0,SM1 = 1 方式1:8位UART,波特率可变: 波特率 = (2^SMOD / 32) * (定时器1的溢出率)
SM0 = 1,SM1 = 0 方式2:9位UART: 波特率 = (2^SMOD / 64) * (SYSclk系统工作时钟频率)
SM0 = 1,SM1 = 1 方式3: 8位UART,波特率可变: 波特率 = (2^SMOD / 32) * (定时器1的溢出率)
注意:
当单片机工作在12T模式时,定时器1的溢出率 = SYSclk / 12 / (256 - TH1);
当单片机工作在1T模式时,定时器1的溢出率 = SYSclk / 6 / (256 - TH1);
SMOD默认为0。具体作用参考数据手册。
2.配置定时器1为模式2,即自动重装载模式。TMOD &= 0X0F; TMOD |= 0