proteus仿真arduino控制两位数码管
前面我们用arduino控制一位数码管,知道了控制数码管的原理。这里我们增加了一位,其显示的原理基本一样。只不过本质上不是两位同时点亮,而是轮换点亮。下面是原理图:
我们来看看代码的实现:
int PIN_A=2;
int PIN_B=3;
int PIN_C=4;
int PIN_D=5;
int PIN_E=6;
int PIN_F=7;
int PIN_G=8;
int POW1=13;
int POW2=12;
int i=0;
int j=0;
int n=0;
int Arduino_Pins[7]={PIN_A, PIN_B, PIN_C, PIN_D, PIN_E, PIN_F, PIN_G};
int Segment_Pins[10] [7]={
{0,1,1,1,1,1,1},//0
{0, 0,0,0, 1, 1,0},//1
{1,0,1,1,0,1,1},//2
{1,0, 0, 1,1,1,1},//3
{1,1,0,0, 1, 1,0},//4
{1,1,0, 1,1, 0, 1},//5
{1,1,1,1,1,0,1},//6
{0,0,0,0,1,1, 1},//7
{1,1, 1,1,1,1,1},//8
{1,1,0,1,1,1,1},//9
};void setup () {// TODO: put your setup code here, to run once:for(int i=2;i<14;i++)
pinMode(i,OUTPUT);
}void loop() {// TODO: put your main code here, to run repeatedly:for (i=0;i<10;i++){digitalWrite (POW1, 0) ;digitalWrite (POW2,1);for(j=0;j<7;j++) digitalWrite (Arduino_Pins[j], Segment_Pins[n%10] [j]); delay (50);digitalWrite (POW1,1);digitalWrite (POW2, 0);for (j=0;j<7;j++) digitalWrite(Arduino_Pins[j], Segment_Pins[i][j]);delay (50);}
n++;
}
运行效果如下:
从代码中我们很容易看出,两位数码管是轮换点亮的,快速的切换,利用我们的视觉停留感让我们觉得他们是同时点亮的。如果我们将代码中的delay(50)修改为更大的数值,我们就会看到两位数码管乱换点亮。
用arduino板直接控制两位数码管的缺点就在于端口占用太多,至少需要10个端口,那么我们是可以仿照前面的控制一位数码管的方法来操作的,用一片595来控制,有兴趣可以参看我后面的博文《protues用一片74hc595控制两位数码管》。
proteus仿真arduino控制两位数码管相关推荐
- protues用一片74hc595控制两位数码管
前面的博文中我们介绍了一个arduino中用一片595来控制一位数码管,这里我们介绍一个595来控制两位数码管.两位数码管是应用最广泛的,如交通灯倒计时,计数器等都将用到两位数码管. 两位数码管的动态 ...
- 【单片机仿真项目】外部中断0和1控制两位数码管进行计数
目录 1.外部中断0和1控制两位数码管进行计数 keil 代码 2.proteus 原理图 3.gif 动态图
- arduino控制一位数码管、控制二位数码管动态显示(用不到中断程序)
目的: 1.利用arduino控制一位共阳极数码管显示 2.利用arduino控制二位共阳极数码管显示 前言: 前段时间,在网上看到了一个视频,是关于二位数码管动态显示的视频,感觉很新奇,就想把它做出 ...
- C#+Arduino控制4位数码管
上一篇介绍了如何控制1位数码管,接下来就是控制4位数码管,其实就是4个一位数码管拼起来构成的,但是4位数码管的引脚只比一位数码管多了2个.通过查找资料可知,4位数码管中的a.b.c.d.e.f.g.d ...
- 用51单片机,keil编程,proteus仿真,实现2位数码管00-99自动计数
51单片机作业,自己网上查资料,看课本,弄了一个下午加一个晚上,这个专业真的太苦逼! 需要的小伙伴看看吧 要求:现有AT89S51单片机.2按键和2位数码管,电路形式不限制,利用Proteus设计一电 ...
- proteus仿真arduino控制舵机
本次为课程设计中一个分支的记录,很多同学在课程设计中购买现成的课程设计答案,他们的理由不同,但都主要集中在找不到资料,或者学不会,或者写不出来,刚好我也为毕业设计做准备可以记录一些在学习过程中遇到的有 ...
- proteus仿真arduino测电阻,数码管显示
最近在做电子系统设计的课.我比较懒,不想搞具体的电路,所以直接去找了arduino的了.后面来描述下操作步骤. 1.在proteus中导入arduino库 下载链接及说明: https://hanba ...
- 单片机:按键控制两位数码管
/***************** 按k1加一,按k2减一,按k3清零 *******************/ #include "reg52.h" //此文件中定义了单片机的 ...
- 按键控制两位数码管加减
关于按键方法的原帖地址:http://www.amobbs.com/thread-4308630-1-1.html //本文按键未经消抖处理,有了好方法再来上传. #include "reg ...
最新文章
- 基于Android和SpringBoot的购物App
- 必读!TOP10生成对抗网络GAN论文(附链接)
- 惊呆了,JDK中这些常用方法也有Bug?
- gateway中的局部过滤器_Spring Cloud Gateway中的过滤器工厂:重试过滤器
- ECC 公钥加密 使用相同的ECC公钥对 对 相同的数据进行加密,每次的加密结果是一致的吗?
- 计组之数据运算:4、移位运算
- Sql Server日期格式化
- 使用runtime 实现weex 跳转原生页面
- 【Siddhi】Siddhi 4.2.40版本之前的一个Bug
- starting Tomcat v8.5 at localhost has encountered a problem
- Long-Short Memory Network(LSTM长短期记忆网络)
- 软件:10款免费无广告的看图软件,总有一款适合你
- 磁力聚合搜索工具中文版magnetW 3.1.1
- Java 树形结构数据生成导出excel文件
- Projector的用法
- java读取ini文件工具_Java读取ini文件 [org.dtools.javaini]
- Specified class is an interface
- 英语听力网站推荐-非常不错
- 判断HTTP代理的高匿程度
- mysql关系运算_数据库关系运算