1、 1 简易电子琴设计简易电子琴设计 摘要:摘要:本设计以 AT89C51 单片机为核心,采用常用电子器件设计。要求最少 8 个按键,每个按键对应一种 音调,按下按键发声,松开按键后声音延迟一段时间后停止,即带余音的电子琴,延时时间可以设 置,要求最少 8 个不同音调,可以采用标准的音调设计。 关键词:关键词:AT89C51,蜂鸣器,PNP 型三极管,晶振,独立按键 1 引言 随着生活水平的提高, 在放松自己的同时又能提高自己的能力。 学习和欣赏音乐可以使 人们得到放松的同时, 提高人民的精神品质和个人素养。 当代, 爱好音乐的年轻人越来越多, 有不少人自己练习弹奏乐器, 作为业余爱好的一种放松
2、手段, 鉴于一些乐器学习难度大需要 太多的学习时间,且价格又太过于高昂,使得一部分有这种想法的人不得不放弃这种想法。 而一些简单的电子乐器价格比较便宜,学习上手快,价格相对便宜,一般人容易负担得起, 能满足一般爱好者的要求。 故简易电子乐器的研制具有一定的社会意义。 本次课程设计主要 研究基于 AT89C51 单片机的简易电子琴设计 2 总体设计方案 2.1 设计思路 此次设计硬件电路分四大模块较为简单,主要由独立按键、单片机 AT89C51、音频功放 及扬声器构成。以 AT89C51 为主控器件,对其进行编译,达到我们的设计要求。对于软件部 分下面有详细介绍。 2.2 电路总设计框图如图 1
3、: 图 1 电路总设计框图 2.3 音频放大电路 在一定频率范围内,具有固定频率的振动就能产生音乐,但是单片机产生的音频脉冲直 接驱动扬声器并不能产生所要实现的音乐,因为他没有足够的驱动能力,需要音频功率放大 电路。这里选用 PNP 型三极管来驱动蜂鸣器,是音响效果更为理想,音频功放电路接口如图 2 所示: 单片机 AT89C51 按键 功 率 放 大 电路 扬声器 2 图 2 音频放大电路 2.4 音乐播放电路 对于播放一首固定音乐,不仅要知道音符也要知道节拍,对应节拍延时时间设定表,对 单片机进行编程就可以实现功能。放歌产生电路如图 3,其中单片机的 P3.0 口控制音乐开始 播放控制端口
4、,P3.2 口是控制音乐停止播放的控制端口,当小按键 S10 按下时 P3.0 口获得 低电平,音乐开始重复播放,当小按键 S9 按下时,P3.2 口获得低电平,经过单片机的处理, 音乐停止播放, 单片机回到最初工作状态。 而 P2 口的每个端口都连接一个按键, 分别控制 1, 2,3,4,5,6,7,1 八个不同的音符。 图 3 音乐播放电图 2.5 总体电路图如下图: V1 V2 R1 SP1 VCC P3.7 S9 S10 P3.2 P3.0 3 图 4 总体电路图 , 3 设计原理分析 3.1 产生声音的方法: 只要让扬声器通过产生大小变化的电流(脉动电流或交流) ,就能使扬声器发出声音, 因此若以程序不断的输出 10101就可以令扬声器发出声音,由于 MCS51 系 列的输出端口输出电流不够大,所以必须加上晶体管把电流放大后再驱动扬声器,如图 2 所示。图 6 则是产生声音的基本流程图,只要改变半周期 t 的时间,即可改变输出频率。 R2 330 R1 10K 12 C1 30pF 12 C2 30pF 12MHZ 10uF