资料介绍
普通的家用时钟一般只能设置一个闹钟时间,但很多人均需为工作日、周末、早晨、午休等不同时段设置不同的闹钟时间。如果是使用普通的闹钟,只好每次休息前重新设置,很不方便,有时甚至会出现忘记更改闹钟设置而睡过头的情况。针对这种情况,本人利用89C51 单片机设计了一款有 8 种闹钟设置的时钟,通过一段时间的使用,情况良好。
电路图
功能简介
该时钟以 24 小时制显示时间,并可显示 2000 年至 2049 年之间的任何日期及星期,日期与时间经按键可相互切换,可输入 8 个闹钟时间设置,每个闹钟设置包括响铃的时间(小时与分钟)、对工作日有效还是对周末有效的标志,以及本项设置是否启用的标志等三部分。这 8 个闹钟设置均保存在 EEPROM 中,即使掉电也不用重新输入。当然使用者可通过按钮对任何一个设置作修改。数码管可经按钮关闭显示,避免夜间刺眼、影响睡眠。调节 LM317输出电压,可改变数码管亮度,但电压不能低于后备电池的电压,否则后备电池供电。用四节 1.25V 电池串联作后备电源,保证市电停电时时钟继续走时。时钟的精度取决于晶振频率的精度。
本程序用C 语言编写,经 Keil C51 编译成二进制码后写入 89C51 内的 EPROM 内即可。
#include “atmel\at89x51.h”
#include “intrins.h”
unsigned char hour,min,sec,year,month,day,weekday; //当前时间、日期、星期
unsigned int count_down; //1 秒钟计时用
bit led_on; //数码管是否点亮的标志
unsigned char display[8]; //8 位数码管要显示的数据
unsigned char attr; //八个数码管的闪烁控制字节,当为 0 时,对应数码管闪
bit flash; //LED 闪烁开关,与 attr 共同决定数码管是否闪烁
unsigned char show_status; //LED 显示状态标志
// 0:设置闹钟数据
// 1:显示当前日期及星期
// 2:显示当前时间
// 3:设置当前日期
// 4:设置当前时间
bit km; //按键已去抖动标志
bit kp; //按键已处理标志
bit sound; //蜂鸣器响标志
bit alarm_stop; //蜂鸣器响后用户手工按停标志
struct { unsigned char h; //小时
unsigned char m; //分钟
} alarm[8]; //8 个闹钟项
unsigned char alarm_en; //闹钟项启用标志
unsigned char alarm_wk; //闹钟项周末启用标志
unsigned char cur_alarm_set; //当前设置的闹钟项
unsigned char cur_alarm_active; //当前到点的闹钟项
bit new_alarm_info; //闹钟项内容已修改标志
- 基于89C51单片机的8位LED右移源程序 3次下载
- 基于89C51单片机的8位端口检测8独立按键源程序 1次下载
- 基于89C51单片机的DS1302时钟原理源程序 5次下载
- 基于89C51单片机的DS1302可调时钟源程序 2次下载
- 基于89C51单片机的DS1302时钟串口自动更新时间源程序 1次下载
- 基于89C51单片机的定时做普通时钟可调源程序 0次下载
- 基于89C51单片机的秒表源程序 11次下载
- 基于89C51单片机的电子琴源程序 2次下载
- 基于89C51单片机的定时器源程序 7次下载
- 基于89C51单片机的多路不同频率方波源程序 2次下载
- 基于89C51单片机的查表显示LED灯源程序 0次下载
- 基于89C51单片机的电机速度测试程序 2次下载
- 基于89C51单片机的8位LED左移源程序 1次下载
- 基于89C51单片机的24c02记忆开机次数源代码 3次下载
- 基于89c51单片机的时钟可调定时器设计 60次下载
- 基于51单片机的电子钟闹钟温度显示设计 1671次阅读
- AT与STC单片机的主要区别 9490次阅读
- 基于51单片机的闹钟系统设计 1659次阅读
- 基于89C51时钟电路的设计与制作 8995次阅读
- 51单片机的汇编程序库 9414次阅读
- AT89S51单片机的详细资料介绍 1.1w次阅读
- 基于89C51和89C52单片机对数控机床的控制设计 4446次阅读
- AT89S51单片机的看门狗功能设计 3932次阅读
- 单片机学习心得1:89c51单片机定时器应用! 9516次阅读
- 89C51单片机16位数据传送指令的执行过程 5014次阅读
- 基于51单片机直流电机PWM调速程序 4.8w次阅读
- 基于AT89C51单片机直流电机PWM调速程序分享 1.6w次阅读
- 51单片机超声波测距程序代码分享 2.7w次阅读
- 89C51单片机中断知识要点 1.7w次阅读
- 89C51单片机的步进电动机控制系统设计 1.4w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 651单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 751单片机大棚环境控制器仿真程序
- 1.10 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多