碧波液压网 欢迎你,游客。 登录 注册

基于AT89C51的防贪睡闹钟

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  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 用于时间的计数、显示和闹钟响后的问题的显示。程序中有些注意的细节,将用于计数时间的计数器得中断优先级设置为高优先级,否则时间会不准确,当手动调节时间时让时间暂停计数,其余时间正常计数。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论