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

📄 clock.c

📁 单片机C51控制
💻 C
字号:
#include<reg51.h>
#include<lcd.h>
#include<keyboard.h>
#include<keyservice.h>
#define intot1 P2_3
sbit P2_3=P2^3;
char second=00,minute=00,hour=00;

void delay_50ms(unsigned int t)//延时程序,延时时间=t*50ms
{
unsigned int j;   
for(;t>0;t--) 
   for(j=6245;j>0;j--) 
   ;
}


void timer0() interrupt 1 using 1 //定时/计数器0中断服务程序
{
  intot1=!intot1;
  TH0=15536/256;
  TL0=15536%256;
}


void timer1() interrupt 3 using 2//定时/计数器1中断服务程序
{ 

  if(second==59)
  {
    second=00;
    write_LCD_command(0x86);
    display_LCD_number(second);
	if(minute==59)
	{
	  minute=00;
      write_LCD_command(0x83);
      display_LCD_number(minute);
	  if(hour==23)
	  {
	    hour=00;
        write_LCD_command(0x80);
        display_LCD_number(hour);
	  }
	  else 
      {
        hour++;
        write_LCD_command(0x80);
        display_LCD_number(hour);
	  }
	  }
	  
	  	else 
    {
      minute++;
      write_LCD_command(0x83);
      display_LCD_number(minute);
     }
	 
  }
  else 
  {
    second++;
    write_LCD_command(0x86);
    display_LCD_number(second);
  }
}

void s01service(void)//按键s1用于修改时间的小时位
{
   if(hour==23)
	  {
	    hour=00;
        write_LCD_command(0x80);
        display_LCD_number(hour);
	  }
	  else 
      {
        hour++;
        write_LCD_command(0x80);
        display_LCD_number(hour);
	  }
  delay_50ms(5);
}

void s02service(void)//按键s2用于修改时间的分钟位
{
  if(minute==59)
	{
	  minute=00;
      write_LCD_command(0x83);
      display_LCD_number(minute);
	  
	 }
	  	else 
    {
      minute++;
      write_LCD_command(0x83);
      display_LCD_number(minute);
     }
   delay_50ms(5);
	 
}


void main(void)
{ 
  SP=0x31;
  IP=0x08;
  IE=0xff;
  TMOD=0x61;
  TH0=15536/256;
  TL0=15536%256;
  TH1=246;
  TH0=246;
  intot1=1;
  TR0=1;
  TR1=1;
  init_LCD();
  clear_LCD();
  display_LCD_number(hour);
  write_LCD_data(':');
  display_LCD_number(minute);
  write_LCD_data(':');
  display_LCD_number(second);
  while(1)
  { unsigned char key;
    key=keyboard();
	if(key!=00)
	{
	 EA=0;
	 keyservice(key);
	 EA=1;
	 }
  }
}

⌨️ 快捷键说明

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