基于单片机的电子音乐门铃的设计
2.5 按键电路的设计
在本设计中,将有室内机和室外机,其中室内机一共有三个功能,一、选择旋钮,主人选择“IN”或是“OUT”;二、录音按钮,主人可以事先录制语言提示,更人性化;三、播放按钮,主人播放来访者留言;室外机有一个按铃按钮、扬声器(语音提示来访者主人的信息)以及LCD显示提示来访者主人的英文信息。按键图如图2-14所示。
P0.0P0.1P0.24.7K4.7K4.7KK1K2K3
(a)
P0.34.7KK4VCC
(b)
图2-14 按键电路图
K1按键是录音键,主人录制留言,当主人按下按键时,就开始录音;K2键是播放键,主人按键,可以听到来访者的留言;K3键是来访者的按铃键;K4是主人选择是否在家按键,当主人在家是,将开关打在VCC,键盘扫描到高电平时,播放主人录制的留言1,以及显示留言1;当家里没人时,将开关打在GND,键盘扫描到低电平时,播放主人录制的留言2,以及显示留言218。
【
】
- 20 -
XX大学毕业设计(论文)
第3章 软件部分设计
3.1 主程序设计
系统应用程序由主程序及子程序两大部分组成。主程序流程图如图3-1所示。主程序主要用来完成系统的初始化、时间显示和按键扫描等工作。
开始设定堆栈指针清标志和暂存单清显示缓冲区设定参数值对时钟芯片、液晶进行初始化扫描键盘从DS1302时钟芯片中读出数据LCD显示时间
图3-1 主程序流程图
- 21 -
基于单片机的电子音乐门铃的设计
先扫描按键,若没有按键,则从时钟芯片中读出数据显示时间;若有按键,则跳转到相应按键的子程序;按键主要有K1键(录音功能)、K2键(播放功能)、K3键(门铃按键)、K4键(选择功能)。 3.2 相应子程序设计
相应处理程序主要包括:键盘扫描子程序、液晶显示子程序、语音提示子程序、响铃子程序以及录音子程序。 3.2.1 按键扫描子程序设计
本程序采用非编码键盘,单片机必须对所有按键进行监视。一旦发现有键按下,单片机扫描按键,然后转入相应的处理程序,实现该键功能。当按下K1时,跳转到录音子程序,开始主人录制留言;当按下K2键,跳转到播放子程序,主人按键,可以听到来访者的留言;当按下K3键时,来访者的按铃键,判断K4键为高电平还是低电平,然后跳转到相应回应程序1或2;而K4是主人选择是否在家按键,当主人在家是,将开关打在VCC,键盘扫描到高电平时,播放主人录制的留言1,以及显示留言1;当家里没人时,将开关打在GND,键盘扫描到低电平时,播放主人录制的留言2,以及显示留言2。
按键扫描子程序流程图如图3-2所示。
开始开始YK1NK2NK3K1键功能程序YK2键功能程序YK3键功能程序结束
图3-2 按键扫描子程序
- 22 -
XX大学毕业设计(论文)
3.2.2 门铃键子程序设计
门铃是K3键,当来访者按下门铃键,系统判断P0.3口是高电平还是低电平,即K4键是打开还是闭合。K4键是主人控制键,当主人不在家或是不想有人打扰的时候,主人将K4旋钮打在“OUT”上,即P0.3口为高电平,执行子程序1,当主人在家的时候,将旋钮打在“IN”上,即P0.3口为低电平,执行子程序23。
具体流程图如图3-3所示。
【】
开始判断K3是否按下YN判断P0.3口是低电平还是高电平低(主人在家)高(主人不在家)调用语音和显示子程序1调用语音和显示子程序2结束
图3-3 门铃键子程序
1. 语音和显示子程序1
语音和显示子程序1,就是主人不在家时,对来访者的语音提示和显示提示,语音提示为,“家里没人,请留言姓名,谢谢!”LCD显示:“Please visit me later!”语音提示是主人录制进去的,而LCD显示是TABLE表中的代码显示。
如图3-4所示,语音和显示子程序1流程图。
- 23 -
基于单片机的电子音乐门铃的设计
开始显示提示及放主人留言从上次放音结束处开始录来访者留言停止录音并挂机返回 图3-4语音和显示子程序1流程图
2. 语音和显示子程序2
语音和显示子程序2是当主人在家时,来访者听到的语音提示以及显示语,其中语音由主人录制:“请稍后,马上就来!”显示语为:“Please wait for a moment!”
流程图如图3-5所示。
开始显示提示及放主人留言响铃返回
图3-5 语音和显示子程序2流程图
- 24 -