arduino学习笔记七 数码管、按键

数码管在使用时请接一定的电阻,以免数码管造成不必要的牺牲

这里数码管a、b、c、d、e、f、g、dp段分别对应端口7.6.5.11.10.8.9.4

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++)//熄灭其余段

    digitalWrite(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);

  digitalWrite(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);

  digitalWrite(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);

  digitalWrite(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);

}

//显示数字8

void 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();//数字1

    delay(2000);//延时2s

    digital_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);   

  }

}

--------------------------------------------------------------------------------------------------------------------------

按键实例

按键是一种常用的控制电器元件,常用来接通或断开电路,从而达到控制电机或者其他设备运行的开关。

本次实验使用按键来控制led的亮或者灭。
一般情况是直接把按键开关串联在led的电路中来开关,这种应用情况比较单一。
这次实验通过间接的方法来控制,按键接通后判断按键电路中的输出电压,如果电压大于4.88V,就使给LED电路输出高电平,反之就输出低电平。使用逻辑判断的方法来控制LED亮或者灭,此种控制方法应用范围较广。
本次连接方法如下图。按键开关两段一端连接5V接口,一端连接模拟5号口。LED长针脚串联220Ω电阻连接数字7号口,短针脚连接GND

 

int key=7;//设置LED的数字IO

void setup()

{

  pinMode(key,OUTPUT);//设置数字IO引脚为输出模式

}

void loop()

{

  int i;//定义变量

  while(1)

  {

    i=analogRead(5);//读取模拟5口电压值

    if(i>1000)//如果电压值大于1000(即4.88V

      digitalWrite(key,HIGH);//设置第七引脚为高电平,点亮led

    else

      digitalWrite(key,LOW);//设置第七引脚为低电平,熄灭led 

  }

}

 

你可能感兴趣的:(笔记,单片机,arduino)