【Arduino21】1位数码管模拟值实验

硬件准备

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()函数的使用。此外,我在实验的过程中因延时函数位置不当,使数码管显示错误。在使用延时函数时,我们要谨慎,防止出现逻辑错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值