Arduino与7段显示器连接
原文地址:https://circuitdigest.com/microcontroller-projects/7-segment-display-interfacing-with-arduino
Arduino与7段显示器连接
所需组件
硬件: 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段显示器连接相关推荐
- LCD不带显存,是如何内存映射屏幕。S5PV210SoC在内存中选一段内存存放颜色数据,通过配置将LCD控制器和这一段内存连接起来,构成映射关系,LCD控制器就自动从显存中读取像素数据传给LCD驱动器
一.LCD控制原理 S5PV210处理器中自带LCD控制器,控制LCD的显示,把 LCD 图像数据从一个位于系统内存的 video buffer 传送到一个外部的 LCD 驱动器接口. 类型: STN ...
- 戴尔U2520DR型号显示器连接MacbookPro突然不亮了
戴尔U2520DR型号显示器连接MacbookPro突然不亮了 解决办法: 首先找京东客服 戴尔技术支持公众号 发送你的服务编码 按照技术人员指引解决问题 1京东 先找到你的显示器后方的Service ...
- 只用显示器连接云服务器,显示器连接云服务器
显示器连接云服务器 内容精选 换一换 本节操作介绍如何在移动设备上连接Linux实例.以iTerminal-SSH Telnet为例介绍如何在iOS设备上连接 Linux 实例,详细操作请参考IOS设 ...
- 多台显示器连接一台服务器,如何用一台显示器连接多台电脑?
我教大家如何用一台显示器连接多台电脑,日常生活中可能用到的比较少,不过有些时候可能会用到,来看看吧! 工具/原料 显示器1台 VGA线1条 电脑主机(根据需要) KVM切换器1台(附件8条VGA+US ...
- 笔记本连接html后分成两个屏,一台电脑两个显示器是如何来实现 一台电脑两个显示器连接方法...
越来越多的电脑普及融入到我们的生活中,通常见到的一台电脑一个 显示器 ,就完全可以满足我们日常生的娱乐.学习以及平常的工作,但也有特殊的情况,往往对于复杂性的工作而言,开启过多的窗口不仅影响工作的效率 ...
- 计算机显示器接法,电脑和显示器怎么连接_显示器连接电脑方法-win7之家
我们在组装电脑的时候,是必须要电脑和显示器连接的,那么电脑和显示器怎么连接呢,连接显示器和电脑很简单的直接把一条线两头插上就可以了,肯定还有一些装机小白不会连接,下面小编给大家分享显示器连接电脑的方法 ...
- arduino 与java通信_在Java应用程序与Arduino Uno之间建立串口连接
在本篇文章中,我们将主要演示如何在Java应用程序和Arduino Uno之间建立串口连接.本文分为两个部分:在第一部分中,说明了如何从Java应用程序向Arduino发送文本(数字).此外,Ardu ...
- 笔记本电脑升级后无法用拓展坞供电,提示显示器连接可能受限。
今天准备在笔记本电脑上 上Github刷题来着. 突然遇到了一个问题,连接了电源充不了电!!! 经过我反复插拔电源,电脑反复提示"显示器连接受限,请检查dispplayport接口..... ...
- linux台式机双屏幕怎么连接,台式机怎么分屏_台式机双显示器连接方法-太平洋IT百科手机版...
现如今随着人们的要求提高,双屏显示成为用户越来越关注的对象,比如看盘的时候看看电影或是其它事情,工作娱乐两不耽误,那么台式机怎么分屏呢?那么问题来了,家里需要配备两台显示器,不过现在现如今显示器比较便 ...
最新文章
- App功能测试的注意点
- 改变myeclipse北京颜色
- 3月9日起陆续开学!快来看看有没有你所在的省份
- HwServiceManager篇-Android10.0 HwBinder通信原理(五)
- 网络推广外包——网络推广外包专员如何做好网站首页设计
- 拉取数据_Apache Kafka-数据写入过程
- 单件模式(Singleton Pattern)(转自TerryLee)
- 牛客网--牛牛的闹钟
- 信息学奥赛一本通 2028:【例4.14】百钱买百鸡
- 电脑上的linux是什么文件夹,linux删除文件夹,详细教您电脑的linux怎么样删除文件夹...
- 剑指offer 面试26题
- FORTRAN+计算物理学学习日记(3)
- docker修改容器ip范围
- Java常用日志框架介绍(转载)
- C++实现尺取法——以彩色宝石项链为例
- java笔记5 抽象类和接口
- 计算机维护系统Win8PE,Win8PE x86应急维护系统BIOS-MBR硬盘版
- Mininet系列实验(二):Mininet可视化应用
- Linux命令-df命令
- CSAPP 程序人生
热门文章
- thinkphp5+阿里短信发送验证码
- MATLAB基础编程(005-01)之Resize an Image with imresize Function 使用imresize函数 调整图像大小
- 产业区块链一周动态丨蚂蚁集团计划上市,苏州成立10亿元区块链基金
- 三星Android手机进入工程模式
- python中sleep的用法_Python sleep 用法 原
- 前端学习之路CSS基础学习二
- 【先进事迹】11111HTML
- 程序员学英语——In November the English learning summary
- 关于修改ant table选中行的背景色
- oracle怎么条件强制走索引,如何让oracle的select强制走索引