#include <stc15.h>    	            //包含支持IAP15W4K58S4单片机的头文件
#include <intrins.h>
#include <gpio.h>					 //I/O初始化文件
#define uchar unsigned char
#define uint  unsigned int
#include <display.h>
uchar cnt=0;
uchar second=0;
sbit k1=P3^2;
/*-------------T0初始化函数-----------------------------*/
void Timer0Init(void)   //50毫秒@12.000MHz，从STC-ISP在线编程软件定时器计算器工具中获得
{
	AUXR &= 0x7F;		//定时器时钟12T模式
	TMOD &= 0xF0;		//设置定时器模式
	TL0 = 0xB0;		   //设置定时初值
	TH0 = 0x3C;		   //设置定时初值
	TF0 = 0;		      //清除TF0标志
	TR0 = 1;		      //定时器0开始计时
}
void start(void)
{
	if(k1==1)     //SW17松开时，计时
	{
		TR0 = 1;
	}
	else
		 TR0 = 0;     // SW17合上时，停止计时
}
void main(void)
{
	gpio();           //I/O初始化
	Timer0Init();      //定时器初始化
	while(1)
	{
		display();      // 数码管显示
		start();        //启停控制
		if(TF0==1)     //50ms到了，清TF0，50ms计数变量加1
		{
			TF0=0;
			cnt++;
			if(cnt==20)        //1秒到了，清50ms计数变量，秒计数变量加1
			{
				cnt=0;
			    second++;
				if(second==100)	second=0;   // 100秒到了，秒计数变量清0
				Dis_buf[0]=second%10;        //秒计数变量值送显示缓冲区
				Dis_buf[1]=second/10;
			}
		}
	}
}
