编写程序实现在数码管上显示0~9之间的偶数(10分
时间: 2023-04-28 15:00:54 浏览: 48
以下是一种实现方式:
1. 定义一个数组,包含0~9的偶数,即{0, 2, 4, 6, 8}。
2. 使用循环语句,循环遍历数组中的每个数字。
3. 对于每个数字,使用数码管显示函数将其显示在数码管上。
4. 程序结束。
具体代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <wiringPi.h>
// 数码管引脚定义
#define A_PIN 0
#define B_PIN 1
#define C_PIN 2
#define D_PIN 3
#define E_PIN 4
#define F_PIN 5
#define G_PIN 6
// 数码管数字定义
const int NUMBERS[10][7] = {
{1, 1, 1, 1, 1, 1, 0}, // 0
{0, 1, 1, 0, 0, 0, 0}, // 1
{1, 1, 0, 1, 1, 0, 1}, // 2
{1, 1, 1, 1, 0, 0, 1}, // 3
{0, 1, 1, 0, 0, 1, 1}, // 4
{1, 0, 1, 1, 0, 1, 1}, // 5
{1, 0, 1, 1, 1, 1, 1}, // 6
{1, 1, 1, 0, 0, 0, 0}, // 7
{1, 1, 1, 1, 1, 1, 1}, // 8
{1, 1, 1, 1, 0, 1, 1} // 9
};
// 数码管显示函数
void display(int number) {
int i;
int pins[7] = {A_PIN, B_PIN, C_PIN, D_PIN, E_PIN, F_PIN, G_PIN};
int *digits = NUMBERS[number];
for (i = 0; i < 7; i++) {
digitalWrite(pins[i], digits[i]);
}
}
int main() {
int i;
// 初始化wiringPi库
if (wiringPiSetup() == -1) {
printf("wiringPi setup failed!\n");
return 1;
}
// 设置数码管引脚为输出模式
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);
// 循环显示0~9之间的偶数
for (i = 0; i < 5; i++) {
display(i * 2);
delay(1000);
}
// 程序结束
return 0;
}