单片机 简易秒表

利用单片机定时器来做一个简易秒表。
1.用4只数码管显示分、秒。
2.用K1实现时间的开始/暂停功能。
3.用K2实现时间的清零功能。
板子是stc15f2k60s2

#include<REG51.H>
#define uchar unsigned char
#define uint unsigned int
sbit k1=P2^0;
sbit k2=P2^1;
uchar a=0;//计中断次数
uchar second=0,minute=0;
void delayms(uint i) //1ms延时程序
{
uint j;
for(;i>0;i--)
{
for(j=0;j<125;j++)
{;}
}
}
主程序:
void main(void)
{
TMOD=0X01;
TH0=(65536-50000)/256;//定时50ms
TL0=(65536-50000)%256;
ET0=1; EA=1;
TR0=1;
while(1)
{
if(K1==0)
{
delayms(10);
if(K1==0) { TR0=!TR0;while(K1==0);}//暂停/启动
}
if(K2==0)
{
delayms(10);
if(K2==0) { a=0;second=0;minute=0;}//清0
}
display();//显示函数,与硬件有关
}
}
中断程序
void timer0 ()inretrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;
if(a==20)
{
a=0;
second++;
if(second==60){second=0;minute++;}
}
}追问

运行不出啊

温馨提示:答案为网友推荐,仅供参考
相似回答