|
制作过程
元件买回来了吗?卖元件的老板和你混个脸儿熟了吧?不用砍价就打折卖给你了吧?我就曾达到这样的效果。按照惯例在制作之前应该先介绍一下电路原理,单片机怎么说原理呢,就是按程序运行的,要是讲程序还不如直接看源代码,这样来说只能从功能接口聊一点了。图 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-1 00:00.00”。
在正常时间显示状态按下 SB3键即可进入调时状态,在调时状态里按 SB2和 SB4进行加减调时,按 SB3进入下一项调整,按 SB1则退出调时。在时间显示状态长按 SB1即可显示电子钟的设计时期和版本号,放开 SB1则退回时间显示状态。
更详细的说明书可以在本期《无线电》的光盘里找到。和 3208LED电子钟比起来,这个制作的功能会显的少了一些,不过没关系,单片机是灵活、自由的天使,只要我们升级程序就可以拥有更好的功能,所以不用太在乎现在有的功能,眼光要放远一些。
练武场
31个字节的 RAM空间、蜂鸣器、4个调时用按键就存在,而为什么没有设计闹钟功能呢?我想大家应该会把这当成一种遗憾。如果我把事情做的太完美了,就损害了你继往开来的机会。有 3208LED电子钟里是有闹钟功能的,你可以参考它的实现方法来丰富 12864LCD电子钟的功能。如果你真的实现了它看你可以学到什么,至少你看懂了两个电子钟的源程序和工作流程,找到了闹钟部分的相关程序,知道如何将它移植到 12864LCD电子钟上来,还要为新的闹钟程序写一个闹钟调时的操作界面。不用想了,做到这些你就已经不菜了。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页
|