在串口通信中,我们对收发双方发送或者接收的数据速率都有一定的要求。其中,方式0和方式2的波特率是固定的,方式1和方式3是可以改变的,由定时器T1的溢出率决定。
方式0和2:波特率=2^SMOD/64 * fosc. fosc为单片机的振荡频率。
方式1和3:波特率,由定时器T1和SMOD共同决定。
当T1用作波特率发生器使用时,通常选用可自动装入初值的模式。(工作方式2)
在工作方式2中,TL1作为计数用,TH1装初值,设计数初值为X,则每过(256-X)个机器周期,定时器就会产生溢出。为了避免因溢出而产生中断,此时应该禁止T1中断。
这时,溢出周期为:12/fos (256-x)
波特率=2^SMOD/32 fosc/(12*(256-x))
初值为=X=256-fosc(SMOD+1)/(384*波特率)
串口通信
最新推荐文章于 2023-08-05 18:55:15 发布