首页/新闻资讯/正文详情

STM32F103寄存器方式流水灯实验报告

发布时间:2026/9/24 7:45:46 来源:云帆数科 栏目:资讯中心
STM32F103寄存器方式流水灯实验报告
STM32F103寄存器方式流水灯实验报告实验引脚PA0、PB0、PA5、PC13低电平点亮流水间隔1s包含板载PC13 LED。文章目录STM32F103寄存器方式流水灯实验报告一、实验目的二、实验环境三、硬件引脚与电路说明四、实验原理五、完整实验代码六、实验现象七、实验总结八、常见故障分析九、实验心得一、实验目的熟悉 STM32F103 纯寄存器开发不使用标准库函数直接操作底层寄存器完成GPIO配置。掌握STM32 GPIO时钟使能、端口模式配置、输出电平控制的硬件原理。实现三路LED流水灯PA0、PB0、PA5、PC13依次循环点亮切换间隔1秒。理解 CRL 、 CRH 、 ODR 、 RCC_APB2ENR 寄存器功能理解单片机底层驱动逻辑。二、实验环境硬件STM32F103C8T6最小系统板、ST‑Link下载器、LED灯、220Ω限流电阻、杜邦线、面包板软件Keil MDK‑ARM开发方式寄存器直接操作启动文件 startup_stm32f10x_md.s三、硬件引脚与电路说明引脚分配引脚LED 类型驱动方式备注PB0外接绿灯低电平点亮串联 220Ω 电阻PA5外接蓝灯低电平点亮串联 220Ω 电阻PA0外接红灯低电平点亮串联 220Ω 电阻PC13板载 LED低电平点亮开发板出厂自带无需外接​ 2.电路特性全部LED为灌电流驱动引脚输出低电平0点亮高电平1熄灭。硬件接线PB0 → 220Ω电阻 → 绿灯正极绿灯负极接GNDPA0 → 220Ω电阻 → 红灯正极红灯负极接GNDPA5 → 220Ω电阻 → 蓝灯正极蓝灯负极接GNDPC13板载LED不需要外接电路ST‑LinkSWDIO、SWCLK、GND、3.3V接开发板四、实验原理核心寄存器物理地址与功能寄存器名称物理地址功能说明RCC_APB2ENR0x40021018APB2 外设时钟使能寄存器开启 GPIOA/GPIOB/GPIOC 时钟GPIOA_CRL0x40010800控制 PA0~PA7 引脚模式PA4 使用该寄存器GPIOB_CRH0x40010C04控制 PB8~PB15 引脚模式PB9 使用该寄存器GPIOC_CRH0x40011004控制 PC8~PC15 引脚模式PC13 使用该寄存器GPIOx_ODR0x4001080C / 0x40010C0C / 0x4001100C端口输出数据寄存器控制引脚高低电平寄存器配置规则​ 1通用推挽输出模式 CNF00 MODE00​ 2ODR寄存器写 1 输出高电平LED熄灭写 0 输出低电平LED点亮程序执行流程1使能GPIOA、GPIOB、GPIOC的APB2外设时钟2将PA0、PB0、PA5、PC13配置为通用推挽输出模式3初始化全部引脚输出高电平所有LED熄灭4while死循环依次点亮三个LED软件延时1秒切换状态五、完整实验代码六、实验现象程序下载烧录到开发板后PA0红色LED点亮1秒熄灭PA5蓝色LED点亮1秒熄灭PB0绿色LED点亮1秒熄灭PC13板载LED点亮1秒熄灭三者无限循环轮流闪烁实现流水灯效果PC13板载LED可以用来验证程序是否正常运行。七、实验总结STM32所有外设默认时钟关闭GPIO挂载APB2总线必须开启对应时钟寄存器操作才生效。本实验LED采用灌电流驱动低电平点亮硬件驱动稳定。CRL 控制引脚0‑7 CRH 控制引脚8‑15每个引脚占用4bit配置位。寄存器直接操作可以直观理解硬件底层对比库函数更贴近单片机硬件本质。八、常见故障分析LED全部不亮RCC时钟没有开启GPIO引脚模式配置错误LED正负极接反限流电阻未接入。灯常亮不流水切换延时函数出错ODR寄存器位操作写错。只有板载PC13灯亮外接LED接线错误电阻漏接。九、实验心得通过本次 STM32 寄存器版流水灯实验我第一次完整使用纯寄存器方式配置 GPIO 并实现外设功能彻底摆脱库函数封装真正接触到单片机底层工作原理。实验过程中我深刻理解了 STM32”先开时钟、再配模式、最后控制电平“的标准开发流程。以往使用库函数时对时钟、寄存器配置毫无概念本次手动填写寄存器地址、配置推挽输出、操作 ODR 寄存器控制亮灭让我清楚每一行代码对应的硬件动作。同时我也掌握了 CRL、CRH 高低寄存器的区别低位引脚由 CRL 控制高位引脚由 CRH 控制每 4 位对应一个引脚配置对寄存器的位图结构有了直观认识。调试过程中我遇到过接线错误、灯不亮、常亮不流水等问题通过逐一排查时钟配置、模式寄存器、电平寄存器锻炼了我的硬件排错能力。H 高低寄存器的区别低位引脚由 CRL 控制高位引脚由 CRH 控制每 4 位对应一个引脚配置对寄存器的位图结构有了直观认识。调试过程中我遇到过接线错误、灯不亮、常亮不流水等问题通过逐一排查时钟配置、模式寄存器、电平寄存器锻炼了我的硬件排错能力。本次实验不仅巩固了 GPIO 输出原理也让我体会到嵌入式开发严谨、分层、逐行排查的思维方式为后续中断、定时器、串口等复杂外设的寄存器开发打下了扎实基础。

相关推荐

朋友圈的AI旅游照,藏着怎样的图生图技术栈?
朋友圈的AI旅游照,藏着怎样的图生图技术栈?

我是AI时代的无业游民,我游荡在现实与意念之间朋友圈的AI旅游照,藏着怎样的图生图技术栈? 最近刷朋友圈,你可能会发现一个有趣的现象:那些曾经雷同的游客照、打卡照,正在被一批构图精妙、光影绝佳的“旅游照… · 2026/9/24 7:45:27

Jetson AGX Orin 上 llama.cpp CUDA 环境对齐实战指南
Jetson AGX Orin 上 llama.cpp CUDA 环境对齐实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 7:45:27

基于ADS1220的PT100高精度测温方案与STM32驱动实现
基于ADS1220的PT100高精度测温方案与STM32驱动实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 7:45:21

EMQX 插件 API 网关修复:HTTP 请求头与查询参数透传机制深度解析
EMQX 插件 API 网关修复:HTTP 请求头与查询参数透传机制深度解析

后端物联网消息队列通信 【免费下载链接】emqx The most scalable and reliable MQTT broker for AI, IoT, IIoT and connected vehicles 项目地址: https://gitcode.com/gh_mirrors/em/emqx 点击查看 免费下载 导读 本文围绕 EMQX 开源仓库中的一条缺陷修复记录&… · 2026/9/24 8:26:18

SWIR051AU短波红外相机:从InGaAs原理到工业检测实战
SWIR051AU短波红外相机:从InGaAs原理到工业检测实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 8:25:15

LTspice第三方SPICE模型集成全流程指南
LTspice第三方SPICE模型集成全流程指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 8:25:02

芯片IP选型避坑指南:架构适配、工艺兼容与验证完备性实战
芯片IP选型避坑指南:架构适配、工艺兼容与验证完备性实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 8:24:56

Vega 平行坐标图实战:多维汽车数据的 axes-offset 折线布局规范全解析
Vega 平行坐标图实战:多维汽车数据的 axes-offset 折线布局规范全解析

数据可视化 【免费下载链接】vega A visualization grammar. 项目地址: https://gitcode.com/gh_mirrors/ve/vega 点击查看 免费下载 平行坐标(Parallel Coordinates)是一种用于多维数据可视化的经典图表:每个维度占据一条平行的… · 2026/9/24 8:24:31

RLHF、InstructGPT 与 DPO:大模型对齐训练全面解析
RLHF、InstructGPT 与 DPO:大模型对齐训练全面解析

本文系统讲解大模型对齐训练的核心方法:RLHF(基于人类反馈的强化学习)、InstructGPT 的三步对齐流程,以及 DPO(直接偏好优化)。从原理、步骤、优缺点到实践细节,一篇讲透。一、什么是 RLHF&… · 2026/9/24 8:24:25

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码