⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 time.c

📁 电子时钟
💻 C
字号:
#include <reg51.h>
#include <init.h>

void Ymd(void);
extern void Delay(unsigned char i);
extern void LCD_Write_Com(unsigned char com);
extern void LCD_Write_Dat(unsigned char dat);
extern void LCDInit(void);
extern  void ring(void);

extern unsigned char count,time[3],date[3];
extern unsigned char wc,wd2,wd1,wd0;

/************定时初始化*********************/
void TimeInit(void)
{
 TMOD=0x11;//T1=16,T2=16,定时 方式1
 TH0=0x4c;
 TL0=0x00;
 TH1=0x4c;
 TL1=0x00;
 TR1=0;
 ET1=0;
}

/****************T0中断函数***************************/
void TISR_TIME_DATE(void) interrupt 1 using 2
{
  TH0=0x4c;
  if(++count>=20)
       {
         count=0;
         if(++time[2]>=60)
         {
	      time[2]=0;
	      if(++time[1]>=60)
	       {
	        time[1]=0;
		    ring();
		    if(++time[0]>=24)
		     { 
		       time[0]=0;
		       date[2]++;	
			   if(date[1]==2)
			       {
			       if(((date[0]+2000)%400==0)||(((date[0]+2000)%4==0)&&((date[0]+2000)%100!=0))) //润年
				     {
				     if(date[2]>29)
				        Ymd();
				     }  
				   else       //不是润年
			         { 
				     if(date[2]>28) 
				        Ymd();
				      }
			       }
			   else if((date[1]==1)||(date[1]==3)||(date[1]==5)||(date[1]==7)||(date[1]==8)||(date[1]==10)||(date[1]==12))
			      {
			    if(date[2]>31) 
				   Ymd();
			       }
			   else if((date[1]==4)||(date[1]==6)||(date[1]==9)||(date[1]==11))
			       {
			    if(date[2]>30) 
				   Ymd();
			       }
		     }
	       }
	     }
      }
}

/****************T0中断函数***************************/
void TISR_Watch(void) interrupt 3 using 1
{
  TH1=0x4c;
  if(++wc>=20)
  {
    wc=0;
	if(++wd2>=60)
	{
	  wd2=0;
	  if(++wd1>=60)
	   {
	     wd1=0;
		 if(++wd0>=24)
			wd0=0;
	   }
	}
  }
}

 
/**********************年月日*****************************/
void Ymd(void)
{
   date[2]=0;
   if(++date[1]>12)
    {
      date[1]=0;
 	  if(++date[0]>=100)
    	  date[0]=0;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -