12864LCD电子钟
2012-08-06
杜洋

这个作品我投入了许多创意,在用洞洞电路板设计的时候我就考虑好了它的样子,摆在桌上很好看,我的一个朋友很喜欢这个电子钟的重要节日提醒功能,后来又夸奖我的才华、对我和我的作品美言赞叹,结果我架不住糖衣炮弹只好把这个电子钟送给了他。现在也许就摆在他家的书桌上或是借花献佛被送给了他心怡的女生。

图5实物图

作品介绍

我要煽风点火了,不然你会没有兴趣玩下去。要是这个制作没有实用性那就啥也说不下去了,我要一条一条列举它的功能,让你慢慢爱上它。先说外表的美:这个制作我创造了几处个性设计,台历式外型可以立在书桌上又可以折叠存放不占地方;调时用的四个按键隐藏到LCD显示屏后面,在屏幕上显示按键的功能,当按压屏幕四角就触发了按键,类似于触摸屏的样子,这种设计使按键功能可以自由更改,同时也隐藏了难看的按键,这也是我洋洋得意的地方;12864LCD电子钟还具有高精度的温度显示、全部日期时间显示、公历节日提醒、白天整点报时、时钟断电依然走时等功能,绝对是你居家生活、工作学习必备佳品。如果你现在就打算制作,我还将另外在本期《无线电》配刊光盘里赠送这个钟的源程序、使用说明书等全套资料。心动不如快行动哦!

功能特点

年、月、日、小时、分、秒、星期、温度、节日同屏显示,一目了然。

时间设置功能,简单快捷。

整点报时(早8点至晚21点)。

128×64LED显示,信息量大、可视度高。

设有备用电池,长久走时。

温度显示,00.0度高精度(00.0~99.9℃)。

隐藏式按键,模拟触摸屏的方位按键操作简单。

国际、国内公历重要节日提醒。

日历台式外型设计,至于桌面美观大方。

采购时间

现在是拿单买货时间,我喜欢这个环节,因为介绍时提到的诸多功能把这个电子钟搞得复杂又神秘,而细看元器件表才知道没有几样东西,如表2所示。要担心的只是组装他们的过程。注意12864LCD显示屏要带汉字库且支持串行通信的,这是非常重要的。市场上有许多不同厂商生产的此系列显示屏,只要主控制芯片相同就可以,它们是ST7921、ST7920。显示屏的技术资料是很重要的数据,卖显示屏的商家都会将资料和显示屏一并出售的,买屏的时候记得索取。我这里所介绍的LCD显示屏可能和你卖到的显示屏资料上说的参数及接口方面有所不同,这时要以商家提供的资料为准,分析一下原理找到正确的连接方法。我是用两片万用电路板做成桌面台历的样子,如图5所示,要是你不喜欢就根据实际情况把它设计成壁挂式或用绳子绑在窗户上。我上文曾说过各制作是相互独立的,好像这话有一点说大了,因为我不得不为了节省时间而略写一些,温度传感器IC、时钟IC还有上一个制作已经介绍的很详细的元器件这里我不能再重复了,不然显得我有写文章凑字数的企图。

表2

元件买回来了吗?卖元件的老板和你混个脸儿熟了吧?不用砍价就打折卖给你了吧?我就曾达到这样的效果。按照惯例在制作之前应该先介绍一下电路原理,单片机怎么说原理呢,就是按程序运行的,要是讲程序还不如直接看源代码,这样来说只能从功能接口聊一点了。图6是12864LCD电子钟电路图,中间是单片机的最小系统电路,右边是LCD显示屏,它们之间是用的串行接口,接线不多,制作时会简单一些。

图6

除了LCD显示屏之外还是有一些东西需要提及。对按键的隐藏是我这个设计的一个特点,把LCD显示屏固定在按键上面其实挺不容易的,坚固程度也不好。如果不想这样设计就把按键对应的摆在LCD显示屏四边上吧。有两个LED的电路,蓝色LED是随着时钟的秒走时而闪烁,红色LED是调时操作时的指示灯。我感觉挺好看的,如果你嫌太俗可以不接,不会影响系统工作。

按键应该最后焊接,有许多朋友的船都搁浅在此。焊接按键之前开机运行一下,测试按键在LCD显示屏上的对应位置,确定无误后再焊接。其实可以不管它,当一切焊好后在程序的接口定义里面修改,在没有弄懂编程之前建议不要这样做。

工作原理

AT89S52、DS1302、DS18B20,这些熟悉的名字在这个制作中一样存在。不同的是LED和LCD的区别。LCD显示屏的内部已经有专用控制器芯片将屏幕上的液晶点驱动起来了,我们只要按它的要求送入指令和数据就可以了,不会像LED点阵屏那样对每一个点的显示都要操心。系统通电后还是先显示开机画面,这次屏幕比3208LED显示屏大得多了,显示的内容也多了。开机标志显示2秒后直接进入时间显示程序,这次单片机还是会不断地从时钟芯片、温度传感器中读出动态数据送入LCD显示屏显示。这次单片机轻闲许多,因为没有编写闹钟部分的程序,所以DS1302中的RAM空间没有被用到,自然也不用读取闹钟的数据。LCD显示屏上的显示数据在不写入的时候依然存在,这和LED显示屏是完全不同的,所以分钟数据可以1分钟刷新一次,而年数据可以1年刷新一次。这样单片机可以腾出空来干点别的事情。公历节日提醒功能是有趣的家伙,每一天LCD显示屏的最下边都会跳出许多莫名其妙的节日,这些节日数据是事先存放在单片机内部8KB的ROM单元里的,因为节日是固定的,在程序设计时就已经确定了它们,在《无线电》配刊光盘里可以找到12864LCD电子钟的源程序,在源程序里可以找到节日定义的代码。节日的名字和日期都是可以改动的,试试为自己的生日编写一个纪念日。

使用说明

因为没有闹钟功能,所以操作上简单许多,按键的操作只是调整时间。按键定义是:左上角(SB1)、左下角(SB2)、右上角(SB3)、右下角(SB4)。第一次使用时需要手动初始化时钟芯片,方法是在开机后同时按下SB2和SB4两个按键。当红色LED点亮时再转为同时按下SB1、SB2和SB4三个按键,长按3秒后屏幕将显示:“初始化成功!2007-1-100:00.00”。

在正常时间显示状态按下SB3键即可进入调时状态,在调时状态里按SB2和SB4进行加减调时,按SB3进入下一项调整,按SB1则退出调时。在时间显示状态长按SB1即可显示电子钟的设计时期和版本号,放开SB1则退回时间显示状态。

更详细的说明书可以在本期《无线电》的光盘里找到。和3208LED电子钟比起来,这个制作的功能会显的少了一些,不过没关系,单片机是灵活、自由的天使,只要我们升级程序就可以拥有更好的功能,所以不用太在乎现在有的功能,眼光要放远一些。

练武场

31个字节的RAM空间、蜂鸣器、4个调时用按键就存在,而为什么没有设计闹钟功能呢?我想大家应该会把这当成一种遗憾。如果我把事情做的太完美了,就损害了你继往开来的机会。有3208LED电子钟里是有闹钟功能的,你可以参考它的实现方法来丰富12864LCD电子钟的功能。如果你真的实现了它看你可以学到什么,至少你看懂了两个电子钟的源程序和工作流程,找到了闹钟部分的相关程序,知道如何将它移植到12864LCD电子钟上来,还要为新的闹钟程序写一个闹钟调时的操作界面。不用想了,做到这些你就已经不菜了。

可能会用到的工具/仪表
相关文章
推荐文章
热门文章
章节目录
本站简介 | 意见建议 | 免责声明 | 版权声明 | 联系我们
CopyRight@2024-2039 嵌入式资源网
蜀ICP备2021025729号