电子提醒器的设计
2013-12-17王永忠
王永忠
(北京服装学院信息工程学院,北京 100029)
电子提醒器相当于一个具有语音提示功能的“电子秘书”。对于一个办公室工作人员,只要预先把要提醒的数条语音信息分别录制到电子提醒器中,设置好每条相应的播放时间,到时电子提醒器会自动播放3遍预先录制好的语音信息,以提醒此时该做什么事情。
1 电子提醒器的功能描述
1.1 显示功能
电子提醒器的显示功能,主要用于显示年、月、日、星期、时钟以及各种设置信息等,由可以显示2行7.5个汉字的LCD液晶显示器来实现。电子提醒器主画面如图1上部所示,第一行显示年月日及星期。第二行显示分两部分:第一部分显示时分秒,字号较大;第二部分显示事件数,字号较小。所有显示采用图形方式实现。
1.2 时钟及时钟设置功能
由于电子提醒器是按照时间的不同来提醒用户的,所以电子提醒器必须具有时钟及时钟设置功能,这和普通钟表的功能是一样的。当进行时钟设置时就要用到键盘,如图1下部所示,在每相邻两次按键的时间间隔不超过5 s时就能选择不同的功能和设置,如果超过5 s显示器则自动切回主画面。每按一下功能键,显示屏上就对应显示出相应的功能画面,如果要选择对此功能进行设置,则按下确认键就可以进一步设置。功能键的按键次数与其功能对应如表1所示。
图1 电子提醒器主画面图
表1 功能键的按键次数与功能对应表
由表1可知,连续按2次功能键就进入时钟设置画面,按一下确认键,进入时钟选项画面,此时,时钟数字开始闪烁显示,按上调键或下调键可以改变时钟数,再按一下确认键,时钟数设置完毕,分钟数开始闪烁显示,再对分钟数进行设置,依次还可以设置秒—年—月—日。
1.3 录音设置功能
按功能键一次即进入录音设置画面如图2所示,再按一下确认键进入录音功能选项画面如图3所示,这时按上调键或下调键可以选择禁止录音,允许录音和清除录音的状态,再按确认键即设置完毕。初始状态为禁止录音状态,这时按录音键不起作用,可以避免录音误操作;当选择录音状态时,按住录音键不放则开始录音,放开录音键则录音停止,每录制一段语音信息,则主画面的事件数自动加一;当选择清除状态时,所有用户录音内容全部被清除掉。
1.4 闹钟设置功能
由表1可知,连续按功能键3次即进入闹钟设置画面,再按确认键进入闹钟设置选项画面如图4所示,默认状态为关。由上调键或下调键可以改变其状态,按确认键可确定其状态。当确定为“开”状态时,闹钟时间时钟数开始闪烁,按上调键或下调键可对其进行调整,按确认键后时钟数确定,分钟数开始闪烁,同样可对分钟数进行调整确定。闹钟设置完毕后,返回到主画面,这时主画面的左上角多了一个闹铃形状如图5所示,表明已经设定了闹钟功能,取消闹钟功能,取消闹钟设置后,闹铃形状的图示消失。
图4 闹钟设置选项画面图
图5 主画面闹钟提示图
1.5 闹钟铃声设置功能
连续按功能键4次即可进入闹钟铃声设置画面,再按确认键后进入闹钟铃声选择画面如图6所示。闹钟铃声分为标准和自定义两种,标准铃声即为电子提醒器已经录制好的不可清除的闹铃声,而自定义铃声主要取决于用户自己录音的情况,如果用户没有录制任何语音内容,则闹钟铃声只有标准铃声;如果用户录制了几段语音内容,则按上调键或下调键可以循环选择:标准—事件1—事件2—事件3—事件4—事件5—标准,事件的顺序是按照录音段的顺序分的,用户选定铃声后按确认键确认。当定时时间到后,“铃声”会连续响1 min,这期间按任何一个键都可以消除“铃声”。
图6 闹钟铃声选项画面图
1.6 事件设置功能
连续按功能键5次即可进入事件设置画面,同样再按确认键进入事件选择画面,按上调或下调键可以循环选择第几个事件,按确认键后进入该事件的时间设置画面,分别设置完月—日—时—分,按确认键后返回到事件选择画面,重新选择其他事件,重复上述过程。每个事件的时间设置完毕后,电子提醒器会按照事件设定的时间顺序,每到一个事件提醒时间,则会播放3遍提前录好的语音提示声,同时主画面的事件数自动减1,直到所有事件都提醒完毕,主画面的事件数减为00。而在播放语音提示声的过程中,同样按任何一个键都可以停止播放。
2 电子提醒器的硬件设计
电子提醒器硬件由主控单元、LCD显示单元、键盘接口单元、语音录放单元和时钟控制单元组成,框图如图7所示。主控单元核心芯片为AT89C51单片机;键盘接口单元包括功能键、确认键、上调键、下调键和录音键;LCD显示单元中的显示器选用LCM12232ZK中文液晶显示模块,该模块可显示两行,每行可显示7.5个汉字,且能够实现汉字、ASCII码、点阵图形同屏的显示。该模块的供电范围为2.75.5 V,可满足低功耗省电要求[1]。
图7 电子提醒器硬件组成框图
语音录放单元中的核心芯片采用ISD4004语音芯片,其供电电压3 V,最大录放时间为16 min,音质较好。ISD4004芯片内含静噪及高密度多电平闪烁存贮陈列,每个采样值直接存贮在片内闪烁存贮器中,因此能够较好地再现语音、音乐、音调和效果声,避免了因量化和压缩造成的量化噪声和"金属声",片内信息存于闪烁存贮器中,可在断电情况下保存100年,反复录音10万次[2]。ISD4004内部具有特殊的信息寻址机制,可对每行首地址进行寻址,但每行中的列不可寻址,因此每一行为最小信息单位,ISD4004内部共分为2 400行,这样,ISD4004内部最多可录或放的语音信息为2 400段。每个信息段由起始地址指针、记录的语音信息和信息结束标志位(EOM)3部分组成,一个信息段可占用一行或多行存储空间。行寻址是通过行地址时钟(RAC)来实现的,对于ISD4004-16MP其录放时间为960 s,因此它的分辨率为960 s/2 400=400 ms,即一个行地址时钟周期为400 ms,这样只要对行地址时钟输出端RAC的低电平进行计数就可以得到每一信息段占用了多少行和每一信息段的起始地址和结束地址。从第1行到第400行,作为本电子提醒器标准闹铃声的存储段,一次性录制好,不允许再改变和清除。从401行到2 400行为用户录制区,用户可以随意录制、改变和清除语音信息。
时钟控制单元中的核心芯片采用带报警功能的串行实时时钟芯片DS1305,该时钟/日历芯片可以提供秒、分、时、日、月、年、星期信息。对于少于31天的月份,到每月的最后一天会自动进行调节,包括闰年修正。该时钟有AM/PM指示器,可以工作在24小时模式或12小时模式。
另外DS1305还提供双电源输入和一个电池输入引脚。利用双电源输入和一个可编程交流充电电路,可以对作为后备电源的可充电电池进行充电。通过VBATT引脚,该器件也可用一个非充电电池作为备用。
DS1305还提供了两个可编程日历报警。报警通过编程可设定在秒、分、时和星期发出中断。两个可编程日历报警可以通过编程设定为发出两个不同的中断输出,也可以只触发一个公共的中断输出。本电子提醒器中时钟芯片DS1305的中断控制位设定为0,即两路报警都使用一个公共的中断输出
3 电子提醒器的软件设计
电子提醒器的软件设计分为主程序和中断服务子程序两部分。主程序的主要作用是判断各功能设置的状态以便执行相应的功能设置,实时读取DS1305中的日历时钟数据,送LCD各画面显示及事件月日比较。由于DS1305的报警功能只有每秒、每分、每时、每周报警一次的功能,没有每日、每月报警功能。所以,在主程序的事件月日比较子程序里,由编程来实现该功能。基本原理是根据事件设定的时间顺序来排定事件的顺序,依次把各事件的月日数据读出来,与从DS1305中读出的实时的月日数据相比较,如二者不相等则继续比较,如相等则把该事件的时分秒数据写入DS1305的相应的报警存储单元中,时分秒则由DS1305自动比较,都相等后,报警输出端变为低电平,向CPU申请报警中断。主程序框图如图8所示。中断服务子程序也包括两部分:键盘中断服务程序和闹钟事件报警提示中断服务程序。5个按键通过与门接到89C51的外部中断0口/INT0,而DS1305的报警中断输出端与89C51的外部中断1口相连。设置键盘中断为高优先级,报警中断为低优先级,即保证按任何键都能够中断闹铃声或语音提示声[4]。键盘中断服务程序框图如图9所示。
键盘中断服务程序主要实现各按键的功能,由于是多功能键盘,每一个按键在不同的场合有不同的作用,所以程序结构较为复杂,为简化键盘中断服务程序框图结构,每个按键的程序由相应的程序块来代替,在确认键程序块中,在完成相应的确认功能的同时应把功能键程序块中的按键次数计数单元清零,以便再次按功能键时能够正常操作。其他按键程序块按照各自任务的不同各不相同。
闹钟事件报警提示中断服务程序主要功能是实现在预定时间播放相应的铃声或语音提示声,在录音键程序块里,当录音结束后同时读出该语音信息段的首地址,存放在相应的单元中,当预定的闹钟或事件时间到时,则从指定地址循环播放相应的提示音。
图8 主程序框图
4 结束语
电子提醒器是基于单片机控制的一个应用。通过合理的软硬件设计,电子提醒器可以较好地实现事件定时语音提醒功能。如果再增加上温湿度传感器SHT1x,就可以实时播报室内温度和湿度以及实现温湿度上下限报警,使电子提醒器的功能进一步扩展,以满足用户的更多需求。
图9 键盘中断服务子程序框图
[1]北京青云创新科技发展有限公司.带中文字库图形点阵液晶显示模块LCMxxZK使用说明书[M].北京:北京青云创新科技发展有限公司,2004.
[2]Winbond Electronics Corporation.ISD4004 series single -chip voice record/playback devices 8 - ,10 -,12 -,and 16- minute durations operation instruction[M].Taiwan:Winbond Electronics Corporation,2004.
[3]Dallas Semiconductor Ltd.DS1305 serial alarm real time clock(RTC)operation instruction[M].USA:Dallas Semiconductor Ltd.,1999.
[4]张毅刚.MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,1997.