STM32与51单片机时钟与串口配置解析
需积分: 10 41 浏览量
更新于2024-09-08
收藏 20KB DOCX 举报
"51 32 学习记录"
这篇文档主要记录了51单片机和STM32微控制器在使用过程中关于时钟配置和串口通信的一些关键知识点。
首先,我们来看STM32的时钟选择部分。STM32的APB2和APB1总线分别支持不同的最高时钟频率。APB2总线时钟可以达到72MHz,通常用于挂载高级定时器,而APB1总线时钟则限制在36MHz,常用于通用定时器。对于定时器的时钟源,有以下几种选择:
1. 内部时钟:直接使用芯片内部产生的时钟信号。
2. 外部时钟模式1 (TIX):外部输入时钟信号,可以通过特定引脚输入。
3. 外部时钟模式2 (ETR):同样使用外部输入时钟,但处理方式不同。
4. 内部触发输入 (ITRX):允许内部其他模块的信号触发定时器。
STM32的普通定时器如TIM2至TIM7的时钟源来自于APB1总线,但它们的时钟频率并不直接等于APB1的时钟。这是因为有一个倍频器会根据APB1的预分频系数来调整定时器的时钟。当预分频系数为1时,定时器的时钟频率与APB1相同;当预分频系数大于1时,倍频器会将APB1的时钟翻倍,从而提高定时器的时钟频率。这样设计的目的是在保证其他低速外设正常工作的同时,让某些定时器能够运行在更高的频率。
接下来是51单片机的串口通信知识。51单片机的串口通信涉及到几个重要的寄存器:
1. SCON(串口控制寄存器):用于配置串口的工作模式、接收/发送状态等。
2. PCON的位7 (SMOD):用来开启或关闭串口波特率的倍增功能。
3. AUXR(辅助寄存器):用于设置独立波特率发生器的配置。
4. BRBH和BRBL(波特率寄存器):组合起来设定串口的波特率。
5. SBUF(串口缓冲寄存器):用于串口数据的发送和接收。
在进行串口配置时,一般步骤如下:
1. 初始化串口设置,通过设置SCON寄存器来确定工作模式、接收/发送标志等。
2. 计算并设置溢出计数器BRT,以确保正确的波特率。
3. 数据传输时,通过写入SBUF寄存器来发送数据,从SBUF读取数据来接收数据。
总结来说,这份学习记录涵盖了51单片机与STM32在时钟配置和串口通信方面的基础知识,对于初学者理解微控制器的内部工作原理和实际应用非常有帮助。通过这些知识,开发者可以更好地掌握如何配置微控制器的时钟系统以满足不同外设的需求,以及如何实现高效的串行通信。
2022-11-29 上传
2021-09-29 上传
2022-11-12 上传
2022-06-21 上传
2022-11-25 上传
2024-03-20 上传
2023-02-03 上传
2022-11-26 上传
2023-09-28 上传
LLP学嵌入式
- 粉丝: 33
- 资源: 2
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫