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;
}
}
}
}