简易音乐发生器研究与设计
本设计将实现一种由单片机控制的简易音乐发生器,它具有16个音的输入按键,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来,软件采用C语言进行编程,电路板制作经过曝光、显影、腐蚀、过孔和镀锡等步骤完成。
【关键词】单片机 音乐发生器
声带、琴弦等物体震动时会发出的声波,声波通过空气传播进入人耳,人们就听到了声音。声音有噪音和乐音之分,振动有规律的声音是乐音,如人声带发出的歌声、由琴弦发出的琴音等,音乐中所用的声音主要是乐音。乐音听起来有的高,有的低,这就有高音和低音之分,振动频率高,声音就高,频率低,声音就低。
1 系统结构
在了解了有关音乐的基本知识以后,可以知道,产生不同频率的脉冲信号即能产生音乐。对于单片机而言,产生不同频率的脉冲信号非常方便,可以利用它的内部定时器来产生这样脉冲信号。但是单片机产生的脉冲信号,它的驱动能力,并不能直接用来驱动扬声器发出声音,这就需要在硬件设计中,增加音频功率放大电路。系统结构框图如图1所示。
2 系统硬件设计
系统主要分为三大模块,键盘模块、单片机模块和音频功放模块,由音频功放模块驱动扬声器,发出音乐声。键盘模块采用16个独立按键,组合成4X4阵列式键盘模块,实现16个信号的输入。单片机模块采用STC公司生产的STC89C52单片机,STC89C52是一个低功耗、高性能CMOS 8位微控制器,片内含8K在系统可编程Flash存储器,STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能,在电子行业中有着广泛的应用,单片机系统原理图与案件模块,如图2所示,晶振频率12MHz,方便脉冲信号频率的计算。
音频功放模块采用美国国家半导体公司出产的LM386音频集成功放,该功放具有自身功耗低、电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于音频功放电路中。
3 系统软件设计
软件设计主要包括系统初始化程序、中断服务程序、按键扫描程序、按键处理程序等,程序流程如图3所示。
主程序通过调用各个子程序,实现相应的功能。系统初始化主要包括定时器中断初始化;按键扫描程序主要负责16个独立按键的识别;按键处理程序主要负责对每个按键信号进行处理,根据不同信号,输出不同频率的脉冲信号。
4 结论
本设计给出了一种简易音乐发生器的设计方法,通过4X4阵列式键盘采集用户的输入信号,经过处理后,根据不同的输入信号,发出不同频率的脉冲信号,脉冲信号通过功放电路驱动扬声器,发出音乐声。经测试,本系统具有结构简单、调试方便和便于拓展等优点,具有一定的实用性。
参考文献
[1]于永.单片机C语言实例精讲[M].电子工业出版社,2008.
[2]李建忠.单片机原理及应用[M].电子科技大学出版社,2008.
作者单位
天津现代职业技术学院 天津市 300350