STM32控制数码管从0显示到99
首先 先画电路图吧!打开proteus,导入相关器件,绘制电路图。如下:(记得要保存啊!发现模拟一遍程序就自动退出了,有bug,我是解决不了,所以就是要及时保存,自己重画几次就长记性了,我是不想重画了,所以我及时保存了。)

第二步打开CubeMX,新建工程,配置时钟和GPIO,如下:


第三步先来了解一下数码管的十六进制码的来源,我自己画了个图,我看着挺明白的,不明白的自己想,想明白了画出来就明白了,其实很简单的,就是给电就亮,断电就灭而已。废话不说了,看图:

最后得出共阳极的断码为:{0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}
接下来就是修改keil工程中的main文件中的内容了,其实主要就那么点东西,只不过放在了不同的地方而已:
void duanxuan(uint8_t num); //声明断选函数,传入每个数字的码值
void led_clear(void); // 清屏函数, 主要将所有的数码管都关闭。

uint8_t duan[]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}; //断码数组
uint8_t num= 0; // 定义变量num

for(num=0; num<100; num++) // for循环 num的值从0到99{led_clear(); // 清屏GPIOB->ODR = 0x0002; // GPIOB的值为0x0002 0000 0000 0000 0010 也就是PB1为高电平duanxuan(duan[num%10]); // 断选的值为 数组断中的 num模10 也就是个位的数字HAL_Delay(2); // 延时2msled_clear(); // 清屏GPIOB->ODR = 0x0004; // GPIOB的值为0x0004 0000 0000 0000 0100 也就是PB2为高电平 duanxuan(duan[num/10]); // 断选的值为 数组断中的 num除10 也就是十位的数字 HAL_Delay(8); // 延时8ms 控制数码管中的数字增加的快慢?}

void duanxuan(uint8_t num) //断码显示函数
{
GPIOA->ODR = num; // A端口要显示几就传入几的断码
}
void led_clear(void) // 清屏函数
{
GPIOA->ODR = 0x00FF; // 清屏函数 A端口的值:都是1,就是都不亮
}
好了,所有需要添加的代码都在这里了,只需要按位置填进去编译就行了,不按位置,填对了也可以,就是下次CubeMX有改动重新生成时自己写的代码是否还存在,需不需要重新写,估计都不想重新写的,那就按照样式固定写代码的位置吧!

相关文章:
STM32控制数码管从0显示到99
首先 先画电路图吧!打开proteus,导入相关器件,绘制电路图。如下:(记得要保存啊!发现模拟一遍程序就自动退出了,有bug,我是解决不了,所以就是要及时保存,自己重…...
【机器学习算法】KNN鸢尾花种类预测案例和特征预处理。全md文档笔记(已分享,附代码)
本系列文章md笔记(已分享)主要讨论机器学习算法相关知识。机器学习算法文章笔记以算法、案例为驱动的学习,伴随浅显易懂的数学知识,让大家掌握机器学习常见算法原理,应用Scikit-learn实现机器学习算法的应用࿰…...
Windows 自带的 Linux 子系统(WSL)安装与使用
WSL官网安装教程: https://learn.microsoft.com/zh-cn/windows/wsl/install Windows 自带的Linux子系统,比用VM什么的香太多了。可以自己看官方教程,也可以以下步骤完成。 如果中间遇到我没遇到的问题百度,可以在评论区评论&#…...
C语言--贪吃蛇
目录 1. 实现目标2. 需掌握的技术3. Win32 API介绍控制台程序控制台屏幕上的坐标COORDGetStdHandleGetConsoleCursorinfoCONSOLE_CURSOR_INFOSetConsoleCursorInfoSetConsoleCursorPositionGetAsyncKeyState 4. 贪吃蛇游戏设计与分析地图<locale.h>本地化类项setlocale函…...
原型设计工具Axure RP
Axure RP是一款专业的快速原型设计工具。Axure(发音:Ack-sure),代表美国Axure公司;RP则是Rapid Prototyping(快速原型)的缩写。 下载链接:https://www.axure.com/ 下载 可以免费试用…...
HeadFirst读书笔记
一、设计模式入门 1、使用模式最好的方式“把模式装进脑子里,然后在你的设计和已有的应用中,寻找何处可以使用它们”。以往是代码复用,现在是经验复用。 2、软件开发的一个不变的真理就是变化。 二、设计原则 1、找出应用中可能需要变化之…...
【C++】---内存管理new和delete详解
一、C/C内存分布 C/C内存被分为6个区域: (1) 内核空间:存放内核代码和环境变量。 (2)栈区:向下增长(存放非静态局部变量,函数参数,返回值等等) …...
go-zero微服务入门教程
go-zero微服务入门教程 本教程主要模拟实现用户注册和用户信息查询两个接口。 准备工作 安装基础环境 安装etcd, mysql,redis,建议采用docker安装。 MySQL安装好之后,新建数据库dsms_admin,并新建表sys_user&#…...
蓝桥杯刷题--python-12
3768. 字符串删减 - AcWing题库 nint(input()) sinput() res0 i0 while(i<n): if s[i]x: ji1 while(j<n and s[j]x): j1 resmax(j-i-2,0) ij else: i1 print(res) 3777. 砖块 - AcWing题库 # https://www.a…...
LeetCode LCR 085.括号生成
正整数 n 代表生成括号的对数,请设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n 3 输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 示例 2: 输入&#x…...
抖音视频评论数据提取软件|抖音数据抓取工具
一、开发背景: 在业务需求中,我们经常需要下载抖音视频。然而,在网上找到的视频通常只能通过逐个复制链接的方式进行抓取和下载,这种操作非常耗时。我们希望能够通过关键词自动批量抓取并选择性地下载抖音视频。因此,为…...
【web】云导航项目部署及环境搭建(复杂)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、项目介绍1.1项目环境架构LNMP1.2项目代码说明 二、项目环境搭建2.1 Nginx安装2.2 php安装2.3 nginx配置和php配置2.3.1 修改nginx文件2.3.2 修改vim /etc/p…...
软件测试人员必会的linux命令
文件和目录操作: ● ls:列出目录中的文件和子目录。 ● cd:改变当前工作目录。 ● mkdir:创建新目录。 ● rm:删除文件或目录。 ● cp:复制文件或目录。 ● mv:移动或重命名文件或目录。 文本查看和编辑: ● cat:查看文件内容。 ● more或less:分页查看文件内…...
Mac使用K6工具压测WebSocket
commend空格 打开终端,安装k6 brew install k6验证是否安装成功 k6 version设置日志级别为debug export K6_LOG_LEVELdebug执行脚本(进入脚本所在文件夹下) k6 run --vus 100 --duration 10m --out csvresult.csv script.js 脚本解释&…...
小程序--vscode配置
要在vscode里开发微信小程序,需要安装以下两个插件: 安装后,即可使用vscode开发微信小程序。 注:若要实现鼠标悬浮提示,则需新建jsconfig.json文件,并进行配置,即可实现。 jsconfig.json内容如…...
linux僵尸进程
僵尸进程(Zombie Process)是指在一个进程终止时,其父进程尚未调用wait()或waitpid()函数来获取该进程的终止状态信息,导致进程的资源(如进程表中的记录)仍然保留在系统中的一种状态。 当一个进程结束时&am…...
【web | CTF】攻防世界 Web_php_unserialize
天命:这条反序列化题目也是比较特别,里面的漏洞知识点,在现在的php都被修复了 天命:而且这次反序列化的字符串数量跟其他题目不一样 <?php class Demo { // 初始化给变量内容,也就是当前文件,高亮显示…...
Vue3中的select 的option是多余的?
背景: 通过Vue3中填充一个下拉框,在打开页面时要指定默认选中,并在选项改变时把下拉框的选中值显示出来 问题: 填充通常的作法是设置 <option v-for"option in cities" :value"option.value" >&a…...
考研408深度分析+全年规划
408确实很难,他的难分两方面 一方面是408本身的复习难度,我们都知道,408的考察科目有四科,分别是数据结构,计算机组成原理,操作系统和计算机网络。大家回想一下自己在大学本科时候学习这些专业课的难度&am…...
【算法笔记】ch01_01_0771 宝石与石头
笔记介绍: 本项目是datawhale发布的LeetCode 算法笔记(Leetcode-Notes)课程完成笔记,根据推荐题目循序渐进练习算法题目。主要用python进行书写相关代码,会介绍解题思路及跑通解法。 0771. 宝石与石头 题目大意 描…...
语义分割实战:如何用Python快速计算mIoU和mAcc(附完整代码)
语义分割实战:Python高效计算mIoU与mAcc的工程化实现 在计算机视觉领域,语义分割模型的性能评估离不开mIoU(平均交并比)和mAcc(平均准确率)这两个核心指标。许多教程停留在理论公式层面,而实际项…...
OpenClaw终端整合:QwQ-32B命令行操作增强方案
OpenClaw终端整合:QwQ-32B命令行操作增强方案 1. 为什么需要终端智能助手 作为开发者,我们每天要处理大量命令行操作。从简单的目录跳转、文件操作,到复杂的管道命令组合,再到调试报错信息,这些重复性工作消耗了大量…...
OpenClaw多模型管理:Qwen3.5-4B-Claude与其他模型的协作方案
OpenClaw多模型管理:Qwen3.5-4B-Claude与其他模型的协作方案 1. 为什么需要多模型协作 去年冬天,当我第一次尝试用OpenClaw自动化处理技术文档时,发现单一模型很难兼顾所有任务场景。有些模型擅长代码生成但逻辑推理薄弱,有些长…...
Arduino平台SX1280 2.4GHz LoRa轻量驱动库
1. 项目概述PlugAndPlayForLoRa 是一个面向 Arduino 生态的轻量级 LoRa 物理层(PHY)驱动库,专为 SX1280 射频芯片设计,工作于 2.4 GHz ISM 频段。该库并非协议栈(如 LoRaWAN),而是直接对接 SX12…...
PowerShell效率提升秘籍:10个必备插件让你的终端飞起来
PowerShell效率革命:10款生产力插件深度评测与实战指南 对于每天与终端打交道的开发者来说,PowerShell的默认功能往往难以满足高效开发的需求。本文将深入剖析10款经过实战检验的效率工具,从智能补全到目录导航,从文件操作到命令解…...
Windows Defender移除工具终极指南:如何彻底禁用Windows Defender提升系统性能
Windows Defender移除工具终极指南:如何彻底禁用Windows Defender提升系统性能 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://git…...
低延迟多场景的Windows音频捕获解决方案:win-capture-audio实战指南
低延迟多场景的Windows音频捕获解决方案:win-capture-audio实战指南 【免费下载链接】win-capture-audio An OBS plugin that allows capture of independant application audio streams on Windows, in a similar fashion to OBSs game capture and Discords appli…...
隐私保护方案:OpenClaw+GLM-4.7-Flash本地化处理敏感数据
隐私保护方案:OpenClawGLM-4.7-Flash本地化处理敏感数据 1. 为什么需要本地化处理敏感数据? 去年我帮一位做财务咨询的朋友处理季度报表时,遇到了一个棘手问题。他需要分析上百份包含客户银行流水、身份证号等信息的Excel文件,但…...
w3x2lni:魔兽地图跨版本转换的技术架构与实战指南
w3x2lni:魔兽地图跨版本转换的技术架构与实战指南 【免费下载链接】w3x2lni 魔兽地图格式转换工具 项目地址: https://gitcode.com/gh_mirrors/w3/w3x2lni 一、价值定位:破解魔兽地图版本兼容难题 魔兽争霸III地图开发者长期面临版本碎片化挑战&…...
ONLYOFFICE Docs与Nextcloud Calendar集成:打造高效私有云日程协作平台
ONLYOFFICE Docs与Nextcloud Calendar集成:打造高效私有云日程协作平台 【免费下载链接】DocumentServer ONLYOFFICE Docs is a free collaborative online office suite comprising viewers and editors for texts, spreadsheets and presentations, forms and PDF…...
