1. 波特率与溢出率的基本关系
波特率(Baud Rate)表示串口通信中每秒传输的位数(bps),而溢出率是定时器每秒溢出的次数。在51单片机中,波特率通常通过定时器的溢出率来生成。
-
公式关系:
波特率=溢出率/分频系数
其中,分频系数与定时器的工作模式和波特率生成方式有关。
-
定时器溢出率:
-
溢出率为溢出周期的倒数。若计数初值为X(即从X开始计数),那么以工作在方式2的8位自动重装计数,则可以计数256,从而需要计数的位数为:256-X。这么多位数需要多少个机器周期呢? 1/fosc易知为一个晶振周期(也就是拍节),12/fosc也就是一个机器周期(因为单片机中一个机器周期为12个晶振周期)。
-
所以溢出的周期为:(12/fosc)*(256-X)。溢出率为溢出周期的倒数。
溢出率由定时器的计数初值和时钟频率决定。例如,使用定时器1的模式2(8位自动重装模式)时,溢出率公式为: