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