|
#include <REGX52.H>
sbit LATCH1=P2^2;
sbit LATCH2=P2^3;
void Delay(unsigned int xms)//@12.000MHz
{
unsigned char i, j;
while(xms--)
{
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
}
unsigned char3 NiXieTable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void NiXie(unsigned char Location,Number)
{
switch(Location)
{
case 1:P0=0xfe;LATCH2=1;LATCH2=0;break;
case 2:P0=0xfd;LATCH2=1;LATCH2=0;break;
case 3:P0=0xfb;LATCH2=1;LATCH2=0;break;
case 4:P0=0xf7;LATCH2=1;LATCH2=0;break;
case 5:P0=0xef;LATCH2=1;LATCH2=0;break;
case 6:P0=0xdf;LATCH2=1;LATCH2=0;break;
case 7:P0=0xbf;LATCH2=1;LATCH2=0;break;
case 8:P0=0x7f;LATCH2=1;LATCH2=0;break;
}
P2=NiXieTable[Number];
LATCH1=1;//段选
LATCH1=0;
Delay(1);
}
void main()
{
while(1)
{
NiXie(1,1);
NiXie(2,2);
NiXie(3,3);
}
}
|
|