前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C51 单片机开发串口初始化分析

C51 单片机开发串口初始化分析

作者头像
码农UP2U
发布2024-07-04 14:08:02
770
发布2024-07-04 14:08:02
举报
文章被收录于专栏:码农UP2U码农UP2U

本篇文章整理了串口的初始化的一些文档性的内容,如果看完和我一样比较晕,那么下篇文章配合代码看也行。

0x01:串口初始化相关寄存器

串口初始化相关的寄存器有两个,分别时 PCON 和 SCON。

SCON 被称作串行控制寄存器,它也是一个特殊功能寄存器。

PCON 是电源控制寄存器,也有称它为波特率选择特殊功能寄存器。

0x02:PCON 寄存器简介

PCON 寄存器是电源控制寄存器,文档 P234 对它的描述如下:

在上图中,写到 SMOD 是波特率选择位,当设置 SMOD = 1 时,则使串行通信方式 1、2、3 的波特率加倍;SMOD = 0,则各工作方式的波特率加倍。这句话的后半句是错误的。应该是 SMOD = 0 时是不加倍的。

PCON 的 SMOD0 用来控制 SCON 的最高位或者最高位和次高位的作用。

0x03:SCON 寄存器简介

SCON 寄存器是串行控制寄存器,用于选择串行通信的工作方式和某些控制功能,文档的 P233 描述如下:

PCON 的 SMOD0 寄存器为 1 时,SCON 的 SM0/FE 被用作帧错误检测。当 PCON 的 SMOD0 寄存器为 0 时,SM0/FE 和 SM1 用来指定串行通信的工作方式。

0x04:定时器

除了 TCON 和 SCON 两个寄存器外,初始化串口时需要指定定时器。因为波特率是表示速度的,单片机的速度是又晶振决定的,而晶振跟时钟周期、机器周期又是相关的,那么就离不开定时器了。看一下文档的 P232 ,如下图:

0x05:小结

从上面的整理我们可以得知,初始化串口会用到 TCON、SCON 和 定时器相关的寄存器。本文是一个比较文档性的内容,下篇文章会基于这些文档性的内容写代码。不过代码要比文档内容少很多。

我是一个程序员,了解 C、PHP、Java、ASM、Python,有 信安、CISP 证书,写小白也能看得懂的文章,感谢关注!!!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农UP2U 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01:串口初始化相关寄存器
  • 0x02:PCON 寄存器简介
  • 0x03:SCON 寄存器简介
  • 0x04:定时器
  • 0x05:小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档