51单片机之闹钟制作

简介:
#include<reg51.h>


sbit Key0=P2^0; //  控制开关
sbit Key1=P2^1;   // 控制调节的变量
sbit Key2=P2^2; //  增加
sbit Key3=P2^3;   //  减少


unsigned char code Dx[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                         0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};


 unsigned char code Wx[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};


 unsigned  char playdata[8]={0};


   char min=0;
 char ms=0;
   char h=0; 
 void main()
 {
  unsigned int i;
unsigned  char xuanzhe=0;
unsigned char j;
    EA=1;
    TMOD=0x10;
TH1=0xB8;
TL1=0x00;
ET1=1;
TR1=1;
while(1)
{
      if(!Key0)
 {
    for(i=1000;i>0;i--);
if(!Key0)
{
     EA=~EA;
 while(!Key0);
 }
 }
 if(!Key1)
 {
    for(i=1000;i>0;i--);
if(!Key1)
{
     xuanzhe++;
 while(!Key1);
 }
 if(xuanzhe>3)
 xuanzhe=0;
 }
 if(!Key2)
 {
    for(i=1000;i>0;i--);
if(!Key2)
{
     switch(xuanzhe)
 {
    case 1:
{
ms++;
if(ms>=60)
{
    ms=0;
min++;
if(min>=60)
{
   min=0;
h++;
if(h>=24)
h=0;
}
}
break;
}


 case 2:
 {
 min++;
 if(min>=60)
 {
    min=0;h++;
if(h>=24)
h=0;
 }
 break;
 }
  case 3:
  {
  h++;
  if(h>=24)
   h=0;
  break;
  }
 }


 while(!Key2);
 }
 }


 if(!Key3)
 {
    for(i=1000;i>0;i--);
if(!Key3)
{
     switch(xuanzhe)
 {
    case 1:
{
 ms--;
if(ms<=0)
{
ms=59;
min--;
if(min<=0)
{
  
  min=59;
  h--;
  if(h<=0)
  {
   h=23;
}

}

}
break;
}
 case 2:
 {
  min--;
 if(min<0)
 {
   h--;
if(h<0)
h=23;
 }
 break;
 }
  case 3:
  {
  h--;
  if(h<0)
  h=23;
  break;
  }
 }
 while(!Key3);
}
}
  playdata[0]=Dx[h/10];
playdata[1]=Dx[h%10];
playdata[2]=0x80;
playdata[3]=Dx[min/10];
playdata[4]=Dx[min%10];
playdata[5]=0x80;
playdata[6]=Dx[ms/10];
playdata[7]=Dx[ms%10];
for(i=0;i<8;i++)
{
     P0=0x00;
    P0=playdata[i];
             P1=Wx[i];
j=200;
while(j--);
 


}


}
 }
 void Timer1()   interrupt 3
 {
    static  unsigned char cnt=0;
    TH1=0xB8;
TL1=0x00;
cnt++;
if(cnt>=50)
{
  cnt=0;
  ms++;
  if(ms>=60)
  {
     ms=0;
 min++;
 if(min>=60)
 {
    min=0;
h++;
if(h>=24)
h=0;
 }
  }
}
 }


 
目录
相关文章
|
传感器 存储 编解码
基于单片机定时闹钟设计
基于单片机定时闹钟设计
199 0
基于单片机定时闹钟设计
|
7月前
|
编译器 C语言 开发者
单片机原理与应用:探索微型计算机世界
单片机原理与应用:探索微型计算机世界
59 1
|
7月前
|
数据采集 数据处理 C语言
单片机:探索其原理、应用与编程实践
单片机:探索其原理、应用与编程实践
101 1
|
7月前
|
物联网
STC51单片机-实验开发装置仿真-物联网应用系统设计
STC51单片机-实验开发装置仿真-物联网应用系统设计
144 0
|
7月前
|
物联网
STC51单片机-控制LED闪亮的仿真-物联网应用系统设计
STC51单片机-控制LED闪亮的仿真-物联网应用系统设计
86 0
|
2月前
|
传感器 存储 物联网
单片机的原理与应用
单片机是一种将计算机的CPU、存储器、输入输出接口等功能集成在一块芯片上的微型计算机,被广泛应用于各类控制系统和智能设备中。
71 5
|
5月前
|
传感器 存储 程序员
《单片机原理与应用及C51编程技术》期末复习笔记
《单片机原理与应用及C51编程技术》期末复习笔记
|
7月前
|
传感器 人工智能 物联网
单片机:编程实践与应用探索
单片机:编程实践与应用探索
70 4
|
7月前
|
存储 芯片
【期末不挂科-单片机考前速过系列P11】(第十一章:15题速过串行口的工作原理和应用)经典例题盘点(带图解析)
【期末不挂科-单片机考前速过系列P11】(第十一章:15题速过串行口的工作原理和应用)经典例题盘点(带图解析)
|
7月前
|
传感器 安全 物联网
单片机在智能家居系统中的应用研究
单片机在智能家居系统中的应用研究
214 1