APP下载

基于51单片机的报警装置设计研究

2014-11-10房百庆王延兵赵力

科技创新导报 2014年12期
关键词:单片机

房百庆 王延兵 赵力

摘 要:音乐报警作为传统声音报警的一种新型表现形式,得到了越来越多的关注。若使用数字电路完成相应的功能,则电路会变得相当复杂,且成本也非常高。因此,该文提出了一种基于51单片机的数字音乐报警电路设计方案,其功能是通过软件编程实现的,不但降低了硬件电路的复杂性,而且其成本也大大降低。该设计AT89C51单片机为核心,辅以LCD1602显示屏、4个独立按键和蜂鸣器等硬件。通过按键可实现英文欢迎提示字符的设置、音乐播放时显示歌曲序号及名称、在报警过程中可通过4个功能键实现选择乐曲、暂停和播放等功能。

关键词:音乐报警系统 单片机 AT89C51

中图分类号: TP274.2 文献标识码:A 文章编号:1674-098X(2014)04(c)-0061-03

电子音乐作为现代音乐的一种形式,与古典音乐截然不同。电子音乐是对传统音乐的延承和背叛,它通过电流产生的声音打破了音乐的结构及人们习惯的听觉经验[1]。电子音乐既是音乐电声的一个重要内容,也是一种科技的见证。特别是,自从电子合成器问世以来,电子音乐又进入了一个更高的阶段[2]。由于电子音乐的普及,电子合成器可以解决相当一部分的歌唱及舞厅的伴奏问题,即:可以事先制作伴奏音乐或背景音乐,而不需要乐队,或者部分代替乐队[3-4]。由于音乐合成器制作和修改方便、成本低、音乐丰满,所以市场需求量很大,因此许多国家的厂商都在发展并不断推出新型号,每年都有更新换代。

本设计是以AT89C51单片机为核心,辅以LCD1602显示屏和蜂鸣器等外部电路构成数字音乐报警系统。利用单片机I/O口产生一定频率的方波,驱动蜂鸣器,发出各种不同的音调,从而演奏乐曲,并能够由LCD1602显示屏显示相应的歌曲信息。键盘在单片机应用系统中能实现向单片机输入数据,传送命令等功能,是人工操作音乐报警系统的的主要手段。

1 数字音乐报警电路的工作原理

单片机对某一引脚以一定的频率循环置1置0,该引脚便产生一定频率的方波,将放大后的方波作用于特定的物理实件(蜂鸣器),就会产生一定频率的声音。若改变输出方波的频率,产生的声音也会随之改变。通过控制输出方波的时间长短,声音的长短也可以得到控制,因此,根据乐谱,以类似的音节及相同的节拍,就可以利用单片机产生电子音乐。每个音符分为简谱码和节拍码。简谱码为D0-L到SI-H,节拍码为1到16,对应的节拍表如表1所示。

方波的产生是由定时器控制的。单片机工作时,定时器T0工作在定时方式1,改变TH0及TL0便可产生不同的音频频率。需要注意的是,必须考虑中断响应时间的影响,尤其在高音部分。若忽略中断响应时间,会使音频频率比标准值低几十Hz,相当于1/4音程,很容易听出来;中断响应时间对低音部分影响不大。一般中断响应时间为3~6个机器周期,经过反复试验,取5个机器周期作为校正最为恰当。表1中所给的定时初值就是考虑了中断响应时间后的定时常数。另外,为避免T1中断可能引起杂音,应将定时器T0中断设为高优先级。

在音乐中使用的各个固定频率的音叫音级。常用符号C、D、E、F、G、A、B、c、d、e、……a1、b1、c2、d2……表示,它们对应于钢琴上的白键。两音之间音高的距离叫音程。在上述音级中,E与F、B与C之间音高的距离仅为其它相邻音级之间距离的一半,称它们之间的音程为半音音程,而称其它相邻各音之间的距离为全音音程。在这些全音音程之间又加入新的半音音级,用符号﹟C、﹟D、﹟F、﹟G、﹟A、﹟c、﹟d、﹟f等表示,对应于钢琴上的黑键。音持续时间的长短即时值,一般用拍数表示。休止符表示暂停发音,如表2所示。

2 硬件设计

本设计以AT89C51单片机为核心,由主控模块、输入模块、显示模块及声音模块四部分组成,各模块连接如图1所示。整体电路图如图2所示。

主控模块是由AT89C51单片机、时钟电路、复位电路共同构成单片机最小系统,其核心为AT89C51单片机。主控模块能够按照预先编译好的程序文件执行相应功能,接收输入模块传送来的信号,依据程序向显示模块、声音模块发送驱动信号,实现对显示屏显示及蜂鸣器发声的控制。

输入模块负责向主控模块提供控制信号。它由四个独立按键组成,分别接入单片机I/O口(P1.0~P1.3)。当按下按键时,将单片机相应的I/O口拉至低电平,主控模块通过不断扫描输入模块的电平状态判断是否有控制信号输入,实现相应功能。

显示模块负责显示欢迎信息及播放音乐时相应的曲目信息。该模块核心为LCD1602显示屏,能够显示2行16列共32个字符。上拉10K电阻用以提升单片机I/O口的驱动能力。

声音模块负责播放音乐,其核心为蜂鸣器。该模块接收来自主控模块的驱动信号,发出声音。

3 软件设计

软件编程通常采用结构化程序设计,一般有“自上而下”和“自下而上”两种方式,“自上而下”法的核心就是主框架的构建。它的合理与否关系到程序最终的功能的复杂程度和性能的优劣[5-6]。

本系统采用4个独立按键作为输入键盘,可分别实现开关、播放\暂停、以及播放曲目的选择。在开机按钮按下时有英文欢迎提示字符,音乐报警时显示歌曲序号及名称。在报警程中可通过功能键实现选择乐曲、暂停和播放。软件部分针对《挥着翅膀的女孩》、《同一首歌》和《两只蝴蝶》三首乐曲进行设计。系统主模块的程序流程图如3所示。采用的程序调试软件为Keil μVision4,所采用的仿真软件为ISIS 7 Professional软件。

3.1 显示模块驱动

LCD 1602需显示欢迎、播放曲目等信息,其初始化过程如下:(1)延时15ms;(2)写指令38H(不检测忙信号);(3)延时5 ms;(4)写指令38H (不检测忙信号);(5)延时5 ms;(6)写指令38H(不检测忙信号);(7)以后每次写指令、读/写数据操作均需要检测忙信号;(8)写指令38H:显示模式设置;(9)写指令08H:显示关闭;(10)写指令01H:显示清屏;(11)写指令06H:显示光标移动设置;(12)写指令0CH:显示开及光标设置。LCD 1602显示屏初始化程序如图4所示。endprint

3.2 按键模块驱动

本设计采用非编码键盘实现输入,为消除机械触点产生的抖动,采用软件消除:当在首次检测到有键按下时,执行延时20 ms子程序,再确认是否仍保持闭合,如保持闭合,则确认有键按下,进行相应处理。软件消抖程序如图5所示。

3.3 初始化及中断处理程序

初始化及中断处理程序如图6所示。

4 软件编译及仿真

软件编译成功,结果如图7所示。

将生成的“MUSIC BOX.HEX”文件装载到ISIS 7 Professional已搭建好的硬件仿真环境中,进行仿真调试。在Keil中编写编译程序通过仿真,可实现预期的音乐盒功能,仿真结果如图8所示。

5 结语

基于AT89C51单片机设计的数字音乐报警系统具有发音准确、节能环保、易于操作等特点。本设计以“硬件软件化”为指导思想,充分发挥单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。在开机按钮按下时,该音乐报警系统能够显示英文欢迎提示字符,报警时显示歌曲序号及名称;在报警过程中可通过功能键选择乐曲,暂停,播放;根据节拍表1和音符表2可以演奏任意乐曲。在调试过程中,成功播放了《挥着翅膀的女孩》、《同一首歌》和《两只蝴蝶》等三首乐曲,均取得了良好效果。由于单片机所被占用的I/O 口不多,因此系统具有一定的可扩展性。

参考文献

[1] 孙展.具体音乐与电子音乐的相互渗透——电子音响型作品《Whos Voice(1998)》的制作札记[C]//中国电影电视技术学会影视科技论文集.2002.

[2] 陈学煌,潘晓利.MIDI音源及其在声控电子乐器中的应用[C]//2006年声频工程学术交流会论文集.2006.

[3] 王银玲.一种单片机控制的音乐盒制作[J].电子制作,2010(11).

[4] 远飞.基于单片机的音乐播放器的仿真与制作[J].电子元器件应用,2010(12).

[5] 孙毅刚,彭宇,赵光权.单片机原理及接口技术[M].北京:人民邮电出版社, 2011.

[6] 马忠梅,籍顺心,张凯,等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,2003.endprint

3.2 按键模块驱动

本设计采用非编码键盘实现输入,为消除机械触点产生的抖动,采用软件消除:当在首次检测到有键按下时,执行延时20 ms子程序,再确认是否仍保持闭合,如保持闭合,则确认有键按下,进行相应处理。软件消抖程序如图5所示。

3.3 初始化及中断处理程序

初始化及中断处理程序如图6所示。

4 软件编译及仿真

软件编译成功,结果如图7所示。

将生成的“MUSIC BOX.HEX”文件装载到ISIS 7 Professional已搭建好的硬件仿真环境中,进行仿真调试。在Keil中编写编译程序通过仿真,可实现预期的音乐盒功能,仿真结果如图8所示。

5 结语

基于AT89C51单片机设计的数字音乐报警系统具有发音准确、节能环保、易于操作等特点。本设计以“硬件软件化”为指导思想,充分发挥单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。在开机按钮按下时,该音乐报警系统能够显示英文欢迎提示字符,报警时显示歌曲序号及名称;在报警过程中可通过功能键选择乐曲,暂停,播放;根据节拍表1和音符表2可以演奏任意乐曲。在调试过程中,成功播放了《挥着翅膀的女孩》、《同一首歌》和《两只蝴蝶》等三首乐曲,均取得了良好效果。由于单片机所被占用的I/O 口不多,因此系统具有一定的可扩展性。

参考文献

[1] 孙展.具体音乐与电子音乐的相互渗透——电子音响型作品《Whos Voice(1998)》的制作札记[C]//中国电影电视技术学会影视科技论文集.2002.

[2] 陈学煌,潘晓利.MIDI音源及其在声控电子乐器中的应用[C]//2006年声频工程学术交流会论文集.2006.

[3] 王银玲.一种单片机控制的音乐盒制作[J].电子制作,2010(11).

[4] 远飞.基于单片机的音乐播放器的仿真与制作[J].电子元器件应用,2010(12).

[5] 孙毅刚,彭宇,赵光权.单片机原理及接口技术[M].北京:人民邮电出版社, 2011.

[6] 马忠梅,籍顺心,张凯,等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,2003.endprint

3.2 按键模块驱动

本设计采用非编码键盘实现输入,为消除机械触点产生的抖动,采用软件消除:当在首次检测到有键按下时,执行延时20 ms子程序,再确认是否仍保持闭合,如保持闭合,则确认有键按下,进行相应处理。软件消抖程序如图5所示。

3.3 初始化及中断处理程序

初始化及中断处理程序如图6所示。

4 软件编译及仿真

软件编译成功,结果如图7所示。

将生成的“MUSIC BOX.HEX”文件装载到ISIS 7 Professional已搭建好的硬件仿真环境中,进行仿真调试。在Keil中编写编译程序通过仿真,可实现预期的音乐盒功能,仿真结果如图8所示。

5 结语

基于AT89C51单片机设计的数字音乐报警系统具有发音准确、节能环保、易于操作等特点。本设计以“硬件软件化”为指导思想,充分发挥单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。在开机按钮按下时,该音乐报警系统能够显示英文欢迎提示字符,报警时显示歌曲序号及名称;在报警过程中可通过功能键选择乐曲,暂停,播放;根据节拍表1和音符表2可以演奏任意乐曲。在调试过程中,成功播放了《挥着翅膀的女孩》、《同一首歌》和《两只蝴蝶》等三首乐曲,均取得了良好效果。由于单片机所被占用的I/O 口不多,因此系统具有一定的可扩展性。

参考文献

[1] 孙展.具体音乐与电子音乐的相互渗透——电子音响型作品《Whos Voice(1998)》的制作札记[C]//中国电影电视技术学会影视科技论文集.2002.

[2] 陈学煌,潘晓利.MIDI音源及其在声控电子乐器中的应用[C]//2006年声频工程学术交流会论文集.2006.

[3] 王银玲.一种单片机控制的音乐盒制作[J].电子制作,2010(11).

[4] 远飞.基于单片机的音乐播放器的仿真与制作[J].电子元器件应用,2010(12).

[5] 孙毅刚,彭宇,赵光权.单片机原理及接口技术[M].北京:人民邮电出版社, 2011.

[6] 马忠梅,籍顺心,张凯,等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,2003.endprint

猜你喜欢

单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
MSP430单片机在仿真中要注意的几点问题
基于单片机的平衡控制系统设计
基于单片机的三维LED点阵设计
Microchip推出两个全新PIC单片机系列
基于Proteus的单片机控制系统的仿真设计