#include "STC8H.h"
#include "intrins.h"
unsigned char NixieTable[]={ 0x03,/*0*/
0x9F,/*1*/
0x25,/*2*/
0x0D,/*3*/
0x99,/*4*/
0x49,/*5*/
0x41,/*6*/
0x1F,/*7*/
0x01,/*8*/
0x09,/*9*/};
void Delay1ms() //@11.0592MHz
{
unsigned char i, j;
i = 15;
j = 90;
do
{
while (--j);
} while (--i);
}
void DelayXms(unsigned int x) //@11.0592MHz
{
while (--x)
{
Delay1ms();
}
}
void Led_Code(unsigned long date) //显示函数
{
unsigned int c,d,e,f;
c=date/1000%10; //求千位
d=date/100%10; //求百位
e=date/10%10; //求十位
f=date%10; //求个位
P10=1;P11=1;P12=1;P13=1;
P2=NixieTable[c];//千
P10=0;P11=1;P12=1;P13=1;
DelayXms(1);
P10=1;P11=1;P12=1;P13=1;
P2=NixieTable[d];//百
P10=1;P11=0;P12=1;P13=1;
DelayXms(1);
P10=1;P11=1;P12=1;P13=1;
P2=NixieTable[e];//十
P10=1;P11=1;P12=0;P13=1;
DelayXms(1);
P10=1;P11=1;P12=1;P13=1;
P2=NixieTable[f];//个
P10=1;P11=1;P12=1;P13=0;
DelayXms(1);
}
void main()
{
P1M0 = 0x3f; P1M1 = 0xc0;
P2M0 = 0xff; P2M1 = 0x00;
while (1)
{
Led_Code(1234) ;
}
}
|