友情提示:380元/半年,儿童学编程,就上码丁实验室。
产品介绍
七段数码管分为共阴数码管和共阳数码管,其区别在于公共脚的不同,如图所示:
共阴数码管
数码管是一类价格便宜、使用简单,通过对其不同的管脚输入相对的电流,使其发亮,从而显示出数字
我们这里用的是共阴数码管。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。
实验器件
■ 1位共阴数码管:1 个
■ 220电阻:8 个
■ 多彩面包板实验跳绳:若干
实验连线
程序代码
int LEDCount=8;
//定义段码,这里是共阴段码,如果是共阳只需要在程序中把读到的值按位取反即可
const unsigned char dofly_DuanMa[10]={0x3f,0×06,0x5b,0x4f,0×66,0x6d,0x7d,0×07,0x7f,0x6f};
int LEDPins[] = {
0,1,2, 3, 4, 5, 6, 7, }; // 对应的LED引脚
void setup() {
// 循环设置,把对应的LED都设置成输出
for (int thisLED = 0; thisLED < LEDCount; thisLED++) {
pinMode(LEDPins[thisLED], OUTPUT);
}
}
// 数据处理,把需要处理的byte数据写到对应的引脚端口。
void deal(unsigned char value){
for(int i=0;i<8;i++)
digitalWrite(LEDPins[i],bitRead(value,i));//使用了bitWrite函数,非常简单
}
// 主循环
void loop() {
// 循环显示0-9 数字
for(int i=0;i<10;i++)
{
deal(dofly_DuanMa[i]);//读取对应的段码值
delay(1000); //调节延时,2 个数字之间的停留间隔
}
}
米思齐代码
实验结论:
上电后,观察到数码管循环显示0~9十个数字。
转自公众号:
29号造物吧