基于单片机的电子琴设计.doc

上传人:灯火****19 文档编号:136887843 上传时间:2020-07-03 格式:DOC 页数:14 大小:210.50KB
返回 下载 相关 举报
基于单片机的电子琴设计.doc_第1页
第1页 / 共14页
基于单片机的电子琴设计.doc_第2页
第2页 / 共14页
基于单片机的电子琴设计.doc_第3页
第3页 / 共14页
基于单片机的电子琴设计.doc_第4页
第4页 / 共14页
基于单片机的电子琴设计.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《基于单片机的电子琴设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的电子琴设计.doc(14页珍藏版)》请在金锄头文库上搜索。

1、电子琴设计摘要:本设计是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器、LED显示器等模块组成核心主控制模块。在主控模块上设有8个按键,其中7个按键控制7个音符,而1个作为功能转换键使用,具有手动随意弹奏和自动播放乐曲的功能。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。关键词:AT89C52单片机 LED显示器 扬声器 18矩阵键盘 7个音符 自动播放乐曲 1 引言电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。目前市场上各种品牌、型号的电子琴有上百种,由几十块的玩具电子琴到几

2、百,几千的学习、演奏用琴真是琳琅满目,电子琴能够模仿各种音色和具有自动伴奏功能,这些是电子琴最基本的特征。档次的高低无非是音色模仿的是否逼真,自动伴奏设计的是否丰富,或者增加了其他制作,编曲功能的。本设计主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴系统硬件组成。利用单片机产生不同频率来获得我们要求的7个音符,最终可随意弹奏想要表达的音乐。并且本设计分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方

3、便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。2 总体设计方案2.1 设计思路2.1.1 从系统实现的功能上来看,电子琴的设计主要分为手动弹奏乐曲和自动播放音乐两大部分组成。手动弹奏乐曲是根据具体的硬件键盘设置了7个音符按键和1个功能转换键,自动播放音乐是在单片机的存储器中通过软件编程的方法放置音乐代码和相关播放程序来实现。2.1.2 从系统硬件结构上来看,主要使用到52系列单片机、矩阵18键输入电路、LED数码管显示电路、扬声器以及电源电路等等。将这些硬件电路有机地结合起来使之满足电子琴设计的基本硬件要求。2.1.3 从

4、系统软件设计角度来看,将电子琴的设计采用程序模块化设计方法,将程序分为主程序、键盘扫描程序模块、数码显示模块、转换控制模块、音乐产生模块等等。此外,采用程序设计思想,将中断定时方式与外部按键查询方式相结合,实现手动弹奏乐曲到自动播放音乐的切换。2.1.4 从音乐产生原理方面来看,通过控制单片机的定时器的定时时间产生不同频率的音频脉冲,经放大后驱动扬声器发出不同音乐的声音。用软件延时来控制发音时间的长短,控制节拍。把音乐的音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在程序存储器中,由程序查表得到定时常数和延时常数,分别用来控制定时器产生的脉冲频率和发出音频脉冲的持续时间。 因此,我

5、们可以综合上述的不同角度的方案设计原理,主要从软件和硬件两部分进行有计划有步骤的系统分析与设计,最终确立总体的设计方案。方案确立 1、手动弹奏乐曲和自动播放音乐用非编码的矩阵键盘来实现,其中包括数字键和功能键,功能键主要是将手动弹奏模块转换到自动播放乐曲模块。手动弹奏乐曲中7个键分别设置不同的7个音符,然后通过功能键可实现手动弹奏乐曲到播放乐曲之间的切换。2、一位LED数码管显示当前工作状态,将按下的键值送入显示,并一一对应各个音符。采用动态扫描输出。3、软件的设计主要包括矩形键盘键值的读取、LED动态扫描输出程序、手动弹奏乐曲程序和音乐自动播放程序。4、此次程序设计主要分为两大块:手动弹奏乐

6、曲程序和自动播放程序。两者之间用功能转换程序对其进行结合,并实现各种不同功能的控制。2.2 设计方框图基于单片机系统的电子琴的基本结构如图(1)所示图(1)3 设计原理分析3.1演奏音乐原理通过控制单片机定时器的定时时间产生不同频率的音频脉冲,经放大后驱动蜂鸣器发出不同音节的声音。用软件延时来控制发音时间的长短,控制节拍。把乐谱的音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在存储器中,由程序到定时常数和延时常数,分别用来控制定时器产生的脉冲频率和发出该音频脉冲的持续时间。单片机晶振频率为12MHZ时,乐曲中的音符、频率及定时常数之间的对应关系可制成表格。本次设计中,定时常数是有1

7、6定时器T0根据不同的音符,装入不同的初值实现延时的,而延时常数是在自动播放音乐部分使用,控制不同音符的节拍,其延时常数是通过16位定时器T1实现的。根据设计要求给出的各音符频率,我们只需要的各音符频率与计数值T的关系如表(1)所示表(1): C调各音符频率与计数值T的关系音符频率(Hz)半周期(ms) 简谱码T值定时值(H)简谱码T值定时值(D)1 Do2621.90F894H626282 Re2941.70F95CH638353 Mi3301.51FA1AH640214 Fa3491.43FA6AH641035 So3921.28FB00H642606 La4401.14FB8CH6440

8、07 Si4941.01FC0EH645243.2 键盘扫描原理先将18矩阵键盘的行(P2.0)和列(P1口)全部置为高电平,然后再逐行置为低电平,当有键按下时P1口的值会发生相应的改变,通过与给定数的比较,判定是否有键按下和是否键已松开。并给定列号并保存,根据所给的列号的值,一方面通过P0口给LED送入确定好的段码数值,从而相对应地在LED上显示音符数字,另一方面从TABLE表中取出相应的值,给此时作为16位定时器的T0装入初值,不同的音符给T0装入的初值不同,即定时器的定时时间将不相同,将产生不同频率的音频脉冲,转换成声音播出的频率也将不同,从而实现7个不同的音符。同时,通过示波器可查看P

9、3.7的音频输出方波。3.3 硬件电路设计分析 因为AT89CXX系列与MCS-51系列单片机相比,有两大优势:第一,片内程序存储器采用闪速存储器,使程序的写入更方便;第二,提供了更小尺寸的芯片,使整个硬件电路的体积更小。它以较小的体积、良好的性能价格比倍受青睐。本次综合实验设计采用89C52单片机。3.3.1 按键模块的设计如图(2)所示为18矩阵键盘模块,其行接P2.0口,其列逐一与P1口相接图(2)因为不同的音符对应的频率是不同的,当按到不同的按键,发出的声音不一样,所以其产生的方波频率信号也会不一样,如下列7个小图对应着7个不同音符的方波频率信号。 图 1 Do 图 2 Re 图 3

10、Mi 图 4 Fa 图 5 So 图 6 La 图 7 Si 3.3.2 LED数码管显示模块的设计 如图(3)所示,为LED数码显示模块电路的设计部分 图(3) 一位共阳数码管 本系统用单片机的P0口的P0.0P0.6来控制LED显示器的数字显示。当有7个音符按键17中有被按下,LED数码管将对应显示出该音符的数字,从而可以通过手动和眼看来确定所按的是哪个音符,应该发出哪个音符的声音。而最后一个功能转换键一旦被按下,程序将会调用倒计3秒子程序,LED数码管将从3开始倒数到0,紧接着进入自动播放音乐子程序,播放程序中通过表格数据形式存放在ROM的音乐代码而形成的乐曲3.3.3 扬声器模块的设计

11、 如图(4)所示为扬声器模块电路图(4) 扬声器模块电路电磁式蜂鸣器由振荡器、电磁线圈、磁铁振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。本设计的蜂鸣器通过驱动电路与单片机的P3.7连接,单片机就可以通过P3.7的输出信号频率就行控制。令外,通过示波器接到P3.7可方便我们观察波形。3.3.4 复位和晶振等其他附属部分的电路设计如图(5)所示,为复位和晶振等其他附属部分的电路图(5) 复位和晶振等其他附属部分的电路 XTAL1、XTAL2分别是系统时钟信号fosc的输入和输出端。晶振电路的设计

12、可以两个电容与一个晶振即可,用来产生一个约等于12MHZ的稳定的频率。复位是单片机的初始化操作,其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。本系统采用上电与按键复位电路,为了防止干扰串扰复位端,所以再接一个去耦电容。4 实验数据1、利用AT89C52的内部定时器T0使其工作在方式1的定时方式下,改变计数值TH0及TL0以产生不同频率的方法产生不同音符。计数脉冲值与频率的关系式是: Nfi2fr式中,N是计数值,fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz),fr是想要产生的频率。其计数初值T的求法如下: T65536N65536fi2fr实验中

13、的K65536,fi1MHz,根据设计要求中给出的音阶频率表,可求出各自的计数初值。T65536N65536fi2fr6553610000002fr65536500000/fr因此,可以通过计算求得各音阶的简谱码T值如下:1 Do的T65536500000/262.1636282 Re的T65536500000/293.7638363 Mi的T65536500000/329.6640214 Fa的T65536500000/349.2641045 So的T65536500000/392.0642616 La的T65536500000/440.0644007 Si的T65536500000/493

14、.964524相应求得在要发出不同音符时先给定时器T0装入的初值如下表:音阶1 Do2 Re3 Mi4 Fa5 So6 La7 Si频率(HZ)261.1293.7329.6349.2392.0440.0493.9 初值 636286383664021641046426164400645242、因为实验中用到的LED数码显示管是共阳极的,所以07八个数字的段码分别为:数字 01234567段码40H79H24H30H19H12H02H78H5 结束语在这一周里,一有空余时间都把时间花在本次实验。其过程很艰苦,有时候做到深夜,但收获是颇多。一开始拿到题目,关于不同频率的音符,我就知道肯定需要用到定时中断来实现,可是自己学习的进度很慢,大多数时间都是自学。不过后来用大量时间去细看每一章节,做起实验来就容易多了。本次设计性实验让我无论

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号