ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:893.92KB ,
资源ID:12119073      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12119073.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机电子琴.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

51单片机电子琴.docx

1、51单片机电子琴摘要 本设计对使用单片机设计简易电子琴进行了分析, 并介绍了基于单片机电子 琴统硬件组成。 利用单片机产生不同频率来获得我们要求的音阶, 最终可随意弹 奏想要表达的音乐。并且本文分别从原理图, 主要芯片, 各模块原理及各模块的 程序的调试来详细阐述。电子琴音色优美,音域较宽,和声丰富,表现力极其丰富。它可模仿多种音 色,还可随意配上类似打击乐音响的节拍伴奏, 适合于演奏节奏性较强的现代音 乐。它还能够作为独奏乐器出现, 具有鲜明的时代特色, 深受广大音乐爱好者的 喜爱,又是我国广大中小学生学习音乐的重要工具,而且电子琴容易制作, 价格 便宜,有很好的市场前景。随着科技的不断发展

2、,电子产品也在不断的进步。现 在的电子产品越来越接近智能化,性能也精益求精。现阶段, 单片机发展日益成 熟,且发展迅猛, 以单片机为核心部件的电子琴将会比以 555 定时器为核心部件 电子琴的性能更加稳定, 而且依靠单片机强大的编程功能更易实现电子琴各音节 所对应频率的产生。所以此次设计具有很现实的意义。本次设计的目的主要是复习并运用我们所学的单片机知识, 同时通过本次设 计能够对电子电路以及作图软件等方面的知识有进一步的认识并掌握;熟悉 AT89S52 单片机的内部结构和功能, 合理利用其功能实现简单设计, 能够完成相 关软件编程设计工作; 掌握一般的简单电子电路的设计方法。 本次设计的主要

3、内 容是利用单片机编程设计出具有发出标准高中低的 Dou,Ruai,Mi ,Fa、Sou,La,Si, Dou (高音)21个音的功能并能通过9个按键控制的电子琴。它包括数码显 示电路、时钟电路、复位电路、发声电路以及键盘接口电路。1概述 错 误 !未定义书签。电子琴功能模式介绍 错误 !未定义书签。系统设计的任务与要求 错误 !未定义书签。2系统总体方案及硬件设计 错 误 !未定义书签。2. 1 系统总体方案 错误!未定义书签。定时 /计数器的设计和状态字定义 错误!未定义书签。音调数据表 错 误 !未定义书签。总体硬件组成框图 错误 !未定义书签。主要芯片简介 错 误 !未定义书签。子系统

4、模块一 错 误 !未定义书签。子系统模块二 错 误 !未定义书签。子系统模块三 错 误 !未定义书签。AT89S52复位模块 错误!未定义书签。AT89S52晶振模块 错误!未定义书签。3软件设计 错误!未定义书签。系统软件设计 错误!未定义书签。内置歌曲输出 错误!未定义书签。音阶键识别 错误!未定义书签。系统总流程图 错误!未定义书签。4Proteus 软件仿真 错 误 ! 未定义书签。程序仿真 错误!未定义书签。proteus 仿真 错误!未定义书签。5课程设计体会 错误!未定义书签。参考文献 错 误 ! 未定义书签。附 1 源程序代码 错误!未定义书签。附 2 系统原理图 错误!未定义

5、书签。1 概述电子琴功能模式介绍本次设计提出了用 AT89S52 单片机为核心控制元件,设计一个简易的电子 琴。本方案以AT89S52单片机作为主控核心,与键盘、扬声器、显示等模块组成 核心主控制模块在主控模块上设有 7个按键和扬声器。 在弹奏模式方面, 可根据 使用者的操作随意弹奏想要表达的音乐。 而在播放音乐方面, 一首音乐是许多不 同的音阶组成的,而每个音阶对应着不同的频率 ,再加上一定的延时作为节拍, 这样我们就可以利用不同的频率的组合, 即可构成我们所想要的音乐了, 当然对 于单片机来产生不同的频率非常方便, 我们可以利用单片机的定时/计数器T0来 产生这样方波频率信号。 查找想要播

6、放歌曲的歌谱, 翻译出对应的频率及延时节 拍,存储到单片机存储单元里,再通过所编程序即可控制歌曲播放。系统设计的任务与要求实现电子琴发声控制系统;要求电路实现如下功能: 利用蜂鸣器作为发声部件, 1个数码管作为显示部件,设置 8个按键,实现 高音、中音、低音的 1、 2、 3、 4、 5、 6、 7 的发音。并在存储一首歌曲的内容, 可以实现自动播放。用PROTEU实现的电子琴仿真设计。说明:单片机的工作时钟频率为 12MHz。2系统总体方案及硬件设计本系统采用单片机AT89S52为电子琴的控制核心,系统主要包括播放模块、 按键弹奏模块。下面对各模块的设计逐一进行论证比较。2. 1系统总体方案

7、本次设计提出了用 AT89S52单片机为核心控制元件,设计一个简易的电子 琴。本方案以AT89S52单片机作为主控核心,与键盘、扬声器等模块组成核心主 控制模块在主控模块上设有7个按键和扬声器。根据使用者的操作随意弹奏想要 表达的音乐。一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率, 这样我们就可以利用不同的频率的组合, 即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便, 我们可以利用单片机的定时/计数器T0来产生这样方波频率信号。定时/计数器的设计和状态字定义若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2, 即为半周期的时间。利用定时器计

8、时半周期时间,每当计时终止后就将反相, 然后重复计时再反相。就可在引脚上得到此频率的脉冲。 利用AT89S52的内部定时 器使其工作计数器模式(M0DE1 )下,改变计数值TH0及TL0以产生不同频率 的方法产生不同音阶,例如,频率为 523Hz,其周期T= 1/523= 1912卩因此只 要令计数器计时956卩s/1 =s956,每计数956次时将I/O反相,就可得到中音 DO (523Hz)。计数脉冲值与频率的关系式是: N = fi -2了式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz); fr是想要产生的频 率。其计数初值 T的求法如下:T= 65536-

9、 N = 65536 - fi - 2-fr例如:设 K= 65536, fi = 1MHz,求中音 DO (261Hz) 0 T= 65536- N = 65536 fi - 2M65536- 1000000十 2-fr 65536- 500000/fr,中音 DO 的 T= 65536- 500000/523= 64580。单片机12MHZ晶振,中音符与计数T0相关的计数值如表所示:表2-1音符频率表音符频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)低1 DO26263628# 4 FA#74064860#1 DO#27763731中5 SO78464898低2 RE294638

10、35# 5 SO#83164934#2 RE#31163928中6 LA88064968低3 M33064021# 693264994低4 FA34964103中7 SI98865030# 4 FA#37064185高1 DO104665058低5 SO39264260# 1 DO#110965085# 5 SO#41564331高2 RE117565110低6 LA44064400# 2 RE#124565134# 646664463高3 M131865157低7 SI49464524高4 FA139765178中1 DO52364580# 4 FA#148065198# 1 DO#5546

11、4633高5 SO156865217中2 RE58764684# 5 SO#166165235# 2 RE#62264732高6 LA176065252中3 M65964777# 6186565268中4 FA69864820高7 SI196765283采用查表程序进行查表时,可以为这个音符建立一个表格,有助于单片机通 过查表的方式来获得相应的数据:低音 019之间,中音在20-39之间,高音 在40 59之间用单片机播放音乐,或者弹奏电子琴,实际上是按照特定的频率,输出一连 串的方波。为了输出合适的方波,首先应该知道音符与频率的关系。音调数据表单片机发出不同频率的方波,人听起来,就是不同的音

12、调。上表中的频率数 值,有些过多,去掉不常用的黑键频率,只是把白键对应的数据存放在单片机中,即可满足绝大部分的应用需求。定义音调数据表的程序如下:DW 63628,63835,64021,64103,64260,64400,64524,64580氐音区:1 2 3 4 5 6 7 DW 64580,64671,64777,64820,64898,64968,65030 ,6505沖音区:1 2 3 45 6 7DW 65058,65110,65157,65178,65217,65252,65283, 6531高音区:1 2 3 4 5 6 7 把这个数据表,放在程序中,需要播音的时候,就从表中

13、取出一个数据送到 定时器,当定时器溢出中断的时候,再对输出引脚取反,那么,在扬声器中,即 可听到上表中频率的声音。音乐的音拍,一个节拍为单位( C调)表2-2曲调值表曲调值DELAY曲调值DELAY调4/4125ms调4/462ms调34187ms调3494ms调04250ms调2/4125ms总体硬件组成框图实验中每按下一个琴键,单片机能够检测到键盘的按键,并根据按键的位置, 通过程序来控制,使蜂鸣器发出不同频率(音调)的声音,声音延迟一段时间, 等到按键放开之后,声音停止。然后再继续扫描 ,看是否有键按下。如此循环, 即可实现基本的琴键功能。显示输出播放模块蜂鸣器中心控制模块按键控制模块#

14、 图2-1总体硬件组成框图主要芯片简介与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦 写周期、全静态操作:0Hz33Hz、三级加密程序存储器、32个可编程I/O 口线、 三个16位定时器/计数器八个中断源、全双工 UART串行通道、低功耗空闲和掉 电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。AT89S52具有如下特点:40个引脚(引脚图如图1-1所示),4k Bytes Flash 片内程序存储器,128bytes的随机存取数据存储器(RAM), 32个外部双向输入 /输出(I/O) 口,5个中断优先级2层中断嵌套中断,2个16位可编程定时

15、计数 器,2个全双工串行通信口,看门狗(WDTC电路,片内时钟振荡器。P0 口: P0 口是一个8位漏极开路的双向I/O 口。作为输出口,每位能驱动 8个TTL逻辑电平。对P0端口写“ 1时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0 口也被作为低8位地址/数据复用。在这种模式下,P0具有 内部上拉电阻。 在flash编程时,P0 口也用来接收指令字节;在程序校验时, 输出指令字节。程序校验时,需要外部上拉电阻。P1 口: P1 口是一个具有内部上拉电阻的 8位双向I/O 口,P1输出缓冲器 能驱动4个TTL逻辑电平。对P1端口写“ 1时,内部上拉电阻把端口拉高,此 时可以作为输

16、入口使用。P2 口: P2 口是一个具有内部上拉电阻的 8位双向I/O 口,P2输出缓冲器能 驱动4个TTL逻辑电平。对P2端口写“ 1时,内部上拉电阻把端口拉高, 此时可 以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因, 将输出电流(IIL)。P3 口: P3 口是一个具有内部上拉电阻的 8位双向I/O 口,p2输出缓冲器 能驱动4个TTL逻辑电平。P3 口亦作为AT89S52特殊功能(第二功能)使用, 在flash编程和校验时,P3 口也接收一些控制信号。PIl-D.Dara.idMDira.unDiP1Q.TAD7piMirrT panwTi pi.VTO E 凰3

17、民亦1艮图 2-2 AT89S52子系统模块一LED显示模块如图2-2所示,利用AT89S52单片机的P2端口的连接到一个 七段数码管的ah的笔段上,数码管的公共端接电源。矩阵扫描显示当前按键 模块如下:图2-3 LED数码管子系统模块二播放模块是蜂鸣器构成。它几乎不存在噪声,音响效果较好, 而且由于所需驱动功率较小,且价格低廉,所以被广泛应用。图2-4蜂鸣器播放器子系统模块三电子琴设有7个按键,分别代表7个音符,包括中音段的全部音符。通过软硬件 设计,按键触发外部中断,中断使程序跳转,实现模式转换,启动电子琴。然后 通过查询电子琴所按下的按键,读取电子琴输入状态,跳转到对应的程序人口, 实现

18、各种琴键的声音。图2-5按键排列AT89S52复位模块开关按下,实现单片机的复位。此复位电路连接到 AT89S52的 RST管脚上AT89S52晶振模块本次采用12MHZ晶振,机器周期为1us,连接两个电容,连接到 AT89S52 的XTAL1,XTAL上面,连接电路图2-7。 C230p TEXTC330p图2-7晶振模块3软件设计系统软件设计软件是该电子琴控制系统的重要组成部分, 在系统的软件设计中我们也才用 了模块化设计, 将系统的各部分功能编写成子模块的形式, 这样增强了系统软件 的可读性和可移植性。本设计用的C语言编程。C语言是一种计算机程序设计语言。它既有高级语 言的特点,又具有汇

19、编语言的特点。它可以作为系统设计语言, 编写工作系统应 用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因 此,它的应用范围广泛。本设计用的keil软件,Keil C51卩Visic集2成开发环境是 Keil Software, Inc/Keil Elektronik GmbH 开发的基于 80C51 内核的微处理器软件开发平台,内嵌多种符 合当前工业标准的开发工具,可以完成从工程建立到管理、编译、链接、目标代 码的生成、软件仿真、硬件仿真等完整的开发流程尤其是 C编译工具在产生代码的准确性和效率方面达到了较高的水平, 而且可以附加灵活的控制选项, 在开发 大型项目时非常理

20、想。内置歌曲输出一首音乐是许多不同的音阶组成的, 而每个音阶对应着不同的频率, 这样我 们就可以利用不同的频率的组合, 即可构成我们所想要的音乐了, 当然对于单片 机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器TO来产生这 样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系正确即可。利用AT89S52的内部定时器T0使其工作计数器模式(MODE1)下,改变计 数值TH0及TL0以产生不同频率的方法产生不同音阶。将编写好的歌曲程序写入 单片机存储区, 其中高四位表示音阶,低四位代表其所延时的节拍。通过开关控 制其播放。本设计所选歌曲截自邓丽君的月亮代表我的心其歌曲程序如下:

21、 uchar code Music=0X16,0X12,0X14,0X22,0X32,0X26,0X12,0X94,0X22,0X32,0X2C,0X32,0X52,0X36,0X22,0X14,0X54,0XAC,0X92,0XA2, 0X96,0X0A2,0X96,0X82,0X3C,0X54,0X36,0X22,0X14,0X54, 0XAC,0X92,0XA2,0X16,0X12,0X14,0X22,0X32,0X2C,0X02,0X82, 0X16,0X32,0X56,0X12,0XA6,0X32,0X56,0X52,0X66,0X72,0XB6,0X62, 0X62,0X52,0X

22、58,0X32,0X22,0X16,0X12,0X14,0X32,0X22, 0X16,0X12,0X14,0X22,0X32,0X26,0X92,0XA4,0X12,0X22,0X1C, 0XFF;音阶键识别七段LED显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。 LED数码管的ga七个发光二极管因加正电压而发亮, 因加零电压而不以发亮,不同亮暗的组合就 能形成不同的字形,这种组合称之为字形码。本系统按键显示模块软件流程图如下:图3-1音阶显示流程系统总流程图图3-2总流程图4 Proteus软件仿真程序仿真在系统设计中采用模块

23、设计法,所以方便对各电路模块功能进行逐级测试: 中心控制模块的调试,音乐播放模块的调试, 按键控制模块的调试等,最后将各模块组合后进行整体测试。首先对各模块的功能进行调试,主要调试各模块能否 实现指定的功能。然后通过Keil软件对编好的程序进行调试,检查语法错误。Keil 下编译,产生目标 HEX文件,Proteus下Programme Files选择产生的HEX文件, 点击运行开始模拟。其中keil的运行截图如下:gnif jul 1CT nijfli 圧码| rruiiefjn 巒 jW rrmo ryp17 1薦17S171130181132 1器IIHW1ST1&11葡19119?i

24、lU *IE 1 u.4 Build target Ta&t 1Mtpilibf py.c. liunnq.Progrffl Sim: data-lSJ xdstH code町59 cratiig tai file fnn 够jj/ 0 Eii3a i Wcidihs(s).图4-1程序运行proteus 仿真首先,尝试仿真模拟,低音曲调。通过长按和断开微动开关,改变频率,实现高中低音的切换。低音的频率最低,故最先实现。如图 4-2,用显示数字“ 0”代表低音。据观察,实现方便。图4-2低音显示再次长按住微动开关,即可提高频率,使之达到设定的中音频率,用数字“ 1” 代表中音。尝试比较,同一音

25、符的不同音调即可辨别中低音的区别。其音调略高 于低音,需细细辨别。如图4-3,中音显示。中音相比较,便可分辨出。本次仿真用数字“ 2”代替高音。仿真结果显示2图4-4咼音显示接上电源,即开始播放。虽然有点小模糊,但是依稀可以辨别歌曲。另一个 微动开关可实现乐曲的停止,即单片机的复位。再次按住,实现重新播放。见图 4-5。图4-5 歌曲播放电子琴的关键功能是能弹奏乐符,上述仿真已经完成了高中低音和内置歌曲 播放。现在,开始真正的音符仿真调试。音符有 7个,分别是1,2,3, 4,5, 6,7,形声以DO、RA、M、FA SO LA、SI试音。分别尝试按七个微动开关, 切换于不同的频率,发出不同的

26、音阶。再分别用高、中、低音发声,分别听取不 同的音调。声音清脆悦耳,但有点延时,有待调整。另外,一个微动开关的动合 实现内置歌曲和弹奏的切换。在播放内置歌曲时,按下某微动开关,歌曲停止, 便可开始音阶弹奏。本次报告截取音阶7的Proteus仿真图。见图4-6。by哨佩佩主翠云date:2012-15 :图4-6音阶7的仿真5 课程设计体会通过这次单片机课程设计, 我们加深了对单片机理论的理解, 将理论很好的 应用到实际当中去。尤其是这次做了一个实物, 锻炼了动手能力, 很好的克服了 眼高手低的毛病。这次单片机课程设计,让我有不小的收获。在学习态度上, 这次课程设计是 对我们的学习态度的一次检验

27、。 对于这次单片机综合课程设计, 我的第一大心得 体会就是作为一名工程技术人员, 要求具备的首要素质绝对应该是严谨。 我们这 次设计所遇到的多半问题都是由于我们不够严谨。在做人处事上,我认识到, 无 论做什么事情,只要你足够坚强,有足够的毅力和决心, 有足够的挑战困难的勇 气,就没有什么办不到的;同学们相互帮助,可以进步很快,团队协作真的很重 要,帮助他人可以有更多成就感,获得更大的快乐。在实习之前, 我们要对所用单片机的内部结构有一个比较系统的了解, 知道 该单片机内有哪些资源; 要有一个清晰的思路和一个完整的软件流程图; 在设计 程序时,不能妄想一次性就将整个程序设计好, 反复修改, 不断

28、改进是程序设计 的必经之路;要养成注释程序的好习惯, 一个程序的完美与否不仅仅是实现功能, 而应该让人一看就明白你的思路, 这样也为资料的保存与交流提供了方便, 从实 践中学到的知识会让我们受益终身。发现、提出、分析、解决问题和实践能力提 高都会受益于我在今后的学习、工作和生活中。在设计过程中和完成后,我认真总结,有以下体会:1.此次课程设计是在上学期单片机原理与技术的基础上进行的,整个 实验设计过程相对比较熟悉,是把以前学习的零碎的内容系统的整合学习。2.本实验要充分了解电子琴的程序,清楚每个模块功能,认真按照步骤编 译、链接、运行以生成可执行文件,并将此文件植入 AT89S52中进行仿真。

29、3.在经过两周的设计过程中,通过大量的查阅资料,认真的研究教材,并 向指导老师请教很多问题,自己对单片机有了更为深刻的理解。我们认真演 示原理,画出程序流程图,通过源程序,做出电路图,在仿真中发现很多问 题,通过仔细研究,不但解决了问题,还学到了在平时的学习中学不到的东 西。4.在设计过程中,进一步的掌握 Proteus、 Word、 Keil 等软件的应用,也了 解了单片机开发的基本环节。5. 在焊接实物过程中应合理布局各元件,不仅要实现功能而且还要美观参考文献1余发山,王福忠 .单片机原理及应用技术 .中国矿业大学出版社,2杨凌霄 .微型计算机原理与应用 .中国矿业大学出版社,3贾立新,王

30、涌 .电子系统设计与实践 M. 清华大学出版社,4陶春鸣,陈享成,瓮嘉民 .单片机使用技术 M. 人民邮电出版社,5李光飞 .单片机课程设计实例指导 M. 航空航天大学出版社,余永权.ATMEL89系列单片机M.北京航空航天大学出版社,7胡宴如,耿苏燕 .模拟电子技术 M. 高等教育出版社,8赵润林,张迎辉 .单片机原理与应用教程 M. 北京大学出版社,9马淑华,王凤文,张美金 .单片机原理与接口技术 M. 北京邮电大学出版社,10李建忠 .单片机原理及应用 M. 西安电子科技大学出版社,附 1 源程序代码#include #define uchar unsigned charvoid Run(void);void KeyScan(void);void PlayKey(void);void delay_1ms(uchar i);void PlayMusic(void);void DisPlay(void);/ 显示sbit Beep=P3A7; 蜂鸣器接口uchar Th0,Tl0;uchar

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1