1、数码管介绍数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数数码管和八段数数码管,八段数数码管比七段数数码管多一个发光二极管单元(多一个小数点显示)发光二极管单元连接方式分为共阳数码管和共阴数码管。共阳数码管是指将所有发光二极管的阳极连接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极 PWR 接到电源输入 PWR 上,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管则更好相反,阴极连接到一起形成了公共阴极,阳极是独立分开的。先来看一下本次实验使用的数码管。通过查询型号 LG5011BSR 得
2、知其为 0.5“单联共阳数码管,下面是其引脚图。查看其背后,四个角分别有 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;/显示数字 1vo
3、id 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);/熄灭小数点 DP 段/显示数字 2void digital_2(void)unsigned char j;digitalWrite(b,LOW);digitalWrite(a,LOW);for(j=9;j=11;j+)digitalWrite(j,LOW);digit
4、alWrite(dp,HIGH);digitalWrite(c,HIGH);digitalWrite(f,HIGH);/显示数字 3void digital_3(void)unsigned char j;digitalWrite(g,LOW);digitalWrite(d,LOW);for(j=5;j=7;j+)digitalWrite(j,LOW);digitalWrite(dp,HIGH);digitalWrite(f,HIGH);digitalWrite(e,HIGH);/显示数字 4void digital_4(void)digitalWrite(c,LOW);digitalWrite
5、(b,LOW);digitalWrite(f,LOW);digitalWrite(g,LOW);digitalWrite(dp,HIGH);digitalWrite(a,HIGH);digitalWrite(e,HIGH);digitalWrite(d,HIGH); /显示数字 5void 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);digit
6、alWrite(e,HIGH); /显示数字 6void digital_6(void)unsigned char j;for(j=7;j=11;j+)digitalWrite(j,LOW);digitalWrite(c,LOW);digitalWrite(dp,HIGH);digitalWrite(b,HIGH); /显示数字 7void 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);/显示
7、数字 8void digital_8(void)unsigned char j;for(j=5;j=11;j+)digitalWrite(j,LOW);digitalWrite(dp,HIGH);void setup()int i;/定义变量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);