3.数码管显示

Posted on 2022-11-27 22:19  站地看蓝天哟  阅读(111)  评论(0)    收藏  举报

1.静态数码管显示

#include<regx52.h>

unsigned char NixieTable[]={0x3f,0x06,0x5B,
                            0x4F,0x66,0x6D,
                            0x7D,0x07,0x7F,
                            0x6F,0x77,0x7C,
                            0x39,0x5E,0x79,
                            0x71,0x00};
void Nixie(unsigned char Location,Number){
    switch(Location){
        case 1:    P2_4=1;P2_3=1;P2_2=1;break;
        case 2:    P2_4=1;P2_3=1;P2_2=0;break;
        case 3:    P2_4=1;P2_3=0;P2_2=1;break;
        case 4:    P2_4=1;P2_3=0;P2_2=0;break;
        case 5:    P2_4=0;P2_3=1;P2_2=1;break;
        case 6:    P2_4=0;P2_3=1;P2_2=0;break;
        case 7:    P2_4=0;P2_3=0;P2_2=1;break;
        case 8: P2_4=0;P2_3=0;P2_2=0;break;
    }
    P0=NixieTable[Number];
}



void main()
{    
    while(1){            
        Nixie(3,0);            
    }
}

2.动态数码管 ---清零

#include<regx52.h>

unsigned char NixieTable[]={0x3f,0x06,0x5B,
                            0x4F,0x66,0x6D,
                            0x7D,0x07,0x7F,
                            0x6F,0x77,0x7C,
                            0x39,0x5E,0x79,
                            0x71,0x00};

void Nixie(unsigned char Location,Number){
    switch(Location){
        case 1:    P2_4=1;P2_3=1;P2_2=1;break;
        case 2:    P2_4=1;P2_3=1;P2_2=0;break;
        case 3:    P2_4=1;P2_3=0;P2_2=1;break;
        case 4:    P2_4=1;P2_3=0;P2_2=0;break;
        case 5:    P2_4=0;P2_3=1;P2_2=1;break;
        case 6:    P2_4=0;P2_3=1;P2_2=0;break;
        case 7:    P2_4=0;P2_3=0;P2_2=1;break;
        case 8: P2_4=0;P2_3=0;P2_2=0;break;
    }
    P0=NixieTable[Number];
}

void Delay(unsigned int xms)        //@12.000MHz
{
    unsigned char i, j;
    while(xms--){
            i = 2;
            j = 239;
            do
            {
                while (--j);
            } while (--i);
    }

}

void main()
{    
    while(1){        
        Nixie(1,0);
        Delay(2);        
        Nixie(2,1);
        Delay(2);    
        Nixie(3,2);    
        Delay(2);            
        Nixie(4,3);    
        Delay(2);    
        Nixie(5,4);
        Delay(2);    
        Nixie(6,5);
        Delay(2);    
        Nixie(7,6);
        Delay(2);    
        Nixie(8,7);
        Delay(2);    
    }
}

3.TM1640驱动数码管:

  优点:自带显存、扫描电路,单片机只要告诉他显示什么即可

4.74HC595 也可以