×
单片机 > 单片机程序设计 > 详情

51单片机 数码动态显示

发布时间:2020-05-27 发布时间:
|

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define SEG   P0

sbit latch1=P2^7;                 //段驱动锁存信号

sbit latch2=P2^6;                 //位驱动锁存信号

 

uchar code DSY_CODE[]=

{

      0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f      

};

 

void DelayMS(uint x)

{

       uchar t;

       while(x--)

       {

             for(t=120;t>0;t--);

       }

}

 

void main()

{

       uchar i=0;

       uchar display[4];

       uchar bit_com = 0x01;

       display[0]=DSY_CODE[2];

       display[1]=DSY_CODE[0];

       display[2]=DSY_CODE[1];

       display[3]=DSY_CODE[2];

       while(1)

       {

              P0=display[i];               //段控制

              latch1=1;

              latch1=0;

             

              P0=~bit_com;               //位选通控制

              latch2=1;

              latch2=0;

             

              DelayMS(4);

             

              i++;

              bit_com = bit_com<<1;

              if(i==4)

                     i=0;

              if(bit_com == 0x10)

                     bit_com =0x01;

       }

}




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析