51单片机-实机演示(单多个数码管)

news/2024/11/14 21:53:37/

仿真链接: http://t.csdnimg.cn/QAPhx

目录

一.引脚位置

二.多个显示

三 扩展


一.引脚位置

注意P00 - >A ; 这个多个的在左边,右边的A到B是控制最右边那个单个的.

接下来上显示单个的代码

#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned intuchar code leddata[]={0x3F,  //"0"0x06,  //"1"0x5B,  //"2"0x4F,  //"3"0x66,  //"4"0x6D,  //"5"0x7D,  //"6"0x07,  //"7"0x7F,  //"8"0x6F,  //"9"0x77,  //"A"0x7C,  //"B"0x39,  //"C"0x5E,  //"D"0x79,  //"E"0x71,  //"F"0x76,  //"H"0x38,  //"L"0x37,  //"n"0x3E,  //"u"0x73,  //"P"0x5C,  //"o"0x40,  //"-"0x00  //熄灭};void DelayMS(uint x)
{uchar t;while(x--)for(t=120;t>0;t--);
}void main()
{uchar i=0;P0=0x00;while(i<24){P0=leddata[i];i++;DelayMS(400);}
}

二.多个显示

再加上控制引脚:  P22->A  P23->B P24->C   引脚位置,主要看代码里面的定义.定义的是哪个就插在哪个引脚上.

代码奉上

#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code leddata[]={0x3F,  //"0"0x06,  //"1"0x5B,  //"2"0x4F,  //"3"0x66,  //"4"0x6D,  //"5"0x7D,  //"6"0x07,  //"7"0x7F,  //"8"0x6F,  //"9"0x77,  //"A"0x7C,  //"B"0x39,  //"C"0x5E,  //"D"0x79,  //"E"0x71,  //"F"0x76,  //"H"0x38,  //"L"0x37,  //"n"0x3E,  //"u"0x73,  //"P"0x5C,  //"o"0x40,  //"-"0x00  //熄灭};//定义数码管位选信号控制脚
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;void DelayMS(uint x)
{while(x--);
}
void delay(unsigned int t)
{unsigned int i, j;for (i = 0; i < t; i++) {for (j = 0; j < 1275; j++) {; // 空循环,等待时间过去}}
}
void main()
{uchar i=0;P0=0x00;while(1){for (i = 0; i < 8; i++){switch (i){case 0: LSC=1;LSB=1;LSA=1;break;case 1: LSC=1;LSB=1;LSA=0;break;case 2: LSC=1;LSB=0;LSA=1;break;case 3: LSC=1;LSB=0;LSA=0;break;case 4: LSC=0;LSB=1;LSA=1;break;case 5: LSC=0;LSB=1;LSA=0;break;case 6: LSC=0;LSB=0;LSA=1;break;case 7: LSC=0;LSB=0;LSA=0;break;}P0 =leddata[i];DelayMS(100);P0=0x00;}}
}

三 扩展

既然基础的可以写了,就可以自定义了,比如显示当前时间.

比如动态时间,加上两个变量,随时间++,到60,前进一位,自身归零.


http://www.ppmy.cn/news/1463495.html

相关文章

基于redis的分布式锁解决token续期冲突的问题

场景&#xff1a;用户登录状态存储到redis&#xff0c;2小时后过期。在过期前的30分钟如果用户进行操作&#xff0c;则对登录状态进行续期&#xff0c;续期后仍有2小时时限&#xff0c;并更换新的token。在微服务模式下&#xff0c;如果两个服务同时请求续期&#xff0c;则会返…

万博智云×华为云 | HyperBDR云容灾上架,开启联营联运新篇章

日前&#xff0c;万博智云HyperBDR云容灾正式入驻华为云云商店&#xff0c;成为华为云基础软件领域联营联运合作伙伴。通过联营联运&#xff0c;双方将进一步加深在产品、解决方案、渠道拓展等多方面的强强联合&#xff0c;为企业提供更加安全、高效的数据保护解决方案&#xf…

常见的JavaScript设计模式(一)

常见的JavaScript设计模式 一、模块模式(Module Pattern)二、单例模式&#xff08;SingIeton Pattern&#xff09;三、工厂模式&#xff08;Factory Pattern&#xff09;四、观察者模式&#xff08;Observer Pattern&#xff09; 常见的JavaScript设计模式包括 模块模式、 在…

添加AXI主IP(AXI4 Lite和AXI4)示例

添加AXI主IP&#xff08;AXI4 Lite和AXI4&#xff09;示例 将等效IP添加到框图中。以下是AXI Central的示例步骤 直接存储器存取&#xff08;CDMA&#xff09;&#xff1a; 1.右键单击方框图中的任意位置&#xff0c;然后选择“添加IP”。 2.搜索并双击AXI Central Direct Memo…

强化学习_06_pytorch-PPO2实践(Humanoid-v4)

一、PPO优化 PPO的简介和实践可以看笔者之前的文章 强化学习_06_pytorch-PPO实践(Pendulum-v1) 针对之前的PPO做了主要以下优化&#xff1a; -笔者-PPO笔者-PPO2refdata collectone episodeseveral episode(one batch)activationReLUTanhadv-compute-compute adv as one seri…

C-数据结构-树状存储基本概念

‘’’ 树状存储基本概念 深度&#xff08;层数&#xff09; 度&#xff08;子树个数&#xff09; 叶子 孩子 兄弟 堂兄弟 二叉树&#xff1a; 满二叉树&#xff1a; 完全二叉树&#xff1a; 存储&#xff1a;顺序&#xff0c;链式 树的遍历&#xff1a;按层遍历&#xff0…

springboot相关知识集锦----1

一、springboot是什么&#xff1f; springboot是一个用于构建基于spring框架的独立应用程序的框架。它采用自动配置的原则&#xff0c;以减少开发人员在搭建应用方面的时间和精力。同时提升系统的可维护性和可扩展性。 二、springboot的优点 约定优于配置 版本锁定&#xf…

【建议收藏】30个较难Python脚本,纯干货分享

本篇较难&#xff0c;建议优先学习上篇 &#xff1b;20个硬核Python脚本-CSDN博客 接上篇文章&#xff0c;对于Pyhon的学习&#xff0c;上篇学习的结束相信大家对于Pyhon有了一定的理解和经验&#xff0c;学习完上篇文章之后再研究研究剩下的30个脚本你将会有所成就&…