关于51单片机的串口,下列哪些说法是错误的( )

关于51单片机的串口,下列哪些说法是错误的( )关于51单片机的串口,下列哪些说法是错误的( )
1.单片机和PC机的通讯使用MAX232芯片是为了电平转换
2.异步通讯中,波特率是指每秒传送的字节数
3.空闲状态下,Tx引脚上的电平为高
4.一般情况下,使用非整数晶振,是为了获得精准的波特率

求助QAQ
会的大神来

答案是 2。
2.异步通讯中,波特率不是指每秒传送的字节数,而是每秒传送的位数(bits),而位不仅仅是数据的位,还包含有停止位、校验位(如果有的话)。
1、单片机使用的是TTL电平,而PC机使用的是CMOS电平。所以它们之间的通讯,需要电平转换,而MAX232就是这种转换的典型芯片。
3、串口通讯的协议中规定,起始位 为 低电平。这决定了在空闲状态中,接收引脚平时应为高电平,那么对应的,就必须发送方的TX在空闲状态下为高电平。
4、串口通讯方式有4种:
方式0:同步移位寄存器方式(仅有8个数据位),波特率公式:Baud=Fosc/12;
方式1:10位异步收发(1起始位+8位数据+1停止位),波特率公式:Baud=2^(SMOD)/32 ×T1溢出率;
方式2:11位异步收发(1起始位+9位数据+1停止位),波特率公式:Baud=2^(SMOD)/64 ×Fosc;
方式3:11位异步收发(1起始位+9位数据+1停止位),波特率公式:Baud=2^(SMOD)/32 ×T1溢出率;
上面所谓的SMOD是倍频系数(0或1),T1溢出率=1/T1中断时间。
最常用的是方式1,10位异步收发。波特率:Baud=2^(SMOD)/32 ×T1溢出率;
而 T1中断时间=n×12/Fosc。(0≤n≤255)
综上得:Baud=2^(SMOD)/32 ×Fosc/12n=2^(SMOD)×Fosc/384n;
得:Fosc=384×n×Baud/2^(SMOD);结果是Hz,晶振是否整数,还得换算成MHz。
以9600波特率为例:Fosc=384×9600×n/2^(SMOD)=3686400×n/2^(SMOD)。
这个值换算成MHz(÷100万)不会是整数。所以,非整数晶振,就是为了波特率精度。追问

。。。你自己写的?还是找到答案了

哪找的答案啊?

给你悬赏分。。。告诉我呗

温馨提示:答案为网友推荐,仅供参考
相似回答