1、小二极客科技,数码管显示,Arduino入门教程第四课,编译器版本:1.5.6,实验器材:Arduino uno r3 、5v电池、220电阻、数码管一个,数码管介绍,数码管也是发光二极管组成的发光器件。数码管按段数分为 七段数数码管(无小数点)和八段数数码管(有小数点)。 数码管分为共阴极和共阳极,我们这里用到的是共阴极的。,通过查询型号LG5011BSR得知其为0.5“单联共阳数码管,下面是其引脚图。,4,10,6,5,1,查看其背后,四个角分别有2个原点和5,10两个标记。分别表示了1,6,5,10针脚。,电路图,数码管和发光二极管一样,需要添加限流电阻,因为网上没有查到资料说明该 数码
2、管的击穿电压是多大。所以供给电源电压宁可小不可大,所以选择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+)/熄灭其余段digi
3、talWrite(j,HIGH);digitalWrite(dp,HIGH);/熄灭小数点DP段 /显示数字2 void digital_2(void) unsigned char j;digitalWrite(b,LOW);digitalWrite(a,LOW);for(j=9;j=11;j+)digitalWrite(j,LOW);digitalWrite(dp,HIGH);digitalWrite(c,HIGH);digitalWrite(f,HIGH); ,/显示数字3 void digital_3(void) unsigned char j;digitalWrite(g,LOW);d
4、igitalWrite(d,LOW);for(j=5;j=7;j+)digitalWrite(j,LOW);digitalWrite(dp,HIGH);digitalWrite(f,HIGH);digitalWrite(e,HIGH); /显示数字4 void digital_4(void) digitalWrite(c,LOW);digitalWrite(b,LOW);digitalWrite(f,LOW);digitalWrite(g,LOW);digitalWrite(dp,HIGH);digitalWrite(a,HIGH);digitalWrite(e,HIGH);digitalWr
5、ite(d,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(dp,HIGH);digitalWrite(b,HIGH);digitalWrite(e,HIGH); ,/显示数字6 void digital_6(void) unsigned char j;for(j=7;j=11;j+)digitalWrite(j,LOW);digitalWrite(c,LOW);di
6、gitalWrite(dp,HIGH);digitalWrite(b,HIGH); /显示数字7 void digital_7(void) unsigned char j;for(j=5;j=7;j+)digitalWrite(j,LOW);digitalWrite(dp,HIGH);for(j=8;j=11;j+)digitalWrite(j,HIGH); /显示数字8void digital_8(void) unsigned char j;for(j=5;j=11;j+)digitalWrite(j,LOW);digitalWrite(dp,HIGH); void setup()int i
7、;/定义变量for(i=4;i=11;i+)pinMode(i,OUTPUT);/设置411引脚为输出模式 ,void loop() while(1)digital_1();/数字1delay(2000);/延时2sdigital_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); ,本次试验的效果为数码管1,2,3,4,5,6,7,8这样子循环显示。,