整体过程晶振 → 机器周期 → 定时器1 → UART分频 → 波特率 → 发送bi1. 晶振给单片机提供最原始的节拍来自于物理现象51单片机就是利用石英晶片这个物理效应产生时钟。51单片机的晶振为11.0592MHz代表每秒振荡 11,059,200 次。2. 晶振 → 机器周期51单片机中12个晶振周期 1个机器周期也就是12 × 83.3ns1us代表1个机器周期 1us。3. 机器周期 → 定时器18位自动重装TH1 初值TL1 初值例:TH10xFD8位最大能表示2550xFD转为二进制为253从253开始数255-25313代表数三次每次为一个机器周期3个机器周期为3us故该计时器为3us溢出一次。4. 定时器1溢出 → UART分频51 UART模式1模式1用得最多若SMOD0UART时钟 T1溢出频率 /32若SMOD1UART时钟 T1溢出频率 /165. UART分频 → 波特率如我们最终需要的波特率为9600Hz:代表每秒发送9600bit也就是1bit需要1/9600s104.17us得到没发送1bit需要104us6. UART发送bitTXD每104us改变一次电平发送1bit注时钟源和UART分频都是为了最终得到的波特率符合我们的要求所以有多种组合的方案但一般我们会选取误差最小的那一种方案。
51单片机UART串口通信波特率产生过程
整体过程晶振 → 机器周期 → 定时器1 → UART分频 → 波特率 → 发送bi1. 晶振给单片机提供最原始的节拍来自于物理现象51单片机就是利用石英晶片这个物理效应产生时钟。51单片机的晶振为11.0592MHz代表每秒振荡 11,059,200 次。2. 晶振 → 机器周期51单片机中12个晶振周期 1个机器周期也就是12 × 83.3ns1us代表1个机器周期 1us。3. 机器周期 → 定时器18位自动重装TH1 初值TL1 初值例:TH10xFD8位最大能表示2550xFD转为二进制为253从253开始数255-25313代表数三次每次为一个机器周期3个机器周期为3us故该计时器为3us溢出一次。4. 定时器1溢出 → UART分频51 UART模式1模式1用得最多若SMOD0UART时钟 T1溢出频率 /32若SMOD1UART时钟 T1溢出频率 /165. UART分频 → 波特率如我们最终需要的波特率为9600Hz:代表每秒发送9600bit也就是1bit需要1/9600s104.17us得到没发送1bit需要104us6. UART发送bitTXD每104us改变一次电平发送1bit注时钟源和UART分频都是为了最终得到的波特率符合我们的要求所以有多种组合的方案但一般我们会选取误差最小的那一种方案。