当前标签

波特率

89C51串行接口有几种工作方式?有几种帧格式?求各个工作方式的波特率如何确定?

有四种工作方式,可有8位,10位和11位帧格式,由SCON中的SMO、SM1二位选择决定方式0,用作串行口扩展,具有固定的波特率,为Fosf/12。 方式1,波特率由指令设定,由T1的溢出率决定。 方式2和方式3,波特率在方式2时为固定FOSC/32或FOSC/64,由SMOD位决定,当SMOD=1时,波特率为FOSC/32;当SMOD=0时,波特率为FOSC/64。方式3的溢出率由T1的溢出率决定。

问:F02x芯片有两个UART,我需要两个不同的波特率,UART0为9600,UART1为19200。请问如何配置呢?

答:UART0可以用Timer1或Timer2作为波特率源(选择T2CON寄存器RCLK0和TCLK0的状态)。UART1可以用Timer1或Timer4作为波特率源(选择T4CON寄存器RCLK1和TCLK1的状态)。 关于具体的例程可以参看应用笔记AN022 《 F02x 系列的C例程》,该应用笔记可以从我公司网站上下载。(www.xhl.com.cn)

问:内部时钟振荡器是否稳定?是否可以用于产生波特率的时基?

答:不同器件的内部时钟振荡器的精度是不同的(±20%)。随电源电压变化,它也将发生变化(6.5%/V)。但基本不随温度变化(<1%温度变化范围-40℃~+85℃)。由于不同器件内部振荡器的离散性较大,所以不能用于产生波特率,应该外接标准晶体 。而有些器件,如C8051F3xx/f12x/f04x/f06x内部振荡器精度为±2%,可用于产生波特率。