通过查询型号LG5011BSR得知其为0.5"单联共阳数码管,下面是其引脚图。 引脚对应字段: 1 2 3 4 5 6 7 8 9 10 E D 电源 C DP B A 电源 F G 查看其背后,四个角分别有2个原点和5,10两个标记。分别表示了1,6,5,10针脚。 程序如下:数码管和发光二极管一样,需要添加限流电阻,因为网上没有查到资料说明该数码管的击穿电压是多大。所以供给电源电压宁可小不可大,所以选择220Ω限流电阻,和3.3V供电。 线路连接图如下 把下面的代码编译后下载到控制板上,看看效果~ //设置控制各段的数字 IO脚 int a=7; int b=6; int c=5; int d=11; int e=10; int f=8; int g=9; int dp=4; //显示数字1 void digital_1(void) { unsigned char j; digitalWrite(c,LOW);//给数字 5 引脚低电平,点亮 c 段 digitalWrite(b,LOW);//点亮 b 段 for(j=7;j<=11;j++)//熄灭其余段 digitalWrite(j,HIGH); digitalWrite(dp,HIGH); } //显示数字2 void digital_2(void) { unsigned char j; digitalWrite(b,LOW); digitalWrite(a,LOW); for(j=9;j<=11;j++) digitalWrite(j,LOW); digitalWrite(c,HIGH); digitalWrite(f,HIGH); digitalWrite(dp,HIGH); } //显示数字3 void digital_3(void) { unsigned char j; digitalWrite(g,LOW); digitalWrite(d,LOW); for(j=5;j<=7;j++) digitalWrite(j,LOW); digitalWrite(f,HIGH); digitalWrite(e,HIGH); digitalWrite(dp,HIGH); } //显示数字4 void digital_4(void) { digitalWrite(c,LOW); digitalWrite(b,LOW); digitalWrite(f,LOW); digitalWrite(g,LOW); digitalWrite(a,HIGH); digitalWrite(e,HIGH); digitalWrite(d,HIGH); digitalWrite(dp,HIGH); } //显示数字5 void digital_5(void) { unsigned char j; for(j=7;j<=9;j++) digitalWrite(j,LOW); digitalWrite(c,LOW); digitalWrite(d,LOW); digitalWrite(b,HIGH); digitalWrite(e,HIGH); digitalWrite(dp,HIGH); } //显示数字6 void digital_6(void) { unsigned char j; for(j=7;j<=11;j++) digitalWrite(j,LOW); digitalWrite(c,LOW); digitalWrite(b,HIGH); digitalWrite(dp,HIGH); } //显示数字7 void digital_7(void) { unsigned char j; for(j=5;j<=7;j++) digitalWrite(j,LOW); for(j=8;j<=11;j++) digitalWrite(j,HIGH); digitalWrite(dp,HIGH); } //显示数字8 void digital_8(void) { unsigned char j; for(j=5;j<=11;j++) digitalWrite(j,LOW); digitalWrite(dp,HIGH); } //show 9 void digital_9(void) { unsigned char j; for (j=5;j<=9;j++) digitalWrite(j,LOW); digitalWrite(d,LOW); digitalWrite(e,HIGH); digitalWrite(dp,HIGH); } //show 0 void digital_0(void) { unsigned char j; for (j=5;j<=8;j++) digitalWrite(j,LOW); digitalWrite(e,LOW); digitalWrite(dp,LOW); digitalWrite(g,HIGH); } void setup() { int i;//定义变量 for(i=4;i<=11;i++) pinMode(i,OUTPUT);//设置 5~11引脚 } void loop() { while(1) { digital_1();//数字1 delay(2000);//延时 2s digital_2(); delay(2000); digital_3(); delay(2000); digital_4(); delay(2000); digital_5(); delay(2000); digital_6(); delay(2000); digital_7(); delay(2000); digital_8(); delay(2000); digital_9(); delay(2000); digital_0(); delay(2000); } } |
|
来自: 大漠 > 《arduino学习笔记》