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

📄 han.c

📁 用51编写的电子钟
💻 C
字号:
#include <reg51.h>
#include <lcd.c>
#include <key.c>
#define uchar unsigned char
#define uint unsigned int 
 uchar clock_week[16];
 uchar clock_time[13];
 uchar deda,sec,min,hour,week=1;
  uchar yea=8,mon=10,dat1=12;
/******************************************************/
void init (void)
{
  TMOD=0x01;
  TH0=-(50000/256);
  TL0=-(50000%256);
  ET0=1;
  TR0=1;
  EA=1;
 }
/*********************************************************/
void delay1ms(unsigned char k) 
{ unsigned  char i,j;
  for(i=0;i<k;i++)
  for(j=0;j<121;j++);
 }
/************************************************************/
void time0(void) interrupt 1
{
  TH0=-(50000/256);
  TL0=-(50000%256);									     
  deda++;
}
/**************************************************************/
void chang1(void)
{
 clock_week[0]=0x32;
 clock_week[1]=0x30;
 clock_week[2]=((yea/10)+0x30);
 clock_week[3]=((yea%10)+0x30);
 clock_week[4]=0x2d;
 clock_week[5]=((mon/10)+0x30);
 clock_week[6]=((mon%10)+0x30);
 clock_week[7]=0x2d;
 clock_week[8]=((dat1/10)+0x30);
 clock_week[9]=((dat1%10)+0x30);
 clock_week[10]=0x57;
 clock_week[11]=0x65; 
 clock_week[12]=0x65;
 clock_week[13]=0x6b;
 clock_week[14]=0x20;
 clock_week[15]=((week%10)+0x30);
}
/*************************************************************/
void chang2(void)
{
 clock_time[0]=0x54;
 clock_time[1]=0x69;
 clock_time[2]=0x6d;
 clock_time[3]=0x65;
 clock_time[4]=0x20;
 clock_time[5]=((hour/10)+0x30);
 clock_time[6]=((hour%10)+0x30);
 clock_time[7]=0x3a;
 clock_time[8]=((min/10)+0x30);
 clock_time[9]=((min%10)+0x30);
 clock_time[10]=0x3a;
 clock_time[11]=((sec/10)+0x30);
 clock_time[12]=((sec%10)+0x30);
}
/*************************************************************/
void conv(void)
{
  if(deda>=20){deda=0;sec++;}
  if(sec>=60){sec=0;min++;}
  if(min>=60){min=0;hour++;}
  if(hour>=24){hour=0;week++;}
  if(week>7){week++;}
 }
 /****************************************************************/
 
 void main(void)
 {
  uchar i,j,key_flag;
  init();
  init_lcd();
  while(1)
  {
   	conv();
	key_flag=getkeyvalue();
   	switch(key_flag)
	 {
	  case 0x84:if(++min>59)min=0;delay1ms(10);break;
	  case 0x82:if(++hour>23)hour=0;delay1ms(10);break;
	  case 0x81:if(++week>7)week=1;delay1ms(10);break;
	  default:break;
	  }
	//wr_lcd(comm,0x01);
    for(i=0;i<16;i++)
	 {
	   coordinate_1602(1,i+1);
	   chang1();
	   //printf("%bu",clock_week[i]);
	   wr_lcd(dat,clock_week[i]);
	  delay1ms(1);
	  }
	for(j=0;j<13;j++)
	 {
	   coordinate_1602(2,j+1);
	   chang2();
	  //printf("%bu",clock_time[i]);
	  wr_lcd(dat,clock_time[j]);
	  delay1ms(1);
	  }
  
  }
}

⌨️ 快捷键说明

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