原文地址:https://circuitdigest.com/microcontroller-projects/7-segment-display-interfacing-with-arduino

Arduino与7段显示器连接

ARDUINO的

经过**迪利普·拉贾(Dilip Raja)** 2015年6月6日8

在本教程中,我们将把一个七段显示器连接到ARDUINO UNO。显示屏从0-9开始计数,并将自身重置为零。在继续之前,让我们首先讨论七个分段显示。

七段显示器的得名是因为它具有七个照明段。这些段中的每一个都有一个LED(发光二极管),因此可以发光。LED的制造方式使得每个LED的照明都包含在自己的部分中。这里要注意的重要一点是,任何七段显示器中的LED都以共阳极模式(共正)或共阴极模式(共负)排列。

上图显示了共阴极和共阳极中LED的电路连接。在这里,可以观察到,在CC中,每个LED的负极都连接在一起,并作为GND引出。在CA中,每个LED的正极连接在一起并作为VCC输出。这些CC和CA在将多个单元复用在一起时非常方便。

所需组件

硬件: ARDUINO UNO,电源(5v),HDSP5503七段显示器(两块)(任何公共阴极都可以),47uF电容器(跨电源连接)。

软体: arduino IDE(Arduino每晚)

电路图和工作说明


7段显示的连接如下所示:

ARDUINO UNO的PIN1或E至PIN 6

PIN2或D到PIN 5

PIN4或C至PIN 4

PIN5或H或DP到PIN 9 ///不需要,因为我们不使用小数点

PIN6或B到PIN 3

PIN7或A至PIN 2

PIN9或F至PIN 7

PIN10或G到PIN 8

PIN3或PIN8或CC通过100Ω电阻接地。

现在,要了解其工作原理,请考虑将七段显示器连接到端口,因此,我们已经将“显示器的一部分连接到PIN0”,“显示器的B部分连接到PIN1”,“显示器的一部分连接到PIN3”,“显示到PIN4的一段”,“显示到PIN5的一段”,“显示到PIN6的一段”。并为普通接地型,如图所示。

在这里,公共接地必须连接到地面,显示器才能正常工作。可以使用二极管模式的万用表检查显示的每个部分。每个段均不得使用大于4v的电压供电,否则显示屏将被永久损坏。为了避免这种情况,可以在公共端子上提供一个公共电阻,如电路图所示。

现在,如果我们要在该显示中显示“ 0”,如下图所示。

我们需要打开“ A,B,C,D,EF”段的LED,因此需要给PIN0,PIN1,PIN2,PIN3,PIN4和PIN5供电。因此,每当我们需要一个“ 0”时,就需要给所有提到的引脚供电。

现在,如果我们想显示“ 1”

我们需要为网段“ B,C”供电,要使网段B,C开启,我们需要给PIN1,PIN2供电。当两个引脚都为高电平时,显示为“ 1”。因此,如上所示,我们将为与要在显示屏上显示的数字相对应的引脚供电。

在这里,我们将编写一个程序来打开和关闭每个段,计数为0-9。最好在下面的C代码中逐步解释0-9计数器的工作 :

代码

#define segA 2//connecting segment A to PIN2#define segB 3// connecting segment B to PIN3#define segC 4// connecting segment C to PIN4#define segD 5// connecting segment D to PIN5#define segE 6// connecting segment E to PIN6#define segF 7// connecting segment F to PIN7#define segG 8// connecting segment G to PIN8int COUNT = 0; //count integer for 0-9 incrementvoid setup(){for (int i = 2; i < 9; i++){pinMode(i, OUTPUT);// taking all pins from 2-8 as output}}void loop(){switch (COUNT){case 0://when count value is zero show”0” on dispdigitalWrite(segA, HIGH);digitalWrite(segB, HIGH);digitalWrite(segC, HIGH);digitalWrite(segD, HIGH);digitalWrite(segE, HIGH);digitalWrite(segF, HIGH);digitalWrite(segG, LOW);break;case 1:// when count value is 1 show”1” on dispdigitalWrite(segA, LOW);digitalWrite(segB, HIGH);digitalWrite(segC, HIGH);digitalWrite(segD, LOW);digitalWrite(segE, LOW);digitalWrite(segF, LOW);digitalWrite(segG, LOW);break;case 2:// when count value is 2 show”2” on dispdigitalWrite(segA, HIGH);digitalWrite(segB, HIGH);digitalWrite(segC, LOW);digitalWrite(segD, HIGH);digitalWrite(segE, HIGH);digitalWrite(segF, LOW);digitalWrite(segG, HIGH);break;case 3:// when count value is 3 show”3” on dispdigitalWrite(segA, HIGH);digitalWrite(segB, HIGH);digitalWrite(segC, HIGH);digitalWrite(segD, HIGH);digitalWrite(segE, LOW);digitalWrite(segF, LOW);digitalWrite(segG, HIGH);break;case 4:// when count value is 4 show”4” on dispdigitalWrite(segA, LOW);digitalWrite(segB, HIGH);digitalWrite(segC, HIGH);digitalWrite(segD, LOW);digitalWrite(segE, LOW);digitalWrite(segF, HIGH);digitalWrite(segG, HIGH);break;case 5:// when count value is 5 show”5” on dispdigitalWrite(segA, HIGH);digitalWrite(segB, LOW);digitalWrite(segC, HIGH);digitalWrite(segD, HIGH);digitalWrite(segE, LOW);digitalWrite(segF, HIGH);digitalWrite(segG, HIGH);break;case 6:// when count value is 6 show”6” on dispdigitalWrite(segA, HIGH);digitalWrite(segB, LOW);digitalWrite(segC, HIGH);digitalWrite(segD, HIGH);digitalWrite(segE, HIGH);digitalWrite(segF, HIGH);digitalWrite(segG, HIGH);break;case 7:// when count value is 7 show”7” on dispdigitalWrite(segA, HIGH);digitalWrite(segB, HIGH);digitalWrite(segC, HIGH);digitalWrite(segD, LOW);digitalWrite(segE, LOW);digitalWrite(segF, LOW);digitalWrite(segG, LOW);break;case 8:// when count value is 8 show”8” on dispdigitalWrite(segA, HIGH);digitalWrite(segB, HIGH);digitalWrite(segC, HIGH);digitalWrite(segD, HIGH);digitalWrite(segE, HIGH);digitalWrite(segF, HIGH);digitalWrite(segG, HIGH);break;case 9:// when count value is 9 show”9” on dispdigitalWrite(segA, HIGH);digitalWrite(segB, HIGH);digitalWrite(segC, HIGH);digitalWrite(segD, HIGH);digitalWrite(segE, LOW);digitalWrite(segF, HIGH);digitalWrite(segG, HIGH);break;break;}if (COUNT < 10){COUNT++;delay(1000);///increment count integer for every second}if (COUNT == 10){COUNT = 0; // if count integer value is equal to 10, reset it to zero.delay(1000);}}

Arduino与7段显示器连接相关推荐

  1. LCD不带显存,是如何内存映射屏幕。S5PV210SoC在内存中选一段内存存放颜色数据,通过配置将LCD控制器和这一段内存连接起来,构成映射关系,LCD控制器就自动从显存中读取像素数据传给LCD驱动器

    一.LCD控制原理 S5PV210处理器中自带LCD控制器,控制LCD的显示,把 LCD 图像数据从一个位于系统内存的 video buffer 传送到一个外部的 LCD 驱动器接口. 类型: STN ...

  2. 戴尔U2520DR型号显示器连接MacbookPro突然不亮了

    戴尔U2520DR型号显示器连接MacbookPro突然不亮了 解决办法: 首先找京东客服 戴尔技术支持公众号 发送你的服务编码 按照技术人员指引解决问题 1京东 先找到你的显示器后方的Service ...

  3. 只用显示器连接云服务器,显示器连接云服务器

    显示器连接云服务器 内容精选 换一换 本节操作介绍如何在移动设备上连接Linux实例.以iTerminal-SSH Telnet为例介绍如何在iOS设备上连接 Linux 实例,详细操作请参考IOS设 ...

  4. 多台显示器连接一台服务器,如何用一台显示器连接多台电脑?

    我教大家如何用一台显示器连接多台电脑,日常生活中可能用到的比较少,不过有些时候可能会用到,来看看吧! 工具/原料 显示器1台 VGA线1条 电脑主机(根据需要) KVM切换器1台(附件8条VGA+US ...

  5. 笔记本连接html后分成两个屏,一台电脑两个显示器是如何来实现 一台电脑两个显示器连接方法...

    越来越多的电脑普及融入到我们的生活中,通常见到的一台电脑一个 显示器 ,就完全可以满足我们日常生的娱乐.学习以及平常的工作,但也有特殊的情况,往往对于复杂性的工作而言,开启过多的窗口不仅影响工作的效率 ...

  6. 计算机显示器接法,电脑和显示器怎么连接_显示器连接电脑方法-win7之家

    我们在组装电脑的时候,是必须要电脑和显示器连接的,那么电脑和显示器怎么连接呢,连接显示器和电脑很简单的直接把一条线两头插上就可以了,肯定还有一些装机小白不会连接,下面小编给大家分享显示器连接电脑的方法 ...

  7. arduino 与java通信_在Java应用程序与Arduino Uno之间建立串口连接

    在本篇文章中,我们将主要演示如何在Java应用程序和Arduino Uno之间建立串口连接.本文分为两个部分:在第一部分中,说明了如何从Java应用程序向Arduino发送文本(数字).此外,Ardu ...

  8. 笔记本电脑升级后无法用拓展坞供电,提示显示器连接可能受限。

    今天准备在笔记本电脑上 上Github刷题来着. 突然遇到了一个问题,连接了电源充不了电!!! 经过我反复插拔电源,电脑反复提示"显示器连接受限,请检查dispplayport接口..... ...

  9. linux台式机双屏幕怎么连接,台式机怎么分屏_台式机双显示器连接方法-太平洋IT百科手机版...

    现如今随着人们的要求提高,双屏显示成为用户越来越关注的对象,比如看盘的时候看看电影或是其它事情,工作娱乐两不耽误,那么台式机怎么分屏呢?那么问题来了,家里需要配备两台显示器,不过现在现如今显示器比较便 ...

最新文章

  1. App功能测试的注意点
  2. 改变myeclipse北京颜色
  3. 3月9日起陆续开学!快来看看有没有你所在的省份
  4. HwServiceManager篇-Android10.0 HwBinder通信原理(五)
  5. 网络推广外包——网络推广外包专员如何做好网站首页设计
  6. 拉取数据_Apache Kafka-数据写入过程
  7. 单件模式(Singleton Pattern)(转自TerryLee)
  8. 牛客网--牛牛的闹钟
  9. 信息学奥赛一本通 2028:【例4.14】百钱买百鸡
  10. 电脑上的linux是什么文件夹,linux删除文件夹,详细教您电脑的linux怎么样删除文件夹...
  11. 剑指offer 面试26题
  12. FORTRAN+计算物理学学习日记(3)
  13. docker修改容器ip范围
  14. Java常用日志框架介绍(转载)
  15. C++实现尺取法——以彩色宝石项链为例
  16. java笔记5 抽象类和接口
  17. 计算机维护系统Win8PE,Win8PE x86应急维护系统BIOS-MBR硬盘版
  18. Mininet系列实验(二):Mininet可视化应用
  19. Linux命令-df命令
  20. CSAPP 程序人生

热门文章

  1. thinkphp5+阿里短信发送验证码
  2. MATLAB基础编程(005-01)之Resize an Image with imresize Function 使用imresize函数 调整图像大小
  3. 产业区块链一周动态丨蚂蚁集团计划上市,苏州成立10亿元区块链基金
  4. 三星Android手机进入工程模式
  5. python中sleep的用法_Python sleep 用法 原
  6. 前端学习之路CSS基础学习二
  7. 【先进事迹】11111HTML
  8. 程序员学英语——In November the English learning summary
  9. 关于修改ant table选中行的背景色
  10. oracle怎么条件强制走索引,如何让oracle的select强制走索引