(1) 键码识别子程序设计
此子程序的主要任务是采用扫描法判断被按下的键的键值。本系统的按
键功能定义如下:
0键: 门铃按键;
1键: 家人来访时的回应设置; 2键: 朋友来访时的回应设置; 3键: 陌生人来访时的回应设置;
4键: 恢复显示LCD文字提示/来访者回应设置的确定/录音开始的确定/
保存电话号码的确定;
5键: 设置电话号码;
6键: 查询对来访者回应的设置情况; 7键: 查询来访者的总人次; 8键: 按家人查询来访者的详细情况; 9键: 按朋友查询来访者的详细情况; 10键: 按陌生人查询来访者的详细情况; 11键: 按月份查询来访者的详细情况; 12键: 调整时间控制键; 13键: 录音/时间值加1; 14键: 放音/时间值减1;
15键: 删除记录信息/在设置电话号码时,删除错误的按键操作。 (2) 按下门铃键子程序设计
当来访者按动门铃键(0键) 时, 该程序根据按的时间长短(短: 陌生人;
稍长: 朋友; 长:家人) 确定所发出的铃声, 若按下的时间在3 s以内, 则发出第一种音乐; 若在3~5 s以内, 则发出第二种音乐; 超过5 s, 则发出第三种音乐。为了记录来访者的类型, 可用单片机的位51H、52H、53H来分别记录家人、朋友和陌生人。系统初始化时, 应先将其清零, 按下门铃按钮时, 再将相应位置1, 当来访者按键时, 液晶上仍有时间显示, 这样就可知道已经按下了多长时间。
(3) 记录来访者信息子程序设计
每次有人按门铃时, 该系统都会将来访者信息(该种类型来访者来访的总次数、序号, 按门铃时的月、日、时、分、秒) 存入外部存储器(直到外部存储器存满为止), 以便查询时用。另外, 也在程序中将AT24C02中该类型来访者的总人次加1, 同时修改下一条来访者详细情况在AT24C02中的记录首地址。
(4) 来访回应设置子程序设计
针对三种类型的来访者来对每一种来访者任意设置他们的来访回应。本系统假定有如下四种: 00对应于“请稍候, 随后就来开门”、01对应于“主人不在, 请以后来找”、10对应于“主人不在, 请拨打×××联系主人”、11则为于无语音提示, 其中00、01、10、11是各自的代码。设定单片机的位01H、00H代表家人来访回应, 位03H、02H代表朋友来访回应, 位05H、04H代表陌生人来访回应。另外, 还应通过该子程序将这些数据保存在AT24C02的06H地址单元的0~5位中。
(5) 来访回应子程序设计
门铃响后, 需要主人回应的程序工作过程是: 先判断单片机的51H、52H、53H的值, 以哪一位的值是1来确定来访人的类型。判断完后,再将该位清零; 然后, 从对应类型来访者的来访回应设置单元中取出设置值, 并确定提示类型,同
时在LCD上显示这种类型的文字提示信息(若用户在“恢复液晶提示子程序设计”中已设定了该功能则显示此功能, 否则, LCD显示时间), 并在ISD1420 上进行语音提示输出; 最后, 调用“记录来访者信息子程序”。
另外, 值得注意的是: 进行LCD显示和语音输出时, 可能用户不喜欢预先在单片机中设置文字提示内容, 也不喜欢ISD1420已经录好的语音提示信息, 而是希望自己来录入ISD1420的语音,此时, 为了避免语音提示和液晶显示的不一致,当修改了语音提示内容后, 液晶将只显示时间,而不会有相应的文字提示。其实现方法是将AT24C02的05H单元的值置0。
(6) 恢复液晶提示子程序设计
当用户自己录音并修改了语音提示信息后,液晶就不显示提示内容了。但是, 如果主人确认自己的录音内容与对应的LCD提示内容一致的话, 他就可以按动4键进入, 再按照提示进行操作, 以恢复显示LCD的相应文字提示信息。这种恢复被设计成可选择性的, 即对应每一种语音提示可设置是否有相应的文字提示。实现方法是将AT24C02的05H单元(该单元中的第0、1、2位分别对应于3种语音提示) 中的相应位置1。
【结论】:
本电子门铃从另一个角度扩展了电子门铃的功能。而且系统电路简单, 运行稳定。如果要记录大量的来访信息, 只需要更换同系列且容量更大的存储芯片, 并在软件上对存储信息的相关起始地址作简单的修改即可。
【文献】:
夏方林. 基于AT89C2051的单户可视对讲门铃室内分机的设计[J]. 微计算机信息, 2004,(10): 96- 97.
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库东南大学 短学期作业 科技论文(2)在线全文阅读。
相关推荐: