Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C51 单片机开发串口初始化分析

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

作者头像
码农UP2U
发布于 2024-07-04 06:08:02
发布于 2024-07-04 06:08:02
4300
举报
文章被收录于专栏:嵌入式嵌入式码农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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
51单片机采用中断进行串口通信
所谓中断方式,就是串口收/发标志位出发中断后,在中断中执行既定操作,可通过函数调用来实现。
緣來
2020/01/02
2K0
4.3 51单片机-串口通信
对于单片机来说,通信则与传感器、存储芯片、外围控制芯片等技术紧密结合,成为整个单片机系统的“神经中枢”;没有通信,单片机所实现的功能仅仅局限于单片机本身,就无法通过其它设备获得有用信息,也无法将自己产生的信息告诉其它设备。如果单片机通信没处理好的话,它和外围器件的合作程度就受到限制,最终整个系统也无法完成强大的功能,由此可见单片机通信技术的重要性。
DS小龙哥
2022/01/12
1.3K0
4.3 51单片机-串口通信
单片机通信之串口通信
单片机常用的通信方式有串口通信,I2C,SPI,UART等等,在这里说一下基于8051单片机串口通信的基本原理。简要介绍单片机与PC机之间的通信。
飞哥
2020/07/10
2K0
单片机通信之串口通信
『51单片机』串口通信配置
🚩write in front🚩    🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~作者周榜89﹣作者总榜832~ 🆔本文由 謓泽 原创 CSDN首发🙉如需转载还请通知⚠ 📝个人主页-謓泽的博客_CSDN博客 📃 📣系列专栏-【51单片机】系列_謓泽的博客-CSDN博客🎓 ✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩 💬本系列哔哩哔哩江科大51单片机的视频为主以及博主
謓泽
2023/02/22
7750
『51单片机』串口通信配置
串口通信详解
原理 计算机串行通信基础 随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能愈来愈显得重要。计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。 通信有并行通信和串行通信两种方式。在多微机系统以及现代测控系统中信息的交换多采用串行通信方式。 串行通信的基本概念 异步通信 异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。
跋扈洋
2021/02/02
2.5K0
串口通信详解
51单片机波特率计算工具介绍
51 芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON寄存器。
电子工程师成长日记
2022/07/21
8450
51单片机波特率计算工具介绍
STC51单片机中断与定时器配置参考
*外中断INT0--------void intsvr0(void) interrupt 0 using 1
小锋学长生活大爆炸
2020/08/13
1.5K0
STC51单片机中断与定时器配置参考
『51单片机』串口通信
🚩write in front🚩   🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~阿里云专家博主 & 星级博主~掘金⇿InfoQ创作者~周榜137﹣总榜1040⇿全网访问量30w+🏅 🆔本文由 謓泽 原创 CSDN首发🙉如需转载还请通知⚠  📝个人主页-謓泽的博客_CSDN博客 📃 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 📣系列专栏-【51单片机】系列_謓泽的博客-CSD
謓泽
2022/12/12
1.8K0
『51单片机』串口通信
(七)51单片机基础——串口通信
        这个地方是连接到了SCON,控制的话,需要给ES赋1,EA 赋1,优先级直接给低优先级。接下来还是先看看SCON部分的原理图。
小点点
2022/12/12
8800
(七)51单片机基础——串口通信
用51单片机+11.0592的晶振,如何产生115200的波特率
原文地址http://homezzy.blog.hexun.com/29601793_d.html 以前自己也遇到过这种情况,模块115200波特率而且不能更改,如何用51产生115200波特率,最近朋友也可能遇到这个问题,,特转载一下原文博客大神的文章 今天解决了一个小问题(查书后才得到确切结论。。。)用51单片机+11.0592的晶振,如何产生115200的波特率? 本来感觉这个小意思,直接初始化定时器1,程序如下: void init_com( void ) { SCON = 0x50 ; //
杨奉武
2018/04/18
1.3K0
C51 单片机开发单片机发数据给 PC
串口发送数据给电脑,那么按照约定会设置串口相关的参数,比较重要的就是波特率。设置波特率并不是单片机一方进行设置,而是单片机和电脑都要进行设置。
码农UP2U
2024/07/04
3690
C51 单片机开发单片机发数据给 PC
物联网-串口通信和ADC转换实验
USART是一个高度灵活的串行通讯设备。主要特点为:全双工操作 (独立的串行接收和发送寄存器)、异步或同步操作、主机或从机提供时钟的同步操作、高精度的波特率发生器、支持 5, 6, 7, 8,或 9个数据位和 1个或 2个停止位、硬件支持的奇偶校验操作、数据过速检测、帧错误检测、噪声滤波,包括错误的起始位检测,以及数字低通滤波器、三个独立的中断:发送结束中断、发送数据寄存器空中断,以及接收结束中断、多处理器通讯模式、倍速异步通讯模式。
会洗碗的CV工程师
2024/01/30
3890
物联网-串口通信和ADC转换实验
51单片机学习 串行口通信实验
(1)查询方式: 发送程序:发送一个数据-----查询TI-------发送下一个数据(先发后查) 接收程序:查询RI--------读入一个数据---------查询RI-----(先查后收)
叶庭云
2021/12/01
2K0
51单片机学习   串行口通信实验
8051单片机的串行通信
并行通信:我们以8位(一个字节)的数据为例,在并行通信下,8位数据是同时传输的,同时发送,同时接受。所以通信的双方需要一个公共的时钟信号。并行传输速度快,效率高。但是传输需要的数据线多,传输距离近。
zy010101
2019/05/25
6780
【51单片机】想学会串口通信,你需要知道这些(串口通信实验前置知识)(13)
YY的秘密代码小屋
2024/02/26
1.8K0
【51单片机】想学会串口通信,你需要知道这些(串口通信实验前置知识)(13)
单片机多字节串口接收(转)
 工作了一年多,写了不少单片机串口程序。感觉串口多字节接收部分的逻辑相对于配置寄存器跟串口回复来说,是有点难度的——寄存器配置基本上都是死的,串口回复多字节跟回复一字节只是多了一个循环。
用户6754675
2020/02/26
2K0
基于51设计的宠物防丢系统(蓝牙+Android上位机)
手机APP: 采用QT设计,程序支持跨平台编译运行(Android、IOS、Windows、Linux都可以编译运行,对应平台上QT的环境搭建,之前博客已经发了文章讲解)
DS小龙哥
2022/01/21
1K0
基于51设计的宠物防丢系统(蓝牙+Android上位机)
串口传输
介绍 原理 串口传输在51单片机里是非常重要的一点,这常常是在中断、计数器后面学习,因为不可避免的需要用到中断。51单片机的串口,是个全双工的串口,发送数据的同时,还可以接收数据。 当串行发送完毕后,将在标志位 TI 置 1,同样,当收到了数据后,也会在 RI 置 1。只要串口中断处于开放状态,单片机都会进入串口中断处理程序。在单片机的中断程序中,要区分出来究竟是发送引起的中断,还是接收引起的中断,然后分别进行处理。 每当收到一个新数据,就在中断函数中,把 RI 清零,并用一个变量,通知主函数,收到了新数据。 发送数据时,很多的程序都是使用的“查询方式”,就是执行 while(TI ==0); 这样的语句来等待发送完毕。没有发送完的时候就会一直在循环里。 常出现的错误
跋扈洋
2021/02/02
1.1K0
单片机入门:定时器/计数器应用
利用单片机内部定时器/计数器中断实现一个数码管的秒记数,重点学习定时器/计数器的工作方式以及其控制寄存器TMOD、TCON的功能,在程序实现过程中掌握定时器/计数器中断的一般步骤。
电子工程师成长日记
2022/07/21
6820
单片机入门:定时器/计数器应用
【C51】8051 微控制器入门指南
编写 C51 嵌入式代码涉及到从标准 C 语言基础开始,逐步适应 C51 编译器和特定于 8051 微控制器的编程模型。以下是详细步骤,帮助你从标准 C 语言基础过渡到 C51 编程,并编写有效的嵌入式代码。
LuckiBit
2024/12/11
2410
相关推荐
51单片机采用中断进行串口通信
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档