51看看

给你改了一下不能编译的原因,没有看你功能能不能实现。你复制过去看看吧(有两个警告,可能是你定义的东西没有用,可以不用管的)

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

sbit dula=P2^6;

sbit wela=P2^7;

uchar code table[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

uint Hhour,Lhour,Hminute,Lminute,Hsecond,Lsecond;

uchar num=0,num1=0,num2=0,num3=0;

void delayms(uint ms);

void show(uint,uint,uint,uint,uint,uint);

void main()

{ //?÷

TMOD=0x01; //?è?ö¨?±?÷

TH0=(65536-45872)/256;

TL0=(65536-45872)%256;

EA=1; //?¨?±?÷×ܿ?

ET0=1; //?¨?±?÷0?ж?

TR0=1; //?¨?±?÷0

Hhour=1,Lhour=2,Hminute=0,Lminute=0,Hsecond=0,Lsecond=0; //?èʼ?±12:00:00

while(1)

{

void show(uint Hhour,uint Lhour,uint Hminute,uint Lminute,uint Hsecond,uint Lsecond);

}

}

void delayms(uint ms)

{

uint i,j;

for(j=ms;j>0;j--)

for(i=115;i>0;i--);

}

void show(uint a1,uint a2,uint a3,uint a4,uint a5,uint a6)

{

wela=1; //һλ?

P0=0x7f;

wela=0;

P0=0xff;

dula=1;

P0=table[a1];

dula=0;

delayms(5);

wela=1; //?ڶ?λ?

P0=0xbf;

wela=0;

P0=0xff;

dula=1;

P0=table[a2];

dula=0;

delayms(5);

wela=1; //λ?

P0=0xdf;

wela=0;

P0=0xff;

dula=1;

P0=table[a3];

dula=0;

delayms(5);

wela=1; //λ?

P0=0xef;

wela=0;

P0=0xff;

dula=1;

P0=table[a4];

dula=0;

delayms(5);

wela=1; //λ?

P0=0xf7;

wela=0;

P0=0xff;

dula=1;

dula=table[a5];

dula=0;

delayms(5);

wela=1; //?ùλ?

P0=0xfb;

wela=0;

P0=0xff;

dula=1;

dula=table[a6];

dula=0;

delayms(5);

}

void T0_time()interrupt 1

{

TH0=(65536-45872)/256;

TL0=(65536-45872)%256;

num++;

if(num==20) { //

num==0;

num1++;

Lsecond=num1%10;

Hsecond=num1/10;

if(num1==60) { //·?

num1=0;

num2++;

Lminute=num2%10;

Hminute=num2/10;

if(num2==60) { //?±

num2=0;

num3++;

Lhour=num3%10;

Hhour=num3/10;

if(num3==3) //С?±Ϊ0

num3=0;

}

}

}

}