[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);
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章