公告:

51单片机控制一位数码管静态与动态显示

作者:智凡单片机 / 时间:2年前 (2018/03/22) / 分类:51单片机 / 阅读:2437 / 评论:0

数码管归根到底就是LED,本质上就是多个LED灯的组合。一般有共阴极和共阳极之分。本次我使用的是共阴极的数码管:

电路接线图如下:由于51单片机的IO口比较特殊。所以本次专门使用IO口作为例子使用,接上拉电阻的理由如下图:

51单片机控制一位数码管静态与动态显示一位数码管显示0-F的编码方法如下:

51单片机控制一位数码管静态与动态显示第一种工作模式:静态显示

const uchar code Seg_Table[]=
{
 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,
};
#define Seg P0
void main(void)

{

        while(1)

         Seg=Seg_Table[0];//显示0,可通过修改数组地址来显示不同的值

}

 

第二种工作模式:动态扫描(循环从0-F)

while(1)里面的内容只需要改为如所示即可;

  for(k=0;k<16;k++)
  {
   Seg=Seg_Table[k];
   delay(10000);
  }

没有评论,留下你的印记,证明你来过。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。