【C51】单片机与LED数码管的动态显示接口案例分析

devtools/2024/11/26 15:42:56/

    当显示位数较多时,静态显示所需的I/O口太多,这时常采用动态显示方式。动态显示方式是将所以LED数码管的段码端的相应段并接在一起,由一个8位I/O口控制,而各位显示位的公共端分别由I/O线控制,称为位选端。 

需求:运用51单片机实现8位8段数码管的动态数字显示,LE数码管的段选信号由51单片机的P0口控制,LED数码管的位选信号由51单片机P2口的低3位控制,8位LED数码管显示0-7这8个十进制数。

效果:

动态数码管

代码:

#include<reg52.h>
#define uchar unsigned char
uchar code  seg[]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//定义了一个名为seg的数组,存储了共阴极数码管显示 0 - 9 数字所需的段码
uchar dis[8]={0,1,2,3,4,5,6,7}; //定义了一个名为dis的数组,可能用于选择数码管的位。这里初始化为 0 - 7//.延时函数
void delayms(uchar ms)    		
{uchar i;while(ms--)for(i=0;i<123;i++);
}//主函数
void main(void)
{   unsigned char i;while(1){  for (i=0;i<8;i++){P0=seg[i];//将seg[i]赋值给P0口。这里P0口可能连接数码管的段选引脚,用于控制数码管显示的数字P2=dis[i];//将dis[i]赋值给P2口。这里P2口可能连接数码管的位选引脚,用于选择要显示的数码管。delayms(3);}}
}


http://www.ppmy.cn/devtools/137152.html

相关文章

C++结构型设计模式之使用抽象工厂来创建和配置桥接模式的例子

下面是一个使用抽象工厂模式来创建和配置桥接模式的示例&#xff0c;场景是创建不同操作系统的窗口&#xff08;Window&#xff09;及其对应的实现&#xff08;WindowImpl&#xff09;。我们将通过抽象工厂来创建不同操作系统下的窗口和实现。 代码示例 #include <iostrea…

【运维】 使用 shell 脚本实现类似 jumpserver 效果实现远程登录linux 服务器

实现效果 通过序号选择登录&#xff1a; 配置证书登录 配置证书登录可以免去每次都输入密码的麻烦。详见另一篇博文&#xff1a; 【ssh】使用秘钥对&#xff08;公钥/私钥&#xff09;登录linux主机以及原理介绍 自动登录脚本 直接复用以下脚本即可&#xff0c;在 server…

排序算法 时间复杂度、空间复杂度

一、时间复杂度 1. 什么是时间复杂度 记为大O&#xff0c;是衡量算法运行效率的重要指标&#xff0c;描述了算法运行所需时间是如何随着输入规模&#xff08;通常用n来表示&#xff09;变化的&#xff08;一般&#xff09;。也可以说用来表示算法语句总的执行次数随n的增长趋…

docker 卸载与安装

卸载 查询之前安装的docker, 没有查到则不用卸载删除 yum list installed | grep docker 卸载安装包 yum remove docker-* -y 删除镜像、容器、默认挂载卷 rm -rf /var/lib/docker 安装 -ce 安装稳定版本 -y 当安装过程提示选择全部为 "yes" yum install d…

Enhancing K8s Gateway API with Easegress Without Changing a Single Line of Code

In the article “Revolutionize Your Kubernetes Experience with Easegress: Kubernetes Gateway API”, we explored the powerful capabilities of the Kubernetes Gateway API. Today, we will present how to use the flexibility of Kubernetes Gateway to enhance its …

A046-基于SpringBoot的论坛系统的设计与实现

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…

电脑开启虚拟化的方法

因为最近在用模拟器玩游戏&#xff0c;所以来给大家分享一下&#xff0c;使用模拟器之前需要开启的虚拟化技术。 Windows系统开启Hyper-V功能 Windows 11&#xff1a; 按【Win】【i】打开系统设置。在【系统】一栏找到并点击【可选功能】。在界面最下方找到相关设置选项的【更…

学习threejs,使用设置bumpMap凹凸贴图创建褶皱,实现贴图厚度效果

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.MeshPhongMaterial高…