- 💖 作者简介:大家好,我是MilesChen,偏前端的全栈开发者。
- 📝 优快云主页:爱吃糖的猫🔥
- 📣 我的博客:爱吃糖的猫
- 📚 Github主页: MilesChen
- 🎉 支持我:点赞👍+收藏⭐️+留言📝
- 💬介绍:The mixture of WEB+DeepLearning+Iot+anything🍁
程序
nt pinDigitron = 2; //管脚D2连接到数码管的A脚,D3连B... D9连h
void setup() {
for(int x=0; x<8; x++)
pinMode(pinDigitron+x, OUTPUT); //设置各脚为输出状态
}
//在数码管中显示数字的函数
void displayDigit(unsigned char digit) {
//定义一个数组表:不同数字的abcdefgh各段的取值
unsigned char abcdefgh[][8] = {
{0,1,1,1,1,0,1,1}, //1
{0,0,1,0,1,1,0,0}, //2
{0,0,1,0,1,0,0,1}, //3
{0,1,0,0,1,0,1,1}, //4
{1,0,0,0,1,0,0,1}, //5
{1,0,0,0,1,0,0,0}, //6
{0,0,1,1,1,0,1,1}, //7
{0,0,0,0,1,0,0,0}, //8
{0,0,0,0,1,0,0,1}, //9
{0,0,0,0,1,0,1,0}, //A
{1,1,0,0,1,0,0,0}, //b
{1,0,0,1,1,1,0,0}, //C
{0,1,1,0,1,0,0,0}, //d
{1,0,0,0,1,1,0,0}, //E
{1,0,0,0,1,1,1,0}, //F
};
if ( digit >= 15 ) return;
for (unsigned char x=0; x<8; x++)
digitalWrite( pinDigitron + x, abcdefgh[digit][x] );
}
void loop() {
//在数码管中显示1-9,A-F各个数字
for (int x=0; x<15; x++) {
displayDigit(x); //调用displayDigit()子函数,显示数字
delay(1000); //等待1000毫秒
}
}
接线图
演示视频
数码管
有任何疑问和想法,欢迎在评论区与我交流。