//程序如下,建议仿真的时候把三极管最好去掉
//P3.2为开始和暂停,P3.3为清零,计时时间为99.99秒
#include
#include
#define uint unsigned int
#define uchar unsigned char
uchar code num[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf};
uchar data da[4];
sbit k1=P3^2;
sbit k2=P3^3;
uint zs,xs;
uchar a,mov;
//延时子程序
void d(uint i)
{uint j;
for(;i>0;i--)
for(j=110;j>0;j--);
}
//显示函数
void prt()
{
da[0]=zs/10;
da[1]=zs%10;
da[2]=xs/10;
da[3]=xs%10;
if(a==1) //控制小数点的位置
P0=num[da[a]]+0x80;
else
P0=num[da[a]];
d(5);
P2
再问: 好像最高到70多秒
再答: 昨天有些事出去了,不好意思 定时最高是99.99秒,到99.99秒后会停在99.99,然后按停止归零。 计时期间可以任意暂停。