美文网首页
数码管的动态与静态显示

数码管的动态与静态显示

作者: tomato_20fc | 来源:发表于2019-03-21 12:22 被阅读0次

数码管的静态显示

数码管原理图.png

控制不同的LED灯亮灭,进而控制数码管显示不同的数字
比如 数字 2 ,他的8位二进制数为 0101 1011,读数从dp到a,转化为16进制为0x5b

共阴极数码管的编码表为
uchar code table2[] =
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
共阳极数码管的编码表为
uchar code table1[] =
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};

  • Example
  • 循环显示0-9
    静态显示原理图如下:
静态显示原理图.png

代码如下:

    #include<reg52.h>  
    #define uchar unsigned char;  
    #define uint unsigned int;  
    uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴极
    uchar a,i,j,z;  
    void delay(z)   //延时函数
    {  
       for(j=z;j>0;j--)  
          for(i=110;i>0;i--);  
    }  
    void main()   //主函数
    {  
      while(1)  
        {  
    for(a=0;a<10;a++)//循环9次     
         {  
         P2=table[a];   //依次写入
         delay(1000); //延时1s
          }        
        }  
    }  

数码管的动态显示

  • 4位数码管显示1234,使用动态扫描
    动态显示原理图如下:


    动态显示原理图.png
  • 代码如下:

#include<reg52.h>
#define uchar unsigned char;
#define uint unsigned int;

sbit du=P2^0; //段选
sbit we=P2^1; //位选

//位选是控制i哪一个数码管亮,段选是控制数码管显示什么
uchar code tabledu[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //段选
uchar code tablewe[]={0xfe,0xfd,0xfb,0xf7}; //位选

uchar i,j,z;
uint numd,numw;

void delay(z)   //
{

   for(j=z;j>0;j--)
      for(i=110;i>0;i--);
}

void display() //
{
     P0=tabledu[numd]; //段选
    delay(10);
    du=1; //打开段选锁存器
    du=0; //保持显示
    P0=tablewe[numw]; //位选
    delay(10);
    we=1; //打开位选锁存器
    we=0; //
    numd++; //
    if(numd==5)
    numd=1;
    numw++; //
    if(numw==4)
    numw=0;
}

void main()
{
   numd=1;
   numw=0;
   while(1)
   {   
    display(); //
    delay(1000);
   }
}

相关文章

  • 数码管

    数码管静态显示: 这个是一个共阳的数码管例子: 注意电阻排的阻值选用200欧姆 动态显示 共阴数码管的拓展 共阴和...

  • 数码管的动态与静态显示

    数码管的静态显示 控制不同的LED灯亮灭,进而控制数码管显示不同的数字比如 数字 2 ,他的8位二进制数为 ...

  • 51单片机之数码管动态显示

    动态显示的原理 根据上一篇文章数码管的静态显示,我们已经知道如何精准控制某一个数码管显示某一个数字。 如果我们要前...

  • Arduino基础入门篇14—跳动的数码管

    本篇介绍数码管显示器件,通过控制一位共阴极数码管动态显示数字0到9来了解数码管的使用。 1. 数码管介绍 数码管,...

  • [51单片机]for循环中,数组数据提取

    学习代码,数码管动态显示。 案例说明:第一个数码管显示1,时间为0.5s,然后关闭它,立即让第二个数码管显示2,时...

  • 项目8(任务10)利用四位数码管实现动态扫描显示(一)

    本篇主要是介绍要完成四位数码管的动态扫描显示所需要了解并掌握的四位数码管的电路结构与显示原理。 一、位选与段选 以...

  • 1.3 数码管-动态显示

    数码管的动态显示 数码管动态显示的实质就是利用了人眼视觉的暂留和二极管的余晖作用 由于人的视觉暂留现象及发光二极管...

  • 51单片机数码管的静态与动态显示

    姓名:冯子豪 学号:16020199001 转载自https://blog.csdn.net/qq_2748553...

  • 1.2 数码管-静态显示

    我们的板子上是共阴极数码管 位选和段选 位选:控制那个数码管 段选:控制数码管显示东西(如1 2 3) 锁存器 上...

  • 51单片机、动态数码管认识与编程

    一、根据电路图实现动态数码管 1. 对于动态数码管 首先需要知道的是,动态数码管是一种对数码管的实现方式,并不是数...

网友评论

      本文标题:数码管的动态与静态显示

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