可能有人说,现在都进入LCD时代了,这个东西没有用了,其实这个东西还是很有用的,我们总不能总是使用别人写好的源代码吧。就算是自已写源代码,这个真值表最少你也要写一回,以方便以后调用。

七段码真值表:

 

数字       共阳       共阴                            对应的数据位

0         0x0C       0X3F                dp   g     f      e      d     c     b     a

1         0XF9      0X06                  7     6     5     4     3     2     1     0

2         0XA4      0X5B

3         0XB0      0X4F                                                   

4         0X99      0X66

5         0X92      0X6D

6         0X82      0X7D                                                                   

7         0XD8     0X27                                                    

8         0X80      0X7F

9         0X90      0X6F

                       

七段码真值表_真值表

下边是我自已写的一个七段码显示程序和效果图:

#include <REG52.H>
#include <intrins.h>
#define uchar unsigned char
//
#define data P0
sbit n1 =P2^0;
sbit n2 =P2^1;
sbit n3 =P2^2;
sbit n4 =P2^3;
sbit n5 =P2^4;
sbit n6 =P2^5;
uchar x[6]={0xff,0xff,0xff,0xff,0xff,0xff,};
void delay(uchar n) //n=1时延时1ms
{uchar a,b;
for(b=n;b>0;b--)
for(a=47;a>0;a--);
/*
uchar a,b,c;
for(c=n;c>0;c--)
for(b=142;b>0;b--)
for(a=2;a>0;a--);
*/
}
uchar number_(uchar x) //数码管显示值 x=0~10
{
uchar code num[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90,0xff};
return num[x];
}
void nu_display(uchar a,uchar n) // a=0~5,n=0~10
{switch(a){
case 0:x[0]=n;
case 1:x[1]=n;
case 2:x[2]=n;
case 3:x[3]=n;
case 4:x[4]=n;
default:x[5]=n;
} }
void display7(uchar n) //显示100MS时间
{
unsigned char a,b,c;
for(c=n;c>0;c--)
for(b=19;b>0;b--)
for(a=130;a>0;a--){

P0=number_(x[0]);
n1=0;
delay(1);
n1=1;
P0=number_(x[1]);
n2=0;
delay(1);
n2=1;
P0=number_(x[2]);
n3=0;
delay(1);
n3=1;
P0=number_(x[3]);
n4=0;
delay(1);
n4=1;
P0=number_(x[4]);
n5=0;
delay(1);
n5=1;
P0=number_(x[5]);
n6=0;
delay(1);
n6=1; }
}
void main()
{
for(;;){

nu_display(0,1);
nu_display(1,2);
nu_display(2,3);
nu_display(3,4);
nu_display(4,5);
nu_display(5,6);

display7(1); //显示500MS
nu_display(5,5);
display7(1); //显示500MS
nu_display(5,4);
display7(1); //显示500MS }
}



 ​

七段码真值表_真值表_02