[讨论] 关于51单片机串口波特率的事情

徐建庆   2017-4-5 15:38 楼主
通常我们使用串口的时候,是要配置波特率的。比如:
  1. TMOD |= 0x20; //设定定时器1为8位自动重装方式
  2. TL1 = 0xF9; //设定定时初值
  3. TH1 = 0xF9; //设定定时器重装值
  4. ET1 = 0;//禁止定时器1中断
  5. TR1 = 1;//启动定时器1


这是一个将定时器1配置成8位自动重装初值的,溢出时候不进入中断服务程序,     4800bps。
我的问题就是定时器1为什么能为串口1提供波特率?也就是定时器1是专门为串口1提供读写的时隙的器件吗??
我看到现在市场上51内核的单片机,有T2定时器可作为波特率发生器,串口有3,4个,那么定时器1是不是只对应一个串口的波特率发生,还是可以对应多个或者所有串口发生。



回复评论 (2)

不同厂家的设计会有所不同,有的增强型51支持任意定时器做波特率发生器,有的则保持原始51的设计,所以必须且只能个案分析,一切以器件手册为准。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2017-4-5 16:40
现在51基本都有独立的波特率发生器
点赞  2017-4-5 19:34
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复