基于51单片机的多功能时钟设计

#基于51单片机的时钟设计

此文章为某年某月某次单片机作业,一点拙见

首先:再keil上写下代码,用protues调试(不懂得百度搜索“keil与protues联机调试”)
使用的芯片和器件图中自己找
这次没有使用38译码器,直接将数码管引脚全部放在单片机上
基于51单片机的多功能时钟设计_第1张图片
不多说,上部分代码和图:
全部代码在另一个博文,关注后在本人主页可查看哦!!!
全部代码在另一个博文,关注后在本人主页可查看哦!!!
全部代码在另一个博文,关注后在本人主页可查看哦!!!

/***************主函数***************/

void main()
{						
TMOD=0x01; 	 
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;  /*10ms*/
EA=1;
ET0=1;
TR0=1;
	
	
 while(1)
 {
    static uChar h=0;
    
    if(Key4==0)                 //K4功能:12小时/24小时/日期切换
      {
       Delay(10); 
       if(Key4==0)
		 	  {
           while(!Key4);
           h++;
			  }
      }
		if(h%3==0)
      {
       Dispaly1(second,minute,hour);      //显示24小时制
       Keyscan1(); 
      }  
    if(h%3==1)
      {
       Dispaly1(second,minute,hour-12);   //显示12小时制
       Keyscan1(); 
      }  
    if(h%3==2)
      {
       Dispaly2(year,month,day);          //显示日期
       Keyscan2();
      }
     if(Key3==0)
      { 
       Delay(d); 
       if(Key3==0)
       while(!Key3);
		   flag++;
      }			
    	
	   if(flag%2==0)  //记录K3按下后flag加一
		 {
			 flag1=0;     
	   }
	   if(flag%2==1)
	   {
	   	flag1=1;		
	   }
			
/***********闹钟设定时间21:31开始响,无人应答30s后关闭*/
		 
		if(minute==31&&(second>0&&second<30)&&hour==21&&flag1==0)
			Buzzer=0;//蜂鸣器响
		else
			Buzzer=1;//蜂鸣器关
  }
}
————————————————
版权声明:本文为CSDN博主「傅里叶也头大」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43625266/article/details/104999242

基于51单片机的多功能时钟设计_第2张图片

喜欢请点赞哦!

你可能感兴趣的:(单片机,单片机)