[51]数码管

//数码管跑马灯
#include<reg52.h>
#define uint unsigned int
uint led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //p0端0到f, 0x7f为点
uint ledx[]={0x00,0x0e,0x0d,0x0b,0x07,0xff} ;             //p2端都亮,到都灭
void delay(unsigned int xms)                                      //延时程序
{
    unsigned int x,y;
    for(x=xms;x>0;x--)
        for(y=110;y>0;y--);
}
void main(void)
{    unsigned int a=10000;
    while(1)
    {
        int tem=1;
        int i=0;
        while(1)
        {      
           P0=led[i];
           P2=ledx[tem];
           delay(800);
           if(tem==4&&i==9){tem=1;i=0;continue;}
           else if(tem==4){tem=1;i++;continue;}
           else if(i==9){i=0;tem++;continue;}
           tem++;
           i++;
        }
    }
}


//显示1314
#include<reg52.h>
#define uint unsigned int
uint led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //p0端0到f,0x7f为点
uint ledx[]={0x00,0x0e,0x0d,0x0b,0x07,0xff} ;                //p2端都亮,到都灭
void delay(unsigned int xms)                                         //延时程序
{
    unsigned int x,y;
    for(x=xms;x>0;x--)
        for(y=110;y>0;y--);
}
void main(void)
{    
    while(1)
    {
       P2=ledx[1];
       P0=led[1];
       delay(5);
       P2=ledx[2];
       P0=led[3];
       delay(5);
       P2=ledx[3];
       P0=led[1];
       delay(5);
       P2=ledx[4];
       P0=led[4];
       delay(5);
    }
}


猜你喜欢

转载自blog.csdn.net/echosun1996/article/details/51736952