六位数码管共阴级显示(0-F)
unsigned char code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0x00};
例子:六位数码管从一自动计数
首先是关于六位数码管的数字显示问题
段选位选接口
sbit DX=P2^0;
sbit WX=P2^1;
显示六位无符号整数
void displayint(unsigned long n)//显示6位无符号整数
{
unsigned char temp;
temp=0xdf;
if(n==0)
{ P0=0XFF; /*消除P0的值*/
WX=1; /*位选输入有效*/
P0=temp; /*输出位选码*/
WX=0; /*位选锁存*/
P0=0; /*消除P0的值*/
DX=1; /*段选输入有效*/
P0=table[n];/*输出段码*/
DX=0; /*段码锁存*/
}
while(n)
{
P0=0XFF; /*消除P0的值*/
WX=1; /*位选输入有效*/
P0=temp; /*输出位选码*/
WX=0; /*位选锁存*/
P0=