硬件准备
1位共阳数码管:1 个
1K电阻:1个
杜邦线:9根
面包板:1块
硬件连线
1、将数码管插入面包板
2、用8根杜邦线就数码管的a~g以及DP分别接到4~11号引脚
3、用一个杜邦线与1K电阻将数码管的公共阳极接到3.3V接口
软件程序
const int pin_num =8;//引脚数
const int pin_first = 4;//第一个引脚
const unsigned char num_arr[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//数字0~9
const int num_val = 10;
/*声明函数*/
void display(unsigned char value);
void setup(){
Serial.begin(9600);
for (int i = pin_first; i < pin_first + pin_num; i++){
pinMode(i,OUTPUT);
}
}
void loop(){
for (int i = 0; i < num_val; i++){
display(num_arr[i]);
}
}
void display(unsigned char value){
for (int i = 0; i < 8; i++){
int pin = i + pin_first;
digitalWrite( pin, bitRead(value,i) );
}
delay(1000);
}
产品展示视频
上电后,观察到数码管循环显示0~9十个数字
【Arduino21】1位数码管模拟值实验
总结
通过本次实验,我学会了1位共阳数码管的使用,了解了bitRead()函数的使用。此外,我在实验的过程中因延时函数位置不当,使数码管显示错误。在使用延时函数时,我们要谨慎,防止出现逻辑错误。