STM32与51单片机时钟与串口配置解析
需积分: 10 91 浏览量
更新于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 上传
2022-11-12 上传
2021-09-29 上传
2022-11-25 上传
2022-06-21 上传
2024-03-20 上传
2023-02-03 上传
2022-11-05 上传
LLP学嵌入式
- 粉丝: 33
- 资源: 2
最新资源
- libcsv-开源
- RESTful-API:RESTful API已在Postman,Robo 3T和MongoDB上测试
- ultrasound
- hw-3
- QuickSort-Asm:装配中快速排序的实现
- learnPython:包含我所有的工作样本和学习进度
- real-time:实时通讯
- 这里是我的MySql和Jdbc的学习笔记, 要重点整理, 日后作为讲课使用.zip
- leson-1.2:第2课,第1课,任务2
- model-t-electronics:BrewBit Model-T 电子产品
- flutterui_fragrance
- SQLServer2005_SSMSEE%2864位系统用%29.zip
- platform-code-ex
- pycocotools_windows-2.0.0.2-cp38-cp38-win_amd64.whl
- Insta资讯提供:Insta后端的资讯提供
- 用于自动记录学习时间、统计学习情况、自动生成图表的程序,QT+mysql实现,有图形化界面.zip