基于51单片机的数字电子时钟

单片机课程设计要求使用51单片机完成一个电子时钟,要求满足基本功能的同时增添丰富的功能参考了很多大佬的方案代码才勉强完成,工程文件下载点击此链接欢迎交流。如遇下载问题可以留言通讯邮箱,联系作者发送压缩文件。
链接:https://pan.baidu.com/s/1knwCMcBalNPlbAU6IScuoQ
提取码:7a9i
该时钟完成的功能:数码管动态显示;蜂鸣器闹钟;蜂鸣器音乐;按键控制
文档包括:Proteus仿真、Keil5开发的C语言代码、AD16绘制的PCB工程
参考链接:
基于单片机的电子时钟设计(keil+protues仿真,含代码及原理图)
51单片机蜂鸣器播放小星星两只老虎欢乐颂 源程序

硬件方案

主控是STC89C51单片机、七段显示数码管作为显示电路、L7805作为电源、7个按键构成输入、5V无源蜂鸣器输出音乐

功能按键

K1:切换显示内容 时间 日期 闹钟 无(待拓展 可以接个DHT11 再显示温湿度)
K2:切换设置位
K3:音乐播放 按下后直接播放选择的音乐 只能在开启闹钟的情况下才能播放
K4:音乐切换按键 一共4首音乐 欢乐颂 两只老虎 小星星 生日快乐
K5:减1
K6:加1
K7:闹钟开关 闹钟显示F为关 T为开 播放音乐时长按可以退出播放 此时闹钟自动关闭

仿真图

使用Proteus做代码和功能的仿真

PCB板

使用Altium Designer16绘制PCB板,对技术要求不高,走线电流能满足要求就可以。封装库可以去立创商城中找对应元器件下载文件

C语言代码

使用keil编译的代码 但是上传后直接显示注释乱码了,所以就贴一个主函数的

/***************************************************
主函数
***************************************************/
void main()
{Timer0_Init();Timer1_Init();display_flag = 0;change_flag = 0;music_flag = 0;music_play_flag = 0;alarm_clock_flag = 0;
while(1)
{Key_scan();Key_play_judge();switch (display_flag){case 0:Display_Time(second,minute,hour);break;case 1:Display_Time(day,month,year);   break;case 2:Display_Alarm_Clock();         break;default: break;}if(alarm_clock_flag&&hour_alarm==hour&&minute_alarm==minute)Buzzer_music();//闹钟时间到 开启音乐if(music_play_flag&&alarm_clock_flag)Buzzer_music();//开启音乐&音乐播放按键if(minute==0&&second==0)Buzzer_Didi(); //整点报时
}
}

实物效果

PCB文件交给嘉立创打板,回来的板子自己焊接,有一些小问题,不过板子一次就成功了

基于51单片机的数字电子时钟相关推荐

  1. 基于51单片机的LCD1602电子时钟

    摘要: 51系列单片机是各单片机中最为典型和最有代表性的一种.由RAM ,ROM,CPU构成,定时,计数和多种接口于一体的微控制器.本次设计的数字电子时钟采用了STC89C52芯片进行控制,使用DS1 ...

  2. 基于51单片机的自动浇花系统设计/基于51单片机的智能抽奖系统控制设计/基于51单片机的数字时钟与日历显示控制设计 毕业设计

    1147基于51单片机的自动浇花系统设计 设计思路:通湿度传感器实时监测湿度,通过LCD显示出实时的湿度采集值,可以通过按键设定目标界限,当达到这个界限值时,浇花系统的电机装置运行. 电路包含:LCD ...

  3. 基于51单片机的数字时钟(万年历)

    具体实现功能 系统由STC89C52单片机+DS1302时钟芯片+按键模块+LCD1602显示+电源构成. 具体功能: 1.可以显示年.月.日.时.分.秒.星期.农历: 2.按键可以设置闹钟及报警: ...

  4. 基于51单片机1602温度显示时钟

    基于51单片机LCD1602温度显示时钟 要在1602上显示时间和温度先要了解1602是如何显示的.详情可以参考我之前的文章基于51单片机1602显示 :时间显示可以用时钟芯片DS1302,但是此次我 ...

  5. 基于51单片机的数字电子钟

    目录 摘  要 1.课程设计任务 1.1课程设计题目 1.2设计的要求 2.设计总体方案 2.1初步设计方案 2.2芯片的选型 2.2.1时钟芯片的选择 2.2.2温度传感器的选择 2.2.3显示电路 ...

  6. 基于51单片机的数字电子钟万年历闰年判断闹钟设计

    基于51单片机的数字电子钟万年历闰年判断闹钟设计 视频 1 开发环境 2 功能说明介绍 3 仿真图 4 程序 5 原理图 6 视频讲解 7 设计报告 7.1 设计目的 7.2 概述 8 资料清单下载链 ...

  7. 基于51单片机的简易电子计算器——有温度显示和万年历等额外功能

    基于51单片机的简易电子计算器--有温度显示和万年历等额外功能 设计实际所实现的功能 模式一可显示日期.时钟.温度,模式二可进行计算器的计算,且显示日期温度模式和计算器模式可随意切换,模式三可以滚动显 ...

  8. 基于51单片机HX711的电子秤称重计价proteus仿真程序设计

    设计要求 1.利用压力传感器检测重量信号,经放大和A/D转换,送单片机进行处理,并在液晶屏上显示出被称重量值: 2.最小显示单位为1克: 3.量程超过报警值蜂鸣器报警 资料下载地址:基于51单片机HX ...

  9. 收音机c语言程序,基于51单片机的数字FM调频收音机的设计(附接线图,主程序代码)...

    基于51单片机的数字FM调频收音机的设计(附接线图,主程序代码)(任务书,开题报告,论文15000字) 摘要 在当今的社会时代中,信息的传输扮演着极其重要的地位.随着科学技术的不断发展与进步,人类的生 ...

最新文章

  1. 成功要养成的习惯和改掉的习惯
  2. oracle numtodsinterval and numtoyminterval 使用法则
  3. halcon知识:工业相机问答(更新中...)
  4. MySQL分组函数的使用特点
  5. 计算机高办报名时间,前方高能!计算机信息技术证报名入口、考试时间已发布...
  6. Redis:06---数据库管理
  7. XAMPP on Mac 组态 Virual Host
  8. Eureka获取注册信息
  9. 暴跌3000亿,“酱茅”怎么了?
  10. 画面逐渐放大_Redmi新机25倍极限放大拍照效果被公开,网友:6400万太厉害了
  11. 动态分配内存的初始化
  12. 多个select 多个列_程序员,你还在 Select * 吗?
  13. Unity3D放破解反编译。DLL加密,mono解密。全程详解。
  14. java代码生成springdao_可一键生成dao、表、controller等几十种的代码生成器源码分享...
  15. XSS 之 haozi me 题解——人生第一份CSDN题解
  16. 新一代手机声音传音器THA-2开始发售,大家快来体验吧!
  17. Consider defining a bean of type的问题
  18. 解决文字与图片始终不并排的问题
  19. 三极管-【设计】三极管的功用-晶体管的电流放大作用
  20. 数据结构:图的基础知识

热门文章

  1. 计算机音乐致爱丽丝,听音乐《致爱丽丝》
  2. 单线程读单线程写一个变量是否一定要加锁
  3. 软工12-13-2 实验报告三——住房贷款计算器所涉及到的数据及计算方法
  4. Photoshop插件-色彩混合模式-盖印-删除-脚本开发-PS插件
  5. 高可用解决方案:同城双活?异地双活?异地多活?搞定了!
  6. Google Earth Engine (GEE) ——Google Earth Engine 和modi的关系
  7. 游戏进程已挂起,结束不掉重启也不行?原因居然是...
  8. excel文本替换 poi_Java如何处理EXCEL的读取
  9. 迁移学习入门(读王晋东博客)
  10. 学习笔记 | 了解B端产品与B端产品经理