• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

多功能电子时钟

发一个自己原创小玩意,多功能电子时钟。

功能:年,月,日,星期,时,分,秒,温度大屏幕实时显示;带闹钟功能(最多支持3个独立闹钟,闹钟支持和弦可选);带3路独立定时开关;断电记忆,掉电后时间会继续走。

方案:STC89C54+LCD12864(ST7920控制器)+DS1302+DS18B20

编程语言:C

开发环境:keil

电路设计软件:Protel 99se

此小制作是本人在大二时所作,本人原创。初衷是制作一个电子钟,放在工作台上,方便自己看时间,看温度,使用闹钟。3路定时开关可以拿来控制一些小电器,比如定时控制台灯的开关。这个小玩意制作成功时,还引起了不少师弟师妹的好奇,他们觉得特神奇,原来单片机这么有趣。

废话不多说了,上图吧



实物图:LCD12864白字蓝背光,时钟采用了自定义的大字符显示,看起来感觉好些。背光可长亮,也可短亮,可以人为设置。在背光熄灭状态时按任意一个按键背光就会亮起。主界面右上角那个“T”下面一个开关是指示自动控制开关是否开启,右下角的小喇叭是闹钟指示,闹钟没打开的时候小喇叭会消失。

液晶旁边的三个继电器可实现自动定时控制作用。在设置里面可以分别调整三个继电器吸合、断开时间,比如用于定时控制台灯开关,还是很实用的。

液晶下面是4个按键,分别是设置,+,-,OK;由于板子尺寸限制,按键较少,操作起来会稍微麻烦一点。

按键的右边是电源输入,只需接一个5V0.8A左右的直流电源即可。

液晶下面是STC单片机、DS1302、DS18B20、备份电池和蜂鸣器。

DS1302实时时钟,外接备份电池,可以实现断电时钟仍继续走的功能,并且将用户设置存于DS1302的RAM中,避免断电之后需要重新设置的麻烦。DS18B20测量温度,精度很高,很好用,蜂鸣器用于按键声和闹钟,单片机内部集成了两首和弦,避免单调的滴滴声,该制作里面有三个闹钟,一般够用了。

原理图:

PCB:


部分程序截图:

程序均采用了模块化编写,每个程序有对应的输入输出参数说明,便于调用,有较多注释,读程序比较容易


主函数程序比较简单,就包含了液晶、IO、DS1302、DS18B20还有定时器的初始化。主循环里面主要执行液晶显示、按键扫描、定时开关控制、闹钟处理、备份电池充电程序。

这个DS1302读数据的子程序,SPI三线串口

这个是闹钟和弦的数据表,可以根据个人喜好更改。

附件是这个小制作的所有文件,包含99格式的原理图、PCB;源代码及HEX文件,还有一张实物照片,喜欢的朋友可以直接动手做,直接把程序烧好就可工作,只要焊接无误,一般不需要调试。注意:LCD12864需要用ST7920控制器带字库的,不带字库的话会出现乱码。

工作台电子钟.rar




全部回复(18)
正序查看
倒序查看
2014-04-15 17:55

楼主写的很不错啊,顶一个。

0
回复
2014-04-16 16:33
@电源网-娜娜姐
楼主写的很不错啊,顶一个。
谢谢!只是单片机这块好冷清,都没人来看
0
回复
2014-04-17 09:33
@liwei20080512
谢谢!只是单片机这块好冷清,都没人来看
已经有越来越多的朋友来交流讨论啦,你可以看看其他的帖子和问题,众人拾柴火焰高,相信这个版块会越来越好的。
0
回复
shenx123
LV.10
5
2014-04-24 14:04

程序写的很牛啊, 设计也很好看,想学习

0
回复
2014-04-24 14:09
@shenx123
程序写的很牛啊,设计也很好看,想学习
东西不错,能配套个外壳就完美了!@
0
回复
2014-04-24 17:57
@shenx123
程序写的很牛啊,设计也很好看,想学习
过奖了,小玩意,没啥技术含量。
0
回复
2014-04-24 17:57
@yueyunno1
东西不错,能配套个外壳就完美了!@
搞电子的,就要裸奔才有韵味~
0
回复
joyban
LV.3
9
2014-04-25 17:24
@liwei20080512
过奖了,小玩意,没啥技术含量。
要是能制作个视频出来就更好了
0
回复
山东大汉
LV.10
10
2014-04-27 00:11
@电源网-娜娜姐
已经有越来越多的朋友来交流讨论啦,你可以看看其他的帖子和问题,众人拾柴火焰高,相信这个版块会越来越好的。
还是要靠懂单片机和希望学单片机的人共同努力
0
回复
2014-04-27 20:35
@joyban
要是能制作个视频出来就更好了

支持出视频,特别是把菜单单和设置功能给大家SHOW一个!

0
回复
2014-05-01 03:01
真是高手啊,请问你知道音量编码器程序怎么写吗?我写出来的容易失步。
0
回复
2014-05-01 08:25
@yueyunno1
支持出视频,特别是把菜单单和设置功能给大家SHOW一个!
现在这个钟没在身边,没法做视频。不过考虑打板,再做一个玩
0
回复
2014-05-01 08:26
@寂寞VS冷漠2012
真是高手啊,请问你知道音量编码器程序怎么写吗?我写出来的容易失步。
编码器没玩过,应该就是检测内部触点变化情况来调整其他变量吧,只要编码器接触良好,按道理效果会很好啊
0
回复
2014-05-02 01:51
@liwei20080512
编码器没玩过,应该就是检测内部触点变化情况来调整其他变量吧,只要编码器接触良好,按道理效果会很好啊
那我再研究研究
0
回复
电源心
LV.4
16
2014-12-29 20:53
发个keil的文件给我吧,有些端口我需要改一下。396908862@qq.com 谢谢
0
回复
yhy630
LV.2
17
2015-07-02 14:19
@电源心
发个keil的文件给我吧,有些端口我需要改一下。396908862@qq.com谢谢
文件收下了,谢谢,好好学习
0
回复
2015-07-24 08:15
@电源心
发个keil的文件给我吧,有些端口我需要改一下。396908862@qq.com谢谢
所以C和H文件都有,自己新建一个工程就行
0
回复
cybers
LV.2
19
2015-11-10 12:41

不错,做一个给女儿玩。

0
回复