#include "AT89X51.H"
unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char code digittab[][8]={
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*" ",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*" ",0*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},/*"_",0*/
{0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF},/*"_",0*/
{0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF},/*"_",0*/
{0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF},/*"_",0*/
{0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF},/*"_",0*/
{0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"_",0*/
{0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"_",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"_",0*/
{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},/*"|",0*/
{0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},/*"|",0*/
{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},/*"|",0*/
{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},/*"|",0*/
{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},/*"|",0*/
{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},/*"|",0*/
{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},/*"|",0*/
{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},/*"|",0*/
{0x18,0x1C,0x1A,0x18,0x18,0x18,0x7E,0x00},/*"1",1*/
{0x18,0x24,0x42,0x20,0x10,0x08,0x04,0x7E},/*"2",2*/
{0x18,0x24,0x20,0x10,0x10,0x20,0x24,0x18},/*"3",3*/
{0x08,0x0C,0x0C,0x0A,0x0A,0x1E,0x08,0x00},/*"4",4*/
{0x1E,0x02,0x02,0x0E,0x10,0x10,0x0E,0x00},/*"5",5*/
{0x0C,0x12,0x02,0x0E,0x12,0x12,0x0C,0x00},/*"6",6*/
{0x1E,0x12,0x10,0x08,0x04,0x04,0x04,0x00},/*"7",7*/
{0x0C,0x12,0x12,0x0C,0x12,0x12,0x0C,0x00},/*"8",8*/
{0x0C,0x12,0x12,0x1C,0x10,0x12,0x0C,0x00},/*"9",9*/
{0x00,0x24,0x5A,0x81,0x81,0x42,0x24,0x18},
};
unsigned int timecount;
unsigned char cnta;
unsigned char cntb;
void main(void)
{
TMOD=0x01;
TH0=(65536-3000)/256;
TL0=(65536-3000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{;
}
}
void t0(void) interrupt 1 using 0
{
TH0=(65536-2000)/256;
TL0=(65536-2000)%256;
P1=0XFF; //消除显示重影问题
P2=digittab[cntb][cnta];
P1=~(0x01<<cnta);
cnta++;
if(cnta==8)
{
cnta=0;
}
timecount++;
if(timecount==300)
{
timecount=0;
cntb++;
if(cntb==28)
{
cntb=0;
}
}
}
评论0