1 引言
很多同学都有早晨睡懒觉的习惯, 造成上课迟到。究其原因,其实很多同学都有闹钟,当闹钟响后,我们都有一个无意识的做法,就是把闹钟关了继续睡觉。心想再睡几分钟就起床,而往往结果是睡过了头。我设计的这款防贪睡闹钟就是专门针对此问题的。它与普通闹钟的创新之处就是其有防贪睡的功能。防贪睡是基于这种原理,当我们早晨闹钟响时,我们的大脑是模糊的,我们习惯性的把闹钟关了,有时候当我们睡过头了,还抱怨闹钟怎么没有响?其实是我们没有意识到而已,闹钟是真的响过了。这款防贪睡闹钟就是一定会让你头脑清醒的意识到闹钟已经响了。具体做法是这样了,当闹钟响后,它不会轻易的被使用者关闭,而是提出一个小问题,譬如:“23× 49=?”,它会让使用者开动大脑想几秒钟,而一旦使用者想了一会儿,他的头脑就清醒了,也就醒了。假如使用者不回答问题或是回答错误闹钟就会一直响,使用者在这种情况下也会醒过来。总之,这款防贪睡闹钟一定不会让你睡懒觉。
2 硬件基本结构
系统总体框图如图 1 所示:

本系统由四部分组成.调时和回答问题按钮用于手动调节时间和闹钟响后的回答问题,语音系统用于闹钟提示和录音作为闹钟的提示音.液晶系统用于显示时间和回答问题.下面对其中的几个主要部分作一一介绍.
2.1 液晶显示电路[1-2]
LCD1602 为 16× 2的字符型液晶, P1 口用来连接LCD 的数据线(从 LCD 的 7 脚到 14 脚)。P2.0 接 LCD的 RS,用于产生寄存器选择信号;P2.1 接 LCD 的 RW,产生读/ 写信号;P2.2 接 LCD 的E,为片选信号。P2.3接按钮S1 用,P2.4 接按钮S2。S1 用于在手动调节时钟、设定闹钟时间、回答问题之间切换,S2 用于设定数字.考虑到闹钟的小巧性,本系统只用两个按钮用于调节时间和回答问题.

2.2 语音芯片电路[4]
ISD1400 由一个单录音信号REC 实现录音操作两个放音信号其中的一个实现放音操作,PLAYE(触发放音),PLAYL(电平放音).本系统中将01245A 、A 、A、A、A接地,将367A 、A 、A接高电平,使语音芯片具有循环播放的功能.将语音芯片的PLAYERL 接单片机的P2.6 脚用于单片机控制闹钟提示.将 RECLED 接 P2.7 脚,当录音时 R E C L E D 为低, 可通过检测其电平用于提示正在录音.由于本系统用于试验环境,所以 PLAYL、PLAYE 和REC 接了按钮,主要用于测试之用.

3 软件设计[3]
3.1 主程序流程
笔者使用C 语言编写程序并用Keil 编译,并在单片机上远行正确,程序流程图如图 3。程序初始化主要包括:液晶的初始化,清屏,功能设置,显示开关控制及输入方式等;计数器工作方式设置,初始值设置和中断设置.计数器 1 用于手动调节时间和设定闹钟的时间,计数器 2 用于时间的计数、显示和闹钟响后的问题的显示。程序中有些注意的细节,将用于计数时间的计数器得中断优先级设置为高优先级,否则时间会不准确,当手动调节时间时让时间暂停计数,其余时间正常计数。

3.2 液晶显示模块子程序
液晶用于显示时间、调节时间和闹钟时间、问题和回答问题,分成3 部分显示,显示时间,显示调节时间和闹钟,显示闹钟时间到的问题和回答.

3.3 调节时钟,闹钟模块子程序
时间和闹钟调节在一起,共12 位,用 S1 改变当前调节的位,用 S2 调节当前位的值,当然是在时间的范围内变化,到达最大值时变为0.按钮的消抖动在软件中实现.

4 系统调试结果
利用上述设计方案,我们设计那位一款新型的防贪睡闹钟,达到了预期的目的,起到了防贪睡的功能,当闹钟时间到时,闹钟响并显示小问题“23× 65=”,问题回答不正确闹钟一直响;问题回答正确或是闹钟已经响了半个小时,闹钟关闭并显示时间.
5 本防贪睡闹钟的特点
(1) 具有创新性,目前市场上还没有类似的产品.
(2) 考虑到当前社会的时间观念,该产品具有实用性,用户群主要位学生和上班族.
(3) 时间和问题采用液晶显示,观察直接清楚.
(4) 电路简单且操作方便,只用到了两个按钮用于调时和回答问题,一个按钮用于录音.
(5) 低成本
6 结束语
本文设计并实现了一套基于AT89C51 的防贪睡闹钟,通过软硬件的认真调试达到了预期的目标.该系统可以真正起到防贪睡的作用.
参考文献:
[1] 周立功.单片机实验与实践教程[M].北京:北京航空航天大学出版社.2006
[2] 陈小忠等.单片机接口技术实用子程序[M].北京:人民邮电出版社.2005
[3] 马忠梅等.单片机的C 语言应用程序设计[M].北京:北京航空航天大学出版社.2006
[4] 陈毅等.一种人性化抢答系统的设计[J].电子器件.2007,30(4):1310-1313
作者简介:胡星(1987 -),男,在读本科,研究方向:嵌入式系统。




