⑴ 51单片机 设置串口波特率115200初值怎么弄 呢 单片机是11.0592的晶振
void UartInit(void) //[email protected]
{
PCON &= 0x7f; //波特率不倍速
SCON = 0x50; //8位数据,可变波特率
AUXR |= 0x40; //定时器1时钟为Fosc,即1T
AUXR &= 0xfe; //串口1选择定时器1为波特率发生器
TMOD &= 0x0f; //清除定时器1模式位
TMOD |= 0x20; //设定定时器1为8位自动重装方式
TL1 = 0xFD; //设定定时初值
TH1 = 0xFD; //设定定时器重装值
ET1 = 0; //禁止定时器1中断
TR1 = 1; //启动定时器1
}
void UartInit(void) //[email protected]
{
PCON |= 0x80; //使能波特率倍速位SMOD
SCON = 0x50; //8位数据,可变波特率
AUXR &= 0xbf; //定时器1时钟为Fosc/12,即12T
AUXR &= 0xfe; //串口1选择定时器1为波特率发生器
TMOD &= 0x0f; //清除定时器1模式位
TMOD |= 0x20; //设定定时器1为8位自动重装方式
TL1 = 0xFF; //设定定时初值
TH1 = 0xFF; //设定定时器重装值
ET1 = 0; //禁止定时器1中断
TR1 = 1; //启动定时器1
}
⑵ MCS-51单片机串口四种工作方式的波特率如何确定
1、串口屏和软件成功联机之后,左上角会显示当前波特率。
⑶ 51单片机怎么实现在rxd接受115200波特率的数据,在txd输出9600波特率的数据呢。
用 T2 控制波特率,可实现不同的收发速度。
T2CON 中,有 RCLK、TCLK 两个控制位。
当把 RCLK 置一后,将用 T2 控制串口接收的波特率。
当把 RCLK 清零后,将用 T1 控制串口接收的波特率。
当把 TCLK 置一后,将用 T2 控制串口发送的波特率。
当把 TCLK 清零后,将用 T1 控制串口发送的波特率。
就是说,串口的发送、接收波特率,可以用 T1、T2 分别控制。
楼主的要求,用一片普通的51单片机(52系列),即可满足。
采纳答案,是错误的。
⑷ 用51单片机串口实验时波特率怎么调才合适我觉得是不是就给它调高点就可以不是很理解,求解释一下
一般而言,波特率的高低与串口传输距离和使用环境有关,距离越远,波特率一般越低,使用环境干扰越大,波特率越低,如果是在同一块板上的串口通讯,可以做到很高,比如115200bps,另外最好使用11.0592M之类的晶振,这样标准波特率可以做到没有误差。
通过我的使用经验,一般RS232传输距离在1米以内的话,115200bps的波特率是没有什么问题的。10米以内的话9600bps肯定可以稳定传输(关键是要保证电压,也就是解决压降的问题。)。超过10米的话最好用485了。