51单片机秒表设计

// 51单片机秒表,显示时间0000-9999秒,启动和停止(停止后再次启动和复位)

# include & ltreg52.h & gt

#定义uint无符号整数

#定义uchar无符号字符

uchar码表[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x 71 };

乌恰尔·白、史;

uint a1,a2;

sbit d1=p3^0;

sbit d2=p3^1;

sbit d3=p3^2;

sbit d4=p3^3;

sbit key=p3^5;

sbit key1=p3^7;

比特?j;

uint?y;

void main()

{

TMOD = 0x 01;

TH0 =(65536-10000)/256;

TL0 =(65536-10000)% 256;

EA = 1;

ET0 = 1;

TR0 = 1;

白= 0;

Shi = 0;

while(1)

{

if(key==0)

{

j = 0;

}

if(key1==0)?

{

j = 1;a2 = 0;

}

}

}

无效定时器0()中断1

{

TH0 =(65536-10000)/256;

TL0 =(65536-10000)% 256;

a 1++;

y++;

if(a1==100)?

{

a 1 = 0;

if(j==1)?a2++;

if(a2 & gt;= 10000)a2 = 0;?

}

d 1 = 1;D2 = 1;D3 = 1;D4 = 1;

if(y==1)

{

p 1 = table[a2 % 10000/1000];?

D4 = 0;

}

如果(y==2)

{

p 1 =表[a2 % 1000/100];

D3 = 0;

}

如果(y==3)

{

p 1 =表[a2 % 100/10];

D2 = 0;

}

如果(y==4)

{

p 1 =表[a2 % 10];?

d 1 = 0;

y = 0;

}

}