在单片机里面,波特率和比特率是一回事吗?

2019-08-19 18:41发布

在网上结果里,有各种解释,第一种是说波特率是指单位时间内发出的码元数,而码元可以是由不同的比特位组成,另一种就是说波特率是每秒发出的比特数。我查了两本书,讲的也不是很清楚。郭天祥的书里讲的是 :每秒传输二进制代码的位数,即1波特=1位/秒。 另一本新编CS-51单片机应用设计里,定义为:串行口每秒钟发送(或接收)的位数。比较混乱,越看越不明白了,大家可以一起来讨论下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
tnteye
2019-08-20 11:10
4:波特率时钟      实际上是比特率时钟,每1bit所要花费的时间周期。而波特率(实际是比特率)发生器生成的分频时钟实际是对每1bit进行采样的时钟,它是波特率时钟的16倍。    波特率发生器实质是设计一个分频器,用于产生和RS 232通信同步的时钟。在系统中用一个计数器来完成这个功能,分频系数N决定了波特率的数值。该计数器一般工作在一个频率较高的系统时钟下,当计数到 N/2时将输出置为高电平,再计数到N/2的数值后将输出置为低电平,如此反复即可得到占空比50%的波特率时钟,具体的波特率依赖于所使用的系统时钟频率和N的大小。如系统时钟频率是40 MHz,要求波特率是9 600[MS1] ,则16倍波特率时钟的周期约等于260个系统时钟周期,则计数器取260/2=130时,当计数溢出时输出电平取反就可以得到16倍约定波特率的时钟。      也可以这么理解:40mhz晶振,最小计数脉冲是25ns, 16倍波特率的频率就是16*9600,其时钟周期就是1/(16*9600)=6.5us  也就是以40mhz晶振作为输入的话,计数器需要计数=6500/25=260 个计数。      9600波特率也可理解为一种波特时钟频率,即1秒钟计数9600个,如果是16倍波特率时钟,即直接相乘就可以了。就是1秒计数9600*16=153600 。

一周热门 更多>