51单片机数码管显示日期程序

譬如2014-07-06,正好 八个数码管,全用上,STC89C51,随便发个程序,我再改改,

#include <reg52.h>

#define uint unsigned int

#define uchar unsigned char

uchar code shu[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void delay(uint z)

{

    uchar x,y;

    for(x=0;x<z;x++)

        for(y=0;y<114;y++);

}


void display(void)

{

        P2=0xff;

        P0=shu[2];

        P2=0xfe;

        delay(1);


        P2=0xff;

        P0=shu[0];

        P2=0xfd;

        delay(1);


        P2=0xff;

        P0=shu[1];

        P2=0xfb;

        delay(1);


        P2=0xff;

        P0=shu[4];

        P2=0xf7;

        delay(1);


        P2=0xff;

        P0=shu[0];

        P2=0xef;

        delay(1);


        P2=0xff;

        P0=shu[7];

        P2=0xdf;

        delay(1);


        P2=0xff;

        P0=shu[0];

        P2=0xbf;

        delay(1);


        P2=0xff;

        P0=shu[6];

        P2=0x7f;

        delay(1);

}

void main(void)

{   

    while(1)

    {

        display();

    }

}

温馨提示:答案为网友推荐,仅供参考
相似回答