美文网首页Arduino 专题学习
项目七(任务八)利用一位数码管实现0-9数字的显示——例程4.2

项目七(任务八)利用一位数码管实现0-9数字的显示——例程4.2

作者: 58b490b00c31 | 来源:发表于2019-06-18 22:42 被阅读7次

例程4.2:0-9循环显示,每个数字显示1秒

1.模拟电路图

Friting电路图

    该例程连接电路和代码编写均以共阴极为例——公共端接地,当需要数码管某段点亮时,应将该段代码置位高电平。因为数码管中每段均为一个发光二极管,为了避免发光二极管损坏,每一段均需要连接电阻。为达到该Friting电路图简单清晰的目的,画图时采取对称式画图。



2.实物连接电路图

实物连接电路图

                                              该实物连接电路图与friting模拟电路图一一对应。



3.程序代码及相应注释

int a=7;//定义数字接口7 连接a 段数码管

int b=6;// 定义数字接口6 连接b 段数码管

int c=5;// 定义数字接口5 连接c 段数码管

int d=11;// 定义数字接口11 连接d 段数码管

int e=10;// 定义数字接口10 连接e 段数码管

int f=8;// 定义数字接口8 连接f 段数码管

int g=9;// 定义数字接口9 连接g 段数码管

int dp=4;// 定义数字接口4 连接dp 段数码管

unsigned char num[10][8] =

{ //1为点亮,0为关闭,a表示数码管a的led灯,其他类似

 //a b  c  d e  f  g  h

  {1,1, 1, 1, 1, 1, 0, 0},      //0

  {0,1, 1, 0, 0, 0, 0, 0},     //1

  {1,1, 0, 1, 1, 0, 1, 0},     //2

  {1,1, 1, 1, 0, 0, 1, 0},     //3

  {0,1, 1, 0, 0, 1, 1, 0},     //4

  {1,0, 1, 1, 0, 1, 1, 0},     //5

  {1,0, 1, 1, 1, 1, 1, 0},     //6

  {1,1, 1, 0, 0, 0, 0, 0},     //7

  {1,1, 1, 1, 1, 1, 1, 0},     //8

  {1,1, 1, 1, 0, 1, 1, 0},     //9

};

void setup()

{

 pinMode(a,OUTPUT);        //设置引脚为输出

 pinMode(b,OUTPUT);        //设置引脚为输出

 pinMode(c,OUTPUT);        //设置引脚为输出

 pinMode(d,OUTPUT);        //设置引脚为输出

 pinMode(e,OUTPUT);        //设置引脚为输出

 pinMode(f,OUTPUT);        //设置引脚为输出

 pinMode(g,OUTPUT);        //设置引脚为输出

 pinMode(dp,OUTPUT);        //设置引脚为输出

}

void loop()

{

for( int i = 0 ; i <= 9 ; i++)       //循环显示0-9

  {digitalWrite(a,num[i][0]);  //设置a 引脚的电平

   digitalWrite(b,num[i][1]);  //设置b 引脚的电平

   digitalWrite(c,num[i][2]);  //设置c 引脚的电平

   digitalWrite(d,num[i][3]);  //设置d 引脚的电平

   digitalWrite(e,num[i][4]);  //设置e 引脚的电平

   digitalWrite(f,num[i][5]);  //设置f 引脚的电平

   digitalWrite(g,num[i][6]);  //设置g 引脚的电平

   digitalWrite(dp,num[i][7]);  //设置h 引脚的电平

    delay(1000);            //延迟1秒

  }

}

相关文章

网友评论

    本文标题:项目七(任务八)利用一位数码管实现0-9数字的显示——例程4.2

    本文链接:https://www.haomeiwen.com/subject/tffcqctx.html