#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;
 }
  }
}
 }

51单片机之闹钟制作相关推荐

  1. 如何在51单片机实现闹钟功能

    如何在51单片机实现闹钟功能 51单片机制作万年历过程中的闹钟部分,主要说明设计算法,软件特性可以在proteus上仿真.闹钟是人机交互的一部分,因此闹钟的实现与具体的人机交互方式息息相关,本系统采用 ...

  2. 51单片机流水灯制作

    文章目录 51单片机流水灯制作 初试与复试 初试 复试 制作 分工 制作之硬件 制作之软件 总结 51单片机流水灯制作 我不得不承认自己的毅力实在是太差了,原先准备一星期写一篇博客的目标一致没有实现, ...

  3. 【51单片机】DAC0832制作信号发生器(方波,三角波,锯齿波)

    [51单片机]DAC0832制作信号发生器(方波,三角波,锯齿波) 1 A/D与D/A 2 电路与元器件 3 源代码 3.1 程序开始 3.2 监视按钮操作 3.3 按钮控制显示波形 3.4 方波产生 ...

  4. 基于51单片机的无线遥控器制作

    基于51单片机的无线遥控器制作 资源链接:https://download.csdn.net/download/qq_41676952/10965512 目前单片机渗透到我们生活的各个领域,几乎很难找 ...

  5. 51单片机 74HC154译码器制作流水灯+Proteus仿真

    51单片机 74HC154译码器制作流水灯+Proteus仿真 Proteus仿真 实例代码 #include <reg52.h> #define uint unsigned int #d ...

  6. 51单片机最小系统制作笔记

    原文地址:51单片机最小系统制作笔记作者:忘忧角落 上面所示是51系列单片机最小系统全家福照片,组装完成后的照片如下: 本电路各输入.输出脚全部用插针引出,可以连接外围电路进行单片机电路的实验,芯片可 ...

  7. 51单片机最小系统制作完整流程

    目录 一.51单片机最小系统原理图 电源电路 晶振电路 按键复位电路 二.51单片机最小系统制作元器件表 三.51单片机最小系统实物展示 一.51单片机最小系统原理图 51单片机最小系统是51单片机能 ...

  8. 95、基于51单片机智能闹钟万年历 农历阳历温度电子时钟闹钟定时语音播报系统

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.pcb图 六.Protues仿真 七.程序 八.资料包括 摘要 本文介绍了基于STC8 ...

  9. 51单片机基于 Proteus 制作 10 以内加减的计算器

    近来,看到好几个要求用 51 单片机和数码管来设计计算器的题目: http://zhidao.baidu.com/question/2075214728949956868.html http://zh ...

最新文章

  1. 求表达式1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n的值
  2. 信息系统项目管理师-组织级项目管理与大型项目管理知识点
  3. 06-Java 本地文件操作
  4. myeclipse怎么运行c语言,windows下MyEclipse安装配置C/C++开发环境
  5. php javascript对象,JavaScript 对象
  6. Java对象类型转换
  7. List of Javascript Library / Ajax Framework / Web Application Framework
  8. Laravel 5.8 正式发布(文档翻译已启动)
  9. 微软 Small Basic
  10. redhat升级linux内核,用rpm方式升级RHEL6.1内核
  11. “编程能力差,90% 输在了数学上!”CTO:多数程序员都是瞎努力!
  12. Cesium:点击实体后在实体上方添加div,并随地球转动不断更新位置
  13. java wsimport 调用_webService----wsimport调用方式
  14. 【网络安全必看】如何提升自身WEB渗透能力?
  15. 解析力 (1 )MTF SFR
  16. 银行与银行之间的现金是如何流转的:央行支付清算系统
  17. 深度揭秘Java GC底层,这次让你彻底弄懂她
  18. how2heap(5):tcache_poisoning 2.31
  19. 论先后,知为先;论轻重,行为重
  20. android自定义插值器_自定义缓动插值器,可在Android中实现有意义的动作

热门文章

  1. 蜂窝状/六边形格子网格的定位/坐标转换
  2. 清理C盘的几种方法,帮你解决C盘爆红的烦恼
  3. spring alibaba seata 分布式事务实践
  4. 判断两个平面向量之间夹角是顺时针还是逆时针
  5. Linux系统基础操作管理
  6. PIE-engine 教程 ——使用阈值法加载指定区域的大蒜种植区域并统计其面积
  7. 【视频学习笔记】计算机视觉与深度学习_北京邮电大学_鲁鹏(⭐⭐⭐⭐⭐)
  8. 考生合格证书打印的部分代码和生成证书方法
  9. 3D成像方法 汇总(原理解析)— 双目视觉、激光三角、结构光、ToF、光场、全息...
  10. TikTok企业号的功能