以51单片机为核心的校园铃声控制系统的设计

2015-07-24 21:24朱燕丛徐志超
中国高新技术企业 2015年25期
关键词:液晶屏按键键盘

朱燕丛 徐志超

摘要:基于目前“绿色环保”生活环境的要求,文章设计了一种以AT89S52单片机为核心的新型自动音乐电铃,音乐为悦耳的铃声并可按设定好的时间自动打铃。该系统可以通过键盘电路对当前的时间值进行校正,通过液晶屏进行数据的显示还可实现强制打铃的功能。

关键词:51单片机;AT89S52;校园铃声;控制系统;自动打铃;时间校正 文献标识码:A

中图分类号:TM421 文章编号:1009-2374(2015)24-0020-02 DOI:10.13535/j.cnki.11-4406/n.2015.24.010

1 设计目的及实现功能

1.1 设计目的

目前广泛应用的传统电铃噪音大,声音刺耳,不符合人们追求。基于此,该课题采用51单片机技术设计了一种新型自动音乐电铃,可按设定好的时间自动打铃,而且改变了以往那种单调的“铃铃铃”的铃声,而是以音乐的形式代替。该设计的核心控制器件为AT89S52单片机,通过专用的时钟芯片DS1302进行计时,采用1602液晶屏进行数据的显示。在声音播放上使用了LM386功放芯片驱动小喇叭实现。同时设计了按键电路,可以通过键盘电路对当前的时间值进行校正,还可实现强制打铃的功能。

1.2 本课题实现功能

(1)时钟功能:能显示年、月、日、时、分、秒;(2)键盘功能:能校正年份、日期、时间;(3)打铃功能:按指定时间打铃即播放音乐,上课播放一首音乐,下课播放另外一首;(4)设置手动打铃按键和强制停止打铃按键。

2 硬件设计

2.1 硬件设计原理

本系统的硬件主要由单片机控制部分、键盘电路、LCD液晶屏显示电路、时钟电路、喇叭驱动电路组成。

2.2 单片机最小系统

单片机选用AT89S52,它是一种低功耗、高性能CMOS8位微控制器,片内具有8k的可反复擦写可系统编程Flash只读存储器和256 bytes的随机存取数据存储器即RAM,采用的是高密度非易失性存储技术制造,并且与标准80C51指令系统及引脚完全兼容。片上Flash允许程序存储器在系统可编程,所以适用于常规编程器。它的Flash程序存储器既可以在线编程,也可用传统方法进行编程及通过8位微处理器于单片机中,使得AT89S52成为为众多嵌入式控制应用系统提供高灵活、有效的解决方案。

单片机最小系统包括三部分:单片机,晶振电路,复位电路。其中电源、复位电路、振荡电路是最小系统启动的必要条件。

2.3 键盘电路

按键是各种电子设备最基本的人机交互界面,良好的按键是电子产品美观易用的基础。键盘分又为独立式键盘和矩阵键盘,由于本设计中键盘只用于对时间进行校对,用到的按键个数比较少,所以本设计采用独立式键盘,它们的功能分别为:设置按键、减按键和加按键。每个按键连接单片机的一个I/O口。

有两种方法消除按键下按时产生的抖动,分别是硬件消抖和软件消抖。

硬件消抖的方法是通过硬件电路消除按键按下和按键释放时产生的抖动,从而使按键保持两种状态:高电平或者低电平。软件消抖的方法是在检测到按键被按下时先延时一段时间,然后再次对按键状态进行判断,当按键释放后,也要经过数毫秒的延时,以消除后沿抖动。考虑到硬件去抖还要增加外部电路,所以本设计中采用的是软件去抖的方法。

2.4 LCD液晶屏显示电路

本文设计的自动打铃系统通过LCD1602液晶屏显示日期。LCD1602液晶屏属于字符型液晶,它是一种专门用来显示字母、数字、符号的点阵型液晶模块。它由若干个5×7或者5×11的点阵字符位组成,每个点阵字符位都可以用显示一个字符,能够显示16*2,即32个字符,分两行进行显示。LCD1602液晶屏内部存储器内置了160个常用的点阵字符,比如:阿拉伯数字、英文字母的大小写、常用的符号、日文假名等,同时为每一个字符编写了一个固定的代码,在运行时识别的是ASCII码,所以我们在编程时可以用ASCII码进行数值操作,编程时也可以直接通过字符进行显示。

其显示部分引脚接口如图1所示:

图1 LCD液晶屏显示电路

2.5 喇叭驱动电路

本设计采用LM386对音频信号进行放大,进而驱动喇叭发出声音。LM386是一种音频集成功放,自身功耗低,约为4mA;电压增益可调整(20~200);可用于电池供电电源电压范围大,4~12V或5~18V;外接元件少、总谐波失真小,广泛应用于录音机和收音机之中。本设计中音频信号的输出口为单片机的P3.1口。具体电路图如图2所示:

图2 喇叭驱动电路

2.6 时钟电路

DS1302是一个美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,可以提供秒、分、小时、日期、月、年等信息,并且还有软件自动调整的能力,可以通过配置AM/PM来决定采用24小时格式还是12小时格式。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

采集时钟芯片DS1302,单片机通过时钟中断程序读取DS1302内时钟数据,然后通过LCD1602进行显示。设计电路图如图3所示:

图3 时钟电路

3 系统软件的设计

3.1 主程序

主程序实现的功能:与硬件相结合实现酒精浓度检测仪的所有功能。对各个功能子函数进行调用。它的工作流程为:首先初始化定时器、单片机、液晶屏及时钟芯片,然后扫描按键状态,如果调整时间按键没有按键,则调用液晶屏显示程序,接下来扫描强制打铃按键,如果该按键按下,则音符计数清0,然后将当前的时间值与单片机内设定好的打铃时间进行比较,如果达到打铃时间,则音符计数清0,最后就是音乐播放了。

3.2 时钟读取流程

首先读取温度值,然后分别从DS1302读取秒、分、时、日、月、年、星期的值,然后通过液晶屏显示温度、秒、分、时、日、月、年、星期的值。

3.3 液晶屏显示流程图

程序开始前先对液晶屏进行初始化,接下来数据显示时先发送字符显示位置,然后送出要显示的数据,结束显示。

3.4 按键扫描流程

三个按键分别连接单片机的P3.4,P3.5,P3.6,P3.7三个端口,由于单片机P3口内部具有上拉电阻,所以不再需要外加上拉电阻。

3.5 音乐播放流程图

首先查询当前音乐的音符及音高,然后据此查询到所应对应的频率及节拍数,根据此频率给定时器赋值,根据节拍进行声音延时。

4 结语

随着电子产品的发展,市场上各种类型的自动打铃系统层出不穷,而且是结合了各种设备的综合应用系统,能实现的功能也是越来越强大便捷,例如基于校园网的自动打铃系统,自动广播打铃系统,音乐打铃系统等。随着技术的进步,将单片机应用于铃声控制系统中将会使得打铃系统的功能由单一型发展成多功能、多花样的通用型,使用也将会越来越普遍。

作者简介:朱燕丛(1982-),女,北京工业大学耿丹学院机械系讲师,研究方向:机械电子。

(责任编辑:周 琼)

猜你喜欢
液晶屏按键键盘
键盘猫
基于有限状态机的按键检测程序设计
基于STM32F4的多通道串口驱动TFT液晶屏显示系统设计
Cлово месяца
ikbc R300机械键盘
FPGA的TFT-LCD真彩液晶屏显示控制
一种多方向导光按键结构设计
基于图像处理的电能表液晶屏质量检测方法
按键的多种状态检测及消抖处理方法
解析某型号手机按键检测程序的缺陷