Ardunio开发实例-七段数码管

本文介绍了一个使用Arduino UNO控制共阴极七段数码管的实例。通过理解数码管的工作原理,硬件连接和编程实现,展示了如何显示数字0到1。涉及到的关键点包括七段数码管的共阳极和共阴极特性,以及如何通过Bit运算控制LED的显示状态。
摘要由CSDN通过智能技术生成

七段数码管

数码管的一种是半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个用于显示小数点的发光二极管单元DP(decimal point),其基本单元是发光二极管。

七段数码管分为共阳极共阴极,共阳极的七段数码管的正极(或阳极)为八个发光二极管的共有正极,其他接点为独立发光二极管的负极(或阴极),使用者只需把正极接电,不同的负极接地就能控制七段数码管显示不同的数字。共阴极的七段数码管与共阳极的只是接驳方法相反而已。

在这里插入图片描述

本次实例主要实现七段数码管的基本操作。

1、硬件准备

  • Arduino UNO 开发板一块
  • 杜邦线若干、数据线一条
  • 数据线一条
  • 七位数码管模块一个(这里使用共阴类型)

七个分段显示器由7个LED(称为分段)组成,排列成“ 8”形。 多数7段显示器实际上有8段,在数字的右边有一个小数点。 每个段用字母A到G命名

使用数码管需要连接到ESP32-C3的引脚,可以使用任何数字引脚,例如GPIO0~GPIO19。 以下是一个基本的示例代码,使用数字引脚连接到共阴极数码管: ```c++ #include <Arduino.h> // 数码管引脚定义 #define A_PIN 2 #define B_PIN 3 #define C_PIN 4 #define D_PIN 5 #define E_PIN 6 #define F_PIN 7 #define G_PIN 8 #define DP_PIN 9 // 数码管数字定义 const byte DIGITS[] = { B11111100, // 0 B01100000, // 1 B11011010, // 2 B11110010, // 3 B01100110, // 4 B10110110, // 5 B10111110, // 6 B11100000, // 7 B11111110, // 8 B11110110 // 9 }; void setup() { // 设定引脚模式 pinMode(A_PIN, OUTPUT); pinMode(B_PIN, OUTPUT); pinMode(C_PIN, OUTPUT); pinMode(D_PIN, OUTPUT); pinMode(E_PIN, OUTPUT); pinMode(F_PIN, OUTPUT); pinMode(G_PIN, OUTPUT); pinMode(DP_PIN, OUTPUT); // 初始化数码管,显示数字0 digitalWrite(A_PIN, HIGH); digitalWrite(B_PIN, HIGH); digitalWrite(C_PIN, HIGH); digitalWrite(D_PIN, HIGH); digitalWrite(E_PIN, HIGH); digitalWrite(F_PIN, HIGH); digitalWrite(G_PIN, LOW); digitalWrite(DP_PIN, HIGH); } void loop() { // 显示 0~9 的数字 for (int i = 0; i < 10; i++) { displayDigit(i); delay(1000); } } // 显示数字 void displayDigit(int digit) { if (digit < 0 || digit > 9) return; byte segments = DIGITS[digit]; digitalWrite(A_PIN, bitRead(segments, 0)); digitalWrite(B_PIN, bitRead(segments, 1)); digitalWrite(C_PIN, bitRead(segments, 2)); digitalWrite(D_PIN, bitRead(segments, 3)); digitalWrite(E_PIN, bitRead(segments, 4)); digitalWrite(F_PIN, bitRead(segments, 5)); digitalWrite(G_PIN, bitRead(segments, 6)); digitalWrite(DP_PIN, HIGH); } ``` 在这个示例,我们使用共阴极数码管,并将它连接到ESP32-C3的数字引脚。我们还定义了一个数字数组,包含每个数字的式显示模式。 在setup()函数,我们将所有的引脚设置为输出模式,并初始化数码管以显示数字0。 在loop()函数,我们使用displayDigit()函数显示0~9的数字。该函数接受一个数字参数,并设置数码管的引脚以显示相应的数字。 在displayDigit()函数,我们使用DIGITS数组获取数字对应的式显示模式,并设置数码管的引脚以显示该数字。 您可以根据需要修改示例代码以显示您想要的数字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

视觉&物联智能

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值