当前位置: 首页 > news >正文

(八)Proteus仿真STM32单片机GPIO驱动数码管

1,参考上篇,将LED点阵屏更换成数码管如下图

2,修改驱动函数,数组seg[14]前10个是0-9数字的编码,后四个是空格,点,横线,下划线

char seg_decode(char num)//数字解码
{const char seg[14]={0xC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,  0xff,0x7f,0xbf,0xf7};return seg[num];
}
void disp_set_row(unsigned char dat,char sel)//单个数码管显示
{GPIOB->ODR=0xff;GPIOA->ODR=~seg_decode(dat);switch(sel){case 0:GPIOB->ODR=0xfe;break;case 1:GPIOB->ODR=0xfd;break;case 2:GPIOB->ODR=0xfb;break;case 3:GPIOB->ODR=0xf7;break;case 4:GPIOB->ODR=0xef;break;case 5:GPIOB->ODR=0xdf;break;case 6:GPIOB->ODR=0xbf;break;case 7:GPIOB->ODR=0x7f;break;}
}
unsigned char dispbuff[8];
void disp_scan()//定时刷新函数,毫秒级调用
{static char scan=0;disp_set_row(dispbuff[scan],scan);scan++;if(scan>=8)scan=0;
}
char char_decode(char ch)//字符解码
{if((ch>='0')&&(ch<='9'))return ch-'0';else if(ch == ' ')return 10;else if(ch =='.')return 11;else if(ch =='-')return 12;else if(ch =='_')return 13;else return 10;
}
void disp_string(char *str)//字符串显示
{char len = strlen(str);char i;if(len>8)len=8;memset(dispbuff,10,8);for(i=0;i<len;i++){dispbuff[i]=char_decode(str[i]);}
}void key1_action()//更新屏幕字符
{disp_string("1.4 -2_5");
}
void key2_action()//更新屏幕字符
{disp_string("12-30-00");
}

git源码:stm32_proutes: Protues仿真STM32单片机教程源码-WWW.ARMFUN.CN

相关文章:

(八)Proteus仿真STM32单片机GPIO驱动数码管

1&#xff0c;参考上篇&#xff0c;将LED点阵屏更换成数码管如下图 2&#xff0c;修改驱动函数&#xff0c;数组seg[14]前10个是0-9数字的编码&#xff0c;后四个是空格&#xff0c;点&#xff0c;横线&#xff0c;下划线 char seg_decode(char num)//数字解码 {const char se…...

Python进阶知识1

Python函数 定义一个函数 1.什么是函数&#xff1a;函数是可以重复执行的语句块&#xff0c;可以重复调用 2.作用&#xff1a;用于封装语句块, 提高代码的重用性。 函数是面向过程编程的最小单位 def 语句 1.作用&#xff1a;用来定义&#xff08; 创建&#xff09;函数 2…...

单片机设计|基于STM32实现具有室内定位功能的智能手环的设计

作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参与学生毕业答辩指导&#xff0c;…...

计算机网络——运输层(可靠传输、超时重传、选择确认、流量控制和拥塞控制、TCP连接和释放)

TCP可靠传输的实现 我们假定数据传输只在一个方向进行&#xff0c;即A发送数据&#xff0c;B给出确认。这样的好处是使讨论限于两个窗口&#xff0c;即发送方A的发送窗口和接收方B的接收窗口。 以字节为单位滑动窗口 发送方构造窗口 窗口前沿和后沿的移动情况 描述发送窗口的状…...

Web安全实践

前言 安全无小事&#xff0c;成败在细节&#xff0c;网络有风险&#xff0c;灾难弹指间。 安全一般情况下看不见&#xff0c;在你周围漂浮着&#xff0c;显现出来后&#xff0c;往往会刻骨铭心。正因为安全看不见&#xff0c;所以往往不受重视&#xff0c;因为感知到的概率真…...

【算法篇】动态规划类(2)——01背包+完全背包(笔记)

目录 一、理论基础 1. 问题类型 2. 01背包问题 3. 完全背包问题 4. 解题步骤 &#xff08;1&#xff09;确定dp数组&#xff08;dp table&#xff09;以及下标的含义。 &#xff08;2&#xff09;确定递推公式。 &#xff08;3&#xff09;dp数组如何初始化。 &#x…...

基于SpringBoot的“社区医院管理服务系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“社区医院管理服务系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统首页界面图 用户注册界面图 医生界面…...

二进制漏洞利用 | 整数溢出探究

什么是整数溢出&#xff1f; 整数溢出是指当算术运算的结果超出用于存储该结果的数据类型的容量时发生的现象。简单来说&#xff0c;就是当一个数值变得过大&#xff08;对于有符号整数来说&#xff0c;也可能是过小&#xff09;&#xff0c;无法被正常存储&#xff0c;从而导…...

10种经典的螺栓防松设计

螺栓防松在机械设计中至关重要&#xff0c;不同方式的螺栓防松有哪些特点一起来看一下。 01双螺母 双螺母防松也称对顶螺母防松&#xff0c;当两个对顶螺母拧紧后&#xff0c;两个对顶的螺母之间始终存在相互作用的压力&#xff0c;两螺母中有任何一个要转动都需要克服旋合螺纹…...

开放式蓝牙耳机哪个品牌好用?开放式耳机排行榜测评!

开放式耳机&#xff0c;因其特殊的不入耳佩戴模式&#xff0c;让使用者在享受音乐或者进行通话的过程中&#xff0c;依然可以对外界声音保持敏感。在户外运动场景下&#xff0c;这种特性优势尽显&#xff0c;既保证了耳机佩戴的稳定和舒适&#xff0c;又提高了运动的安全性。为…...

新能源行业必会基础知识---电力现货问答---第5问---何为电力中长期市场?与电力现货市场之间有何关系?国内试点地区如何衔接?国外有哪些经验值得借鉴?

新能源行业必会基础知识-----电力现货问答-----主目录-----持续更新https://blog.csdn.net/grd_java/article/details/142909208 虽然这本书已经出来有几年了&#xff0c;现货市场已经产生了一定变化&#xff0c;但是原理还是相通的。还是推荐大家买来这本书进行阅读观看&#…...

如何将数据从 AWS S3 导入到 Elastic Cloud - 第 2 部分:Elastic Agent

作者&#xff1a;来自 Elastic Hemendra Singh Lodhi 了解将数据从 AWS S3 提取到 Elastic Cloud 的不同选项。 这是多部分博客系列的第二部分&#xff0c;探讨了将数据从 AWS S3 提取到 Elastic Cloud 的不同选项。 在本博客中&#xff0c;我们将了解如何使用 Elastic Agent…...

DTL698电表数据 转 profinet IO协议项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 配置VFBOX网关 2 5 用PROFINET IO协议转发数据 4 6 其他说明 6 7 案例总结 7 1 案例说明 设置网关采集DLT698电表数据数据把采集的数据转成profinet IO协议转发给其他系统。 2 VFBOX网关工作原理 VFBOX网关是协议转…...

CSS @规则(At-rules)系列详解___@font-face规则使用方法

CSS 规则(At-rules)系列详解 ___font-face规则使用方法 本文目录&#xff1a; 零、时光宝盒 一、CSSfont-face规则定义和用法 二、font-face语法 三、font-face使用方法例子 3.1、指定一种字体 3.2、font-face 里添加文本的描述符 3.3、设置多个 font-face 规则。 3.4…...

如何通过CDN优化网站服务器访问速度?

CDN&#xff0c;即内容分发网络&#xff08;Content Delivery Network&#xff09;&#xff0c;在现代互联网中起着重要作用。它可以显著提升网站服务器的访问速度。以下是CDN在加速网站访问方面的主要优势及其工作原理。 1. 全球分布的服务器节点 CDN通过在全球范围内布设多个…...

JAVA学习-练习试用Java实现“自定义函数之字符反转”

问题&#xff1a; 写一函数&#xff0c;使输入的一个字符串按反序存放&#xff0c;在主函数中输入并输出反序后的字符串&#xff08;不包含空格&#xff09;。 示例 &#xff1a;输入一行字符123456abcdef&#xff0c;输出逆序后的字符串fedcba654321。 解答思路&#xff1a; …...

大衍数列——考研408考试科目之数据算法——未来之窗学习通

一、大衍数列 中国古代文献中&#xff0c;曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。 它的前几项是&#xff1a;0、2、4、8、12、18、24、32、40、50 … 其规律是&#xff1a;对偶数项&#xff0c;是序号平方再除2&#xff0c;奇数项&#xff0c;是…...

JVM(HotSpot):直接内存及其使用建议

文章目录 一、什么是直接内存&#xff1f;二、特点三、使用案例四、直接内存的管理 一、什么是直接内存&#xff1f; Direct Memory&#xff1a;系统内存 普通IO&#xff0c;运行原理图 磁盘到系统内存&#xff0c;系统内存到jvm内存。 NIO&#xff0c;运行原理图 划分了一块…...

centos7安装mysql5.7

1. 更新系统软件包 首先&#xff0c;确保您的系统是最新的。打开终端并运行&#xff1a; sudo yum update -y 2. 安装MySQL 5.7的YUM仓库 MySQL提供了自己的YUM仓库&#xff0c;您可以通过下载并安装官方提供的RPM包来添加这个仓库。 wget https://dev.mysql.com/get/mysql57-c…...

如何在JVS逻辑引擎中巧妙运用包含查询功能?

在实际业务场景中&#xff0c;数据查询是不可或缺的一环&#xff0c;包含查询在实际业务场景中经常用到&#xff0c;被广泛应用于各类业务系统中。当我们需要查询状态为指定几种状态的数据时&#xff0c;类似SQL语句中的IN查询就显得尤为重要。为了满足这一需求&#xff0c;在J…...

揭秘手机摄像头隐藏功能:如何实现无网文件传输?

揭秘手机摄像头隐藏功能&#xff1a;如何实现无网文件传输&#xff1f; 【免费下载链接】cfc Demo/test android app for libcimbar. Copy files over the cell phone camera! 项目地址: https://gitcode.com/gh_mirrors/cfc/cfc 你是否曾在没有网络的情况下急需传输文件…...

突破GEE内置限制:将本地Python机器学习模型部署至云端

1. 为什么需要将本地模型部署到GEE平台 Google Earth Engine&#xff08;GEE&#xff09;作为全球领先的地理空间分析平台&#xff0c;虽然内置了丰富的遥感数据处理算法&#xff0c;但在机器学习模型方面仍然存在明显短板。我去年在做内蒙古草原退化监测项目时就深有体会——G…...

OpenClaw技能开发指南:为Qwen3.5-4B-Claude定制专属自动化

OpenClaw技能开发指南&#xff1a;为Qwen3.5-4B-Claude定制专属自动化 1. 为什么需要自定义Skill&#xff1f; 去年我接手了一个重复性极高的数据整理工作——每天要从十几个气象网站抓取数据&#xff0c;手动整理成Excel报表。当我第三次在凌晨两点对着屏幕核对数据时&#…...

EfficientNet实战:如何在移动端部署B0-B7模型(附显存优化技巧)

EfficientNet移动端部署实战&#xff1a;从模型选型到显存优化全解析 在移动端和边缘计算场景中部署深度学习模型&#xff0c;就像给一辆跑车装上节能引擎——既要保持性能&#xff0c;又要极致压缩资源消耗。EfficientNet系列模型正是这种平衡艺术的代表作&#xff0c;但当开发…...

论文被吐槽逻辑乱?,有哪些真正实测靠谱的的降AI率工具推荐?

毕业论文降AIGC率&#xff0c;优先选语义重构 去AI痕迹 降查重率的工具&#xff0c;免费与付费结合最稳妥。下面按中文、英文、免费/付费分类推荐&#xff0c;附实测效果与适用场景。 一、中文论文降重工具&#xff08;最常用&#xff09; 1. 千笔AI&#xff08;综合全能首选…...

Cobalt视频下载工具:创作者必备的素材管理与备份完整指南

Cobalt视频下载工具&#xff1a;创作者必备的素材管理与备份完整指南 【免费下载链接】cobalt save what you love 项目地址: https://gitcode.com/GitHub_Trending/cob/cobalt 在数字内容创作的世界里&#xff0c;素材管理是每个创作者都面临的挑战。Cobalt视频下载工具…...

2025年具身智能创业指南:从芯片选型到场景落地的完整避坑手册

2025年具身智能创业指南&#xff1a;从芯片选型到场景落地的完整避坑手册 当波士顿动力的Atlas机器人完成一套流畅的后空翻动作时&#xff0c;全世界都意识到——具身智能的时代已经到来。2025年的今天&#xff0c;具身智能正从实验室走向产业化&#xff0c;创业者们面临的不再…...

【Cadence Virtuoso】进阶:利用仿真数据反推工艺库MOSFET的λ与Vth实战

1. 为什么需要反推MOSFET参数&#xff1f; 刚接触TSMC 65nm工艺时&#xff0c;我发现PDK提供的参数表里λ和Vth都是固定值。但在实际设计电流镜和差分对时&#xff0c;这些"标准参数"总让我觉得哪里不对劲。后来在调试一个基准电流源时终于发现问题&#xff1a;PDK给…...

聊聊永磁同步电机里的那点“扰动“破事

两种负载扰动观测器设计思路&#xff0c;pmsm仿真 仿真基于离散模型&#xff0c;观测器设计基于m文件&#xff0c;方便移植到c验证 包含&#xff1a;&#xff08;1&#xff09;1.5延时补偿&#xff08;2&#xff09;扩张龙伯格扰动观测器&#xff08;ESO&#xff09;设计&#…...

Simple Form终极性能优化指南:如何实现Rails表单批量查询

Simple Form终极性能优化指南&#xff1a;如何实现Rails表单批量查询 【免费下载链接】simple_form Forms made easy for Rails! Its tied to a simple DSL, with no opinion on markup. 项目地址: https://gitcode.com/gh_mirrors/si/simple_form Simple Form是Rails生…...