嵌入式 > 嵌入式开发 > 详情

串行通信知识点整理

发布时间:2020-11-17 发布时间:
|
串行口编程首先与之联系紧密的是各种寄存器了。然后再整理各种串口通信模式下的通信方式。然后再将波特率的计算公式贴上。至于MAX232、TMOD、TCON等寄存器应该是另一块知识点。TMOD、TCON之前笔记过。还没有笔记的知识点在用到了之后就会使劲总结的。目前浅显的境界为:用 -- >学 -->用 ---> 总结,串行通信的路子也是这样的。

1.串行口控制寄存器SCON

2 电源管理寄存器PCON

3 串口方式简介

4 波特率

(1)定义

单片机或计算机在串口通信时的速率用波特率表示,它定义为每秒传输二进制代码的位数。

实践知识点串行接口或中断直接传送串行信息的最大距离与传输速率及传输线的电气特性也有关。当传输线使用每0.3m有50pf电容的非平衡屏蔽双绞线时,传输距离随传输速率的增大而减小。当比特率超过1000bps,时最大传输距离迅速下降,如9600bps时最大距离下降到只有76m。因此我们在做串行口通信实验选择较高速率传输数据时,尽量缩短数据线的长度,为了能使数据安全传输,计时在较低速率下也不要使用太长的数据线。一般来说,传输速率越大,线的最大传输距离越小。

(2)波特率的计算

51单片机串行口有4种工作方式,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。

串行口的4种工作方式对应3种波特率。由于输入的移位时钟来源不同,所以各种波特率计算公式也不同:

方式0的波特率 = f(osc)/12

方式1的波特率 =(2^SMOD/32) * ( T1溢出率 )

方式2的波特率 = (2^SMOD/64) * f(osc)

方式3的波特率 = (2^SMOD/32) * ( T1溢出率 )

f(osc)为系统晶振频率,SMOD是PCOM寄存器的最高位,要么为0要么为1;T1溢出率即定时器T1溢出的频率。

所有的知识点笔记源头为《新概念 51单片机C语言教程》 作者 郭天祥

此次笔记记录完毕。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Xilinx Zynq UltraScale+双核与四核多处理器SoC贸泽开售