单片机简易电子琴设计_第1页
单片机简易电子琴设计_第2页
单片机简易电子琴设计_第3页
单片机简易电子琴设计_第4页
单片机简易电子琴设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计(2010届本科)题 目: 可演奏电子琴 系(部)院: 物理与机电工程学院 专 业: 电气工程及其自动化 作者姓名: 指导教师: 完成日期: 2013 年 12 月 10 日二一三年十二月目录摘要.1 一、引言.21.1目的和意义.21.2系统主要研究.2 1.3主要芯片简介.2二、系统分析.,.32.1 系统组成.32.2 系统板硬件连线.32.3 8051芯片简介.5 2.4程序流程图. . 6 三、系统使用说明.7 3.1系统安装及配置说明.73.1.1系统运行环境.7 3.1.2系统安装及配置.7 3.2 系统操作说明.7四、结论.7参考文献.8附件:参考程序.9摘

2、60;要电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,具有一定的实用和参考价值,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。本文主要是熟悉单片机的功能,设计简易电子琴,由于电子琴要发出不同的音阶,我们利用不同频率模拟不同的音阶。进行

3、一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。【关键字】:电子琴 单片机 AT89C511 引言1.1 目的和意义单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子

4、科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和扬声器。 本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。本系统是简易电子琴的设计,按下键

5、盘中的按键会使数码管显示当前按键,扬声器播放器对应的音符。通过设计本系统可了解单片机的基本功能。对单片机的了解有一个小的飞跃。1.2 本系统主要研究内容本系统设计制作一个可演奏的电子琴。综合应用了两项设计。(1) 独立连接式键盘识别。(2)不同频率音符播放。可以通过按键控制7种发音。1.3 主要芯片简介 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内

6、集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。    AT89S51具有如下特点:40个引脚(引脚图如图1-2所示),4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,

7、而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。2 系统分析2.1 系统组成本系统只要以51单片机为主控核心,与独立连接式键盘、扬声器、LED显示管模块一起组合而成。该设计要实现一种由单片机控制的电子琴,单片机工作于12MHZ时钟频率,使用其定时/计数器,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号。该设计具有7个音节的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。扬声器 按键单片机AT89C51LED显示电路 图2-1 系统结构图2.2 系统板

8、硬件连线1.把“单片机系统”区域中的P1.0端口用导线连接到扬声器上,扬声器另一输入端接地; 2.把“单片机系统“区域中的P1.3P1.6,P3.5,P3.7端口用8芯排线连接到键盘端口上;3.把“单片机系统”区域中的P2.0P2.3端口用8芯排线连接到四路静态数码显示模块4. 乐曲中不同的音符,实质就是不同频率的声音。通过单片机产生不同的频率的脉冲信号,经过放大电路,由蜂鸣器放出,就产生了美妙和谐的乐曲。 (1)单片机产生不同频率脉冲信号的原理:要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的

9、I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。(2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法如下:例如,频率为523Hz,其周期1/523 S=1912uS,因此只要令计数器计时956uS/1us=956,在每计数956次时就将I/O反接,就可得到中音DO(532Hz)。其计数初值T=65536-956=64580,只要把TH0设置成FCH,把TL0设置成44H就可产生Do音符频率Hz简谱码DO52364580RE58764684ME65964777FA69864820SO78464898

10、LA88064968SI988640302.3 8051芯片简介MCS-51系列单片机芯片均为40条引脚,HMOS工艺制造的芯片用双列直插(DIP)方式封装,各引脚功能说明如下: Vcc(40脚):接+5V电源正端。 Vss(20脚):接+5V电源地端。 P0口(3932):P0口为8位漏极开路双向I/O口,每引脚可吸收8个TTL门电流;P1口(18):P1口是从内部提供上拉电阻器的8位双向I/O口,P1口缓冲器能接收和输出4个TTL门电流;P2口(2128):P2口为内部上拉电阻器的8位双向I/O口,P2口缓冲器可接收和输出4个TTL门电流;P3口(1017):P3口是8个带内部上拉电阻器的

11、双向I/O口,可接收和输出4个TTL门电流,P3口也可作为AT89C51的特殊功能口;   XTAL1(19):反向振荡器放大器的输入及内部时钟工作电路的输入;当采用外部时钟时,对于HMOS单片机,该引脚地; ;  XTAL2(18):外接晶体的一个引脚,来自反向振荡器的输出 RST(9):复位输入。当振荡器复位时,要保持RST引脚2个机器周期的高电平时间;ALE/PROG(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节,在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/

12、6,它可用作对外部输出的脉冲或用于定时目的,要注意的是,每当访问外部数据存储器时,将跳过1个ALE脉冲; PSEN(29):外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期2次PSEN有效,但在访问外部数据存储器时,这2次有效的PSEN信号将不出现; EA/VPP(31):当EA保持低电平时,外部程序存储器地址为(0000HFFFFH)不管是否有内部程序存储器。FLASH编程期间,此引脚也用于施加12V编程电源; 2.4程序流程图开始 根据键号查音频表等待、识别按键         &#

13、160;                    将频率对应的计算值送入定时器  启动定时器 显示按键号 按键放开?是关闭定时器3 系统使用说明3.1 系统安装及配置说明3.1.1系统运行环境WINDOWS XP PROTEUS 7.1 SP2 Keil uv3 2.123.1.2系统安装及配置安装Protues 和keil uVsision3。3.2 系统操作说明 (

14、1)Keil下编译,产生目标HEX文件,Proteus下Programme Files选择产生的HEX文件,点击运行开始模拟。(2)开启本系统,数码管显示“0”。(3)按任意键盘,数码管显示所按下的键盘数,扬声器发出相应的音符。4 结论通过这次课程设计,我学到了不少课本上没有的知识,也锻炼了自己的动手能力,将以前学过的零散的知识串到一起。经过我长时间的设计及调试,本系统基本能实现按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放对应的音符。但由于仿真系统原因,本设计音频效果不是很好。不足之处有:1.可弹奏的音符数较少,只能在一定范围内满足用户需要。可通过改进键盘识别模块和发生模块来增加其复

15、杂度2.音量不可调。我的综合设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软件开发能力都获得了提高。首先硬件方面,基本了解了电子产品的开发流程和所要做的工作。基本掌握了Protel99SE原理图的方法,并设计了一个单片机最小系统。通过开发板的设计和硬件搭建的过程,使我对51系单片机的接口有了更深层次的理解,熟悉了一些单片机常用的外围电路引脚和连接方法,如LED数码管,键盘等。并且我学会了分析问题解决问题的能力,加深了对所学理论知识的理解和运用。我的动手能力得到了很大的提高,创新意识得到了锻炼。参考文献1 彭伟.单片机C语言程序设计实训100例.电子工业出版社.2009年2 吴运昌模拟电

16、子线路基础广州:华南理工大学出版社,2004年3 阎石数字电子技术基础北京:高等教育出版社,1997年4 张晓丽等数据结构与算法北京:机械工业出版社,2002年5 马忠梅等 ARM&Linux嵌入式系统教程北京:北京航空航天大学出版社,2004年6 李建忠单片机原理及应用西安:西安电子科技大学,2002年7 韩志军等.单片机应用系统设计M.机械工业出版社,20048 周润景等. Proteus在MCS-51&ARM7系统中的应用百例M.电子工业出版社,20069 马忠梅等.单片机的C语言应用程序设计M.北京航空航天大学出版社,200610 刘树中,孙书膺,王春平.单片机和液晶显

17、示驱动器串行接口的实现J.微计算机信息,2007附件:参考程序ORG 0000HJMP STARTORG 000BHCPL P1.0MOV TH0,R2MOV TL0,R3RETIorg 001bhINC 20hMOV TH1,#3CHMOV TL1,#0B0HRETIORG 0030HSTART:MOV P2,#00HMOV SP,#05FHMOV TMOD,#11HSETB ET0SETB EASETB ET1MOV 20h,#00H;TEST:CLR P1.6jNB P3.5,B1jNB P3.7,B5SETB P1.6CLR P1.5JNB P3.5,B2JNB P3.7,B6SETB

18、 P1.5CLR P1.4JNB P3.5,B3JNB P3.7,B7SETB P1.4CLR P1.3JNB P3.5,B4SETB P1.3JMP TEST;B1: MOV DPTR,#Y1JMP MUSICB5: MOV DPTR,#Y5JMP MUSICB2:MOV DPTR,#Y2JMP MUSICB6:MOV DPTR,#Y6JMP MUSICB3:MOV DPTR,#Y3JMP MUSICB7:MOV DPTR,#Y7JMP MUSICB4:MOV DPTR,#Y4JMP MUSICMUSIC:MOV 20h,#00HCLR AMOVC A,A+DPTRMOV R0,AJMP TAN_ZOUTAN_ZOU:LCALL QYFSETB TR0SETB TR1AAA:MOV P2,R0MOV A,#0AHCJNE A,20h,AAAMOV 20h,#00HJNB P3.5,AAAJNB P3.7,AAACLR TR0CLR TR1JMP TEST;QYF:PUSH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论