second.c

来自「lcd16x2的驱动程序,另外有proteus制作的模型,万年历」· C语言 代码 · 共 76 行

C
76
字号
#include <reg52.h>
#include "16x2_lcd.h"

unsigned char ms;

void Second_Initial()     //使用定时器0;
{
  EA=1;
  ET0=1;
  TMOD=0x01;
  TF0=0;

  TH0=0x3c;     //中断一次需50ms
  TL0=0xaf;
 

  TR0=1;    //start
  
  ms=0;
  
}




void Second_Service() interrupt 1
{
//deal interrupt  
    TF0=0;
    TH0=0x3c;     //中断一次需50ms
    TL0=0xaf;
//

    ms++;   


   if(ms==20)
       {
	    datatime[13]++;      //1 second
		ms=0;
		}
   if(datatime[13]==10)
         {
		  datatime[13]=0;
		  datatime[12]++;
		  }
   if(datatime[12]==6)
         {
		  datatime[12]=0;
		  datatime[11]++;
         }
   if(datatime[11]==10)
         {
		  datatime[11]=0;
		  datatime[10]++;
         }
    if(datatime[10]==6)
         {
		  datatime[10]=0;
		  datatime[9]++;
         }
	if(datatime[9]==10)
         {
		  datatime[9]=0;
		  datatime[8]++;
         }
	if(datatime[8]==2&datatime[9]==4)    //24小时
         {
		  datatime[8]=0;
		  datatime[9]=0;
		  datatime[7]++;
         }
         

}

⌨️ 快捷键说明

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