#include "stc8h.h" //包含此头文件后,不需要再包含"reg51.h"头文件
#include "intrins.h"
unsigned char LEDBuf[] = { 1,2,3};
unsigned char NixieTable[]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09};
void Delay(unsigned int xms);
void Nixie()
{
static unsigned char i;
switch(i)
{
case 0:
P2=NixieTable[LEDBuf[0]];
P14=0;P15=1;P33=1;
Delay(1);//用于稳定
P2=0x00; //在段选和位选之间添加的清零,用于消影
i++;
break;
case 1:
P2=NixieTable[LEDBuf[1]];
P14=1;P15=0;P33=1;
Delay(1);//用于稳定
P2=0x00; //在段选和位选之间添加的清零,用于消影
i++;
break;
case 2:
P2=NixieTable[LEDBuf[2]];
P14=1;P15=1;P33=0;break;
Delay(1);//用于稳定
P2=0x00; //在段选和位选之间添加的清零,用于消影
i=0;
}
}
void main()
{
P0M0 = 0x00; P0M1 = 0x00;
P1M0 = 0x00; P1M1 = 0x00;
P2M0 = 0x00; P2M1 = 0x00;
P3M0 = 0x00; P3M1 = 0x00;
P4M0 = 0x00; P4M1 = 0x00;
P5M0 = 0x00; P5M1 = 0x00;
P6M0 = 0x00; P6M1 = 0x00;
P7M0 = 0x00; P7M1 = 0x00;
while(1)
{
Nixie();
Delay(2);
}
}
void Delay(unsigned int xms)
{
unsigned char data i, j;
while (--xms)
{
i = 15;
j = 90;
do
{
while (--j);
}
while (--i);
}
}
|