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

下载本文档

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

文档简介

1、( 20152015 届)届) 毕业设计毕业设计 题 目: 基于单片机的简易电子琴设计 姓 名: 林初丰 专 业: 电气工程及其自动化 班 级: 电气 N111 学 号: 6 指导教师: 程海玉 导师职称: 讲师 嘉兴学院南湖学院教学事务管理中心 年 月 日 诚诚 信信 声声 明明 我声明,所呈交的设计是本人在老师指导下进行的研究工作 及取得的研究成果。据我查证,除了文中特别加以标注和致谢的 地方外,设计中不包含其他人已经发表或撰写过的研究成果,也 不包含为获得嘉兴学院南湖学院或其他教育机构的学位或证书而 使用过的材料。我承诺,设计中的所有内容均真实、可信。 设计作者签名: 签名日期: 年 月

2、 日 授授 权权 声声 明明 学校有权保留送交设计的原件,允许设计被查阅和借阅, 学校可以公布设计的全部或部分内容,可以影印、缩印或其他 复制手段保存设计,学校必须严格按照授权对设计进行处理, 不得超越授权对设计进行任意处置。 设计作者签名: 签名日期: 年 月 日 基于单片机的简易电子琴设计基于单片机的简易电子琴设计 摘摘 要要 本设计核心内容是关于基于 AT89C51 单片机的简易电子琴设计。系统由单片机 AT89C51、独立键盘模块、功率放大模块、扬声器、数码管所组成。其软件部分主要 有主程序模块、播放模块、按键模块、显示程序。 本设计首先要对 AT89C51 单片机有一定的认识,继而按

3、照电子琴功能制作出硬件 电路并编写源程序,最后对其进行仿真调试。系统带有 10 个独立按键,其中 8 个独立 按键分别代表 8 个音符,8 个按键每个按键在数码管也会对应一个字符来指示用户所按 下的按键,还有两个为功能按键按键。同时本系统还带有一个存储播放音乐的功能, 使用者可以通过按下功能按键来播放存储的歌曲,系统会把用户程序内存储的音符进 行播放,在自动播放的过程中如果按下另外一个功能按键则中断播放歌曲。本次设计的 主要优点有硬件电路结构简单易实现,电子琴所需功能基本具备,系统稳定可靠. 关键词:关键词:at89c51,电子琴,弹奏 Design of a simple electroni

4、c organ based on single chip microcomputer ABSTRACT This design is the core content of simple electronic organ based on AT89C51 is designed. System by single chip microcomputer AT89C51, independent keyboard module, power amplification module, speaker, digital tube. Its software part mainly has the m

5、ain program module, the module, keys module, display applications. This design must first have a certain understanding of AT89C51, then according to the electronic organ functions produce hardware circuit and the programs are the source, finally carries on the simulation debugging. System with 10 in

6、dependent key, including eight independent keys represent the eight notes, each key eight buttons in the digital tube will also corresponds to a character to indicate the user press the button, and two for the key button. Simultaneously this system also comes with a storage play the function of musi

7、c, the user can press the function button to good songs, storage system will store the user program in the notes to play, in the process of automatic playback if press buttons on another function is the interrupt play songs. The design of the main advantage of the hardware circuit structure is simpl

8、e to implement, electronic organ function basically, the system is stable and reliable. Keywords: At89c51, electronic organ, playing, recording. 目录目录 1 绪论.4 1.1 单片机背景.4 1.2 单片机电子琴应用.5 2 电子琴方案设计.6 2.1 设计要求.6 2.2 电子琴设计方案.6 3 硬件设计.8 3.1 单片机.8 3.1.1 AT89C51 简介.8 3.1.2 主要的功能特性.8 3.1.3 I/O 端口介绍.8 3.1.4 定时

9、/计数器的应用.8 3.2 按键设计.10 3.3 LED 数码管 .10 3.3.1 数码管的驱动方式.10 3.3.2 数码管的选择.11 3.4 扬声器.12 4 软件设计.14 4.1 程序流程图.14 4.2 程序语言的选择.14 5 仿真调试.16 5.1 Proteus 简介.16 5.2 keil 简介与教程.16 5.3 利用 keil 与 Proteus 进行的调试.19 6 总结与展望.22 参考文献.23 附录.25 附录 1 主要电路原理图.25 附录 2 主要程序.25 1 绪论绪论 1.1 单片机背景单片机背景 单片机是经典的嵌入式微控制器(Microcontro

10、ller Unit) ,缩写为MCU,最早是被 利用于工业控制领域。因为在工业控制领域单片机有着广泛的应用,所以诞生了单片 机开发板这样的系统使更多的产品开发人员、业内人士、学生来学习单片机这门技术, 其中比较出名的单片机开发板有电子人DZR-01A。单片机是从芯片内部仅有的特殊处 理器发展起来的,它最开始的设计思路是将CPU与大量的外围设备通过一个微处理器 集成在一起,从而使得计算机系统变得更迷你,组装到繁杂的且对体积要求比较小的 控制装备之中更简单。Zilog公司的Z80便是最早使用这种设计思想做出来的的cpu,自 此以后,单片机和计算机CPU的发展便成为了两个不同的方向。 早期的单片机都

11、是8位或4位的,当中做的最好的是英特尔的8031,因为简单稳定 和不错的性能而获得了广大好评。此后,英特尔又在8031的基础上发展出了MCS-51系 列的单片机系统。由于这一单片机系统的简单可靠,直到现在还在被人们广泛的使用。 随着技术的发展,工业控制领域的要求越来越高,便出现了16位单片机,但是因为性 价比不高所以没有得到大量的应用。随着电子消费产品的大发展,单片机技术在90年 代后也得到了很大提升。随着英特尔i960系列和ARM系列的广泛应用,16位单片机的 高端地位也被32位单片机迅速取代,自此32位单片机进入主流市场。同时传统的8位单 片机性能也得到了很大的提升,比80年代的处理能力提

12、升了数百倍。现在,高端的32 位单片机主频已经超越了300MHz,其性能已经相当于90年代中期的专用处理器,而其 价格也降低了很多,普通的型号出厂价格只需1美元,最高端的型号的单片机也只要10 美元。现在的单片机系统已经不是只在裸机环境下使用和研发,单片机开始广泛应用 海量的专用的嵌入式操作系统。甚至有些作为手机和掌上电脑核心处理的高端单片机 已经可以直接应用专用的Windows操作系统和Linux操作系统。对于嵌入式系统来说, 单片机比专用处理器更加适合应用,所以它在这方面得到了最多的应用。事实上,单 片机这一计算机类别是世界上数量最多的计算机,因为它出现在现代人类生活中所用 的几乎所有机械

13、与电子产品中。电子玩具、家用电器、计算器、电话、手机、掌上电 脑以及鼠标等电脑配件中都会配有1-2块单片机,个人电脑中也会拥有不少数量的单片 机在运作。普通汽车上都会装备40多块单片机,而复杂庞大的工业控制系统中甚至会 发生数百块单片机同时运行的情况! 单片机相当于把一个复杂的计算机系统浓缩到一个微小的芯片上,它计算机相比 只缺少了输入/输出设备,所以可以把它看作一个微型的计算机。可以概况的讲成:一 块相当于一台计算机的芯片。它的质量轻、体积小、价格便宜、为开发、应用和学习 提供了便利条件。所以,如果你想要了解计算机原理与结构,那么学习使用单片机是 最简单的选择。 1.2 单片机电子琴应用单片

14、机电子琴应用 而电子琴是大规模集成电路和音乐结合的产物,它因为能模拟各种乐器的音色而 受到群众们喜爱。本设计制作了一种除了有普通电子琴弹奏功能外,还拥有一种存储播 放乐曲功能。本设计是以AT89C51单片机作为一个简单电子琴系统设计的核心部件, 其原理是因为每个表有固定的振动频率,所以可以利用89C51单片机内部的定时计数 器改变计数值来产生各个音调对应的方波频率来驱动扬声器播放出不同音调。这仅仅 只是单片机应用的一个点,希望能由点到面,更好的了解和应用单片机技术。 2 电子琴方案设计电子琴方案设计 2.1 设计要求设计要求 利用AT89C51单片机作为主要控制元件设计一个简单按键式的电子琴系

15、统。要求 可以弹奏出8种基本的音调,包括中音段的Do、Re、Mi、Fa、SO、La、Si全部音符和 高音Do,弹奏键盘的同时扬声器会产生当前的播放音调,数码管会显示出所对应的数 字,以便于培养乐感。而且要有一个功能按键,按下此按键可以自动播放已存储的歌 曲,在自动播放的过程中如果按下停止键则中断播放歌曲,另外还可适当调节音量的 大小。 2.2 电子琴设计方案电子琴设计方案 电子琴的硬件总体设计框架和系统思路拟采用以下模块结构,如图1所示。 图 1 系统结构框图 系统由AT89C51单片机、独立键盘、音频功率放大模块、扬声器、数码管、存储 播放模块所组成。键盘模块的8个弹奏按键分别代表8个音调,

16、使用者按下每个按键, 单片机就会产生每个音调对应频率的方波,并且通过音频功率放大模块驱动扬声器发 出对应的声音。用户按下每个弹奏按键时,数码管也会将每一个对应字形显示出来。 这个电子琴系统还设有存储播放功能,当用户按下功能按键来切换到特定播放音乐模 式时,单片机就会把用户事先存储好的乐曲进行播放,在自动播放的过程中如果按下停 止键则中断播放歌曲。 本次设计采用AT89C51单片机的两个定时器(如T0,T1)控制频率,在P1.0引脚 上输出方波周期信号,产生声音,按下不同的模拟按键就会产生不同的音符,所以使 用者可以通过本电子琴系统畅所欲为的弹奏自己想要弹的乐曲。 因为一首乐曲是由许多不同的音调

17、组成的,而每个音调都有其一一对应着的不同 频率,所以需要组合各个不同的频率来构成所想要得到的歌曲了。但是对于单片机来 说,想要产生不同的频率非常便捷,因为如果单片机某个引脚输出的高低电平的频率 数码管 主控模块 单片机 键盘 功率放大模块 扬声器 独立按键 (存储播放) 和某个音调的频率一样,那么在此引脚接上扬声器就可以发出和此音调相同的声音, 所以在单片机上想要产生规定频率的方波信号只要先在某一口线输出高电平,接着延 迟一小段时间输出低电平,这样重复循环的输出信号就会产生一个规定频率的方波, 简单来说就是通过定时/计数器T0改变输出信号延迟的时间来改变输出方波的频率。因 此,想要通过单片机得

18、到一个音调,只要找到这个音调对应频率即可。而播放歌曲部 分,需要在编程的时候将每一音调的时间常数作为一组,延时节拍常数再作为一组, 将乐曲中的所有常数按照固定顺序排列成一个表,通过循环语句依次播放,就能产生 具有一定节奏的音调,就可以实现播放歌曲了。 3 硬件设计硬件设计 3.1 单片机单片机 3.1.1 AT89C51 简介简介 AT89C51是一种闪速存储器,内置的高性能CMOS微处理器芯片具有低电压、低 功耗的特点,在其内置的通用的Flash和8位CPU的帮助下,使其功能非常的强大。 89c51是用静态逻辑设计的,跟8051相比,它还带有省电模式,即休闲方式和掉电方式。 它用Flash

19、ROM替换了ROM/EPROM,但是芯片外部引脚和指令系统却是与早期的 8051/8751/8031完全兼容。由于内部使用了Flash ROM,单片机的开发及应用就别以前 更加简单了。外形及引脚排列如图2所示。 3.1.2 主要的功能特性主要的功能特性 1.4K 字节可编程闪烁存储器 2.与 MCS-51 兼容 3.寿命:1000 写/擦循环 4.数据保留时间:10 年 5.全静态工作:0Hz-24Hz 6.三级程序存储器锁定 7.128*8 位内部 RAM 8.32 可编程 I/O 线 9.两个 16 位定时器/计数器 10. 5 个中断源 11. 可编程串行通道 12. 低功耗的闲置和掉电

20、模式 13. 片内振荡器和时钟电路 图 2 AT89C51 3.1.3 I/O 端口介绍端口介绍 P0口:每一个P0接口引脚可以接受8个TTL门电流。它的工作原理是当更改P0口的 管脚电平,当P0口的管脚的电平被改写为1的时候,此时P0口的输出状态就被定义为高 阻输出。如果通过端口对单片机的Flash进行编程的时候,P0接口可以作为一个源代码 的输入端口,就相当于输入端,而在对单片机的Flash进行校验的时候,P0接口可以作 为一个源代码的输出端口,此时P0端口的外部必须接一个上拉电阻。除此之外,P0端 口还能够外部程序数据的储存器,这时P0引脚的作用与之前的有所不同,其功能被重 新定义为数据

21、地址的低8位。 P1口:P1口作为一个其内部自带上拉电阻的一个8位的双向I/O接口,可以作为一 个缓冲器来使用,当它作为缓冲器的时候能够接受4个TTL门电路的电流缓冲器。而当 P1口的管脚的电平被改写为1的时候,其内部的电平也跟着被拉高,而这个时候,P1口 可以作为输入口来输入电流。相反,如果当P1口的管脚的电平被改写为0的时候,P1口 可以作为输出口来输出电平,这是因为其内部上拉的缘故。P1口还有一种功能就是作 为低八位地址接收数据,而在实现这个功能时只有在内部的Flash在进行编程和校验。 P2口:P2口的作用基本和P1口相同,其内部和P1口一样,也是一个自带上拉电阻 的8位双向I/O接口

22、,同样也可以作为一个缓冲器来使用。与P1口不同的是,P2口在作 为缓冲器的时候能够同时接受或输出4个TTL门电路的电流缓冲器。跟P1相同,当P2口 的管脚的电平被改写为1的时候,其内部的电平也跟着被拉高,而这个时候,P2口就作 为输入口来输入电流。相反,如果当P2口的管脚的电平被改写为0的时候,P2口就作为 输出口来输出电平。 P3口:P3口管脚的内部也集成了8个同样拥有上拉电阻功能的双向I/O接口。其功 能大致与P2口、P1口相同,能够同时接受或者输出4个TTL门电流。当P3口的电平被改 写为高电平的时候,其内部的电平会在其内部上拉电阻的作用下变成高电平,当P3口 的电平被改写成低电平的时候

23、,内部电平也被下拉为低电平,这时候的P3口将输出ILL 电流。 P3口也可作为特殊功能口,如下所示: P3.0 串行输入口 P3.1 串行输出口 P3.2 外部中断0 P3.3 外部中断1 P3.4 T0外部输入 P3.5 T1外部输入 P3.6 外部数据存储器写选通 P3.7 外部数据存储器读选通 3.1.4 定时定时/计数器的应用计数器的应用 AT89C51单片机内部有两个定时/计数器,它们实际上是个16位加1计数装置。它对 片内振荡器输出的脉冲计数时称为定时器,对外部脉冲信号计数时称为计数器。当对 单片机片内振荡器输出的脉冲计数时,每隔一个机器周期定时器就加1计数值,当计数 值计满溢出时

24、计数完毕并通知单片机。改变AT89C51的定时器里面的特殊功能寄存器 TH0及TL0在模式1下的计数值,便会产生不同方波频率,然后通过扬声器产生对应的 音调。例如,需要频率为1046Hz时,其周期为T=1/1046=956s,因此只要令定时/计 数器计数956/2=478次,相应的取反输出也是478次,就可得到高音DO(1046Hz) 。 脉冲计数值与频率的关系式为: (3-1)/fr)fi/2(N 此式中,N是计数值;fi是单片机计数频率(采用12MHz晶振时,经12分频后其输 出频率为1MHz) ;fr为所需要转换的频率。 其计数初值T的求法如下: (3-2)/fr 2 fi KNKT 公

25、式中K为单片机的定时/计数器在模式1下的最大计数值,即K216 =65536;所 以可以根据这个公式算出T值: (3-3) fr 500000 65536/fr 2 fi 6553665536NT 例如,中音DO的fr为523,那么它的计数值就为T=65536/523=64580 从网上查阅到各音调对应的频率,并通过计算解出T值,最后得到下表: 表 1 各音调频率(HZ)与计数值 T 的对照表 音调频率T 值 中 1DO52364580 中 2RE58764633 中 3MI65964732 中 4FA69864820 中 5SO78464898 中 6LA88064968 中 7SI9686

26、5030 高 1DO104665058 所以可设置定时器初值变化以产生相应频率的定时 unsigned char code yinfu= 0 xfb,0 xe9, /Do 0 xfc,0 x5c, /Re 0 xfc,0 xc1, /Mi 0 xfc,0 xef, /Fa 0 xfd,0 x45, /So 0 xfd,0 x92, /La 0 xfd,0 xd0, /Si 0 xfd,0 xee, /Do# 0 x00,0 x00 /音调间的间隔 而歌曲的节拍部分,采用了一个15MS的延时,对它进行循环来达到节拍的作用。 3.2 按键设计按键设计 本设计共含有10个按键,其中8个按键分别接着P

27、2.0P2.7引脚,代表着8个音符。 当按下这八个按键其中一个按键时,数码管也会显示一个与音调对应的数字来指示用 户所按下的按键。而另外两个按键为功能按键,按下可播放已存储的歌曲,另一个按 下可中断播放音乐。这两个功能按键连接着的引脚分别是P3.2、P3.3。如图3所示。 图 3 键位图 3.3 LED 数码管数码管 3.3.1 数码管的驱动方式数码管的驱动方式 若要使数码管正常发光,就必须使用驱动电路来驱动数码管的各段发光二极管, 然后通过不同的组合得到想要的数字。而数码管的驱动方式又可以分为两种,分别是 静态式和动态式。 静态显示驱动:静态驱动也被叫作为直流驱动。直流驱动是指每一段数码管都

28、 由一个单片机的输入/输出接口执行驱动,也可以用像BCD码二-十进制译码器这样的译 码执行驱动。直流驱动的优点是二极管发光高而稳定,编写程序容易,缺点为占用输 入/输出接口多,比如要驱动四个数码管静态显示就需要4832根输入/输出端口来驱 动(一个89C51单片机的输入/输出接口也就才32个!) ,所以一般实际应用时都是以增 加译码器来驱动,以避免单片机的I/O端口不够用这个尴尬局面。 动态显示驱动:在单片机应用中数码管的显示方式普遍采用动态显示,动态显 示驱动是将数码管的a,b,c,d,e,f,g,dp8个字段的同极端都连接在一起,并且为数码管的 公共极增加一个位选通控制电路,位选通控制电路

29、由本身独立的输入/输出口线控制, 当全部数码管都接收到经由单片机控制输出的数字时,控制数码管显示的数字是取决 于单片机对位选通控制电路接地端电路的控制,因此需要某个数字的时候,只要将该 位数码管的位选通开启就会亮,而没有开启位选通的数码管字段就不会亮。通过对各 个数码管的接地端的分时轮流控制,各个数码管也会被分时轮流受控显示数码管状态, 这就是动态显示驱动。在动态驱动过程中,每段数码管的亮灯时间为12ms,因为发 光二极管的余晖效应与人的视觉暂留现象,所以各段数码管尽管实际上并非是同时点 亮,但只要给出非常快的速度来扫射,人们所看到的东西就是一组稳定的数据,而且 不会出现一闪 一闪的感觉,所以

30、动态显示实际上出来的成效和静态显示是差不多的, 还能够节省很多的输入/输出端口。 3.3.2 数码管的选择数码管的选择 通过以上了解,由于本次毕业设计需要的单片机I/O端口不多,所以数码管显示方 式采用了静态显示驱动,数码管将直接由单片机I/O端口驱动, 又因为LED数码管是电 流控制元件,所以使用时要上一个加限流电阻。数码管显示是通过单片机查表得出编 码,然后单片机再驱动端口决定数码管显示的数字,按键与数码管显示程序的一致性 就是这么实现的。连接在P0.1-P0.3,4个引脚上,并加一个排阻。如图4所示。 图 4 数码管与单片机的连接图 3.4 扬声器扬声器 扬声器采用两个三极管来放大音频,

31、串连着一个可调节电阻,用来调节声音大小, 整个模块由单片机P1.0引脚控制。如图5所示 图 5 扬声器的连接图 4 软件设计软件设计 4.1 程序流程程序流程 本设计的基本流程是对初始化的单片机进行键盘扫描,判断其有无按键按下,若 有则需要继续判断按键的类别,判断它是功能选择键还是独立键盘上的音调键,若是 独立键盘,则通过P1.0发生频率播放音调,通过P0显示数码管数字。若是功能选择键, 则播放程序储存好的音乐歌曲,然后检测是否按下中断键,若是则停止播放,不是则 一直播放到结束。程序流程图如图6。 初始化 键盘扫描 有无键按下 播放音符,显示数字 送入 P0,P1.0 P0,P1.0 播放音乐

32、,显示数字 功能选择键键值 独立键盘键值 Y 识别按键 N 中断键 停止播放 Y N 图 6 程序流程图 4.2 程序语言的选择程序语言的选择 对于汇编语言来说,它是面向特定机型的需要,在不同的计算机指令系统上和不 同的微控制器上,指令结构有着云泥之别,就算指令大同小异,它也不能够移植。一 条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用 情况都容易控制,调试起来也比较方便。掌握汇编语言程序并不简单,因为它需要读 透各个寄存器的说明以及微控制器的指令手册。简而言之,汇编语言的优点就是编写 代码实时性强,程序执行效率高,缺点是不简洁,可读性差,移植性差。 对于C语言来说

33、,它是一种高级语言,可以结构化编程,还可以 移植。使用标准 C语言的程序编程,完全可以不作任何修改就能够移植到不同的系统平台上。标准C语 言在嵌入式等的微控制芯片上也很少需要修改,而且程序上手简单,内容易懂。总的 来说,C语言编写程序结构清晰明了,具有很好的移植性,也很容易进行维护和修改。 基于以上对比,本设计系统更适合C语言来进行编程。 5 仿真调试仿真调试 5.1 Proteus 简介简介 Proteus(海神)的ISIS是一款Labcenter出品的EDA工具软件,可以仿真各种EDA工具 软件的电路和IC,并支持仿真单片机及其外围器件,元件库齐全,使用简单,是不可 多得的专业的单片机软件

34、仿真系统。 Proteus具备普遍EDA工具软件的功能,比如: 1原理布图 2PCB自动或人工布线 3SPICE电路仿真 革命性的特点 1互动的电路仿真 用户甚至可以实时采用诸如ROM,RAM,马达,键盘,LCD,LED, AD/DA, 部分IIC器件,部分SPI器件。 2仿真处理器及其外围电路 由于PROTEUS能够进行仿真调试,拥有着实验室无法比拟的元器件库,因而也成 为了学生们课程设计、毕业设计的一款重要软件,同时也培养学生实践与创造精神。 5.2 keil 简介简介与教程与教程 单片机开发过程中除了要画硬件电路图外,程序编译也是它必不可少的一个环节, 所以在这里往往需要使用到将源程序转

35、换为机器码传送给单片机的汇编软件。随着科 学技术的进步,像C语言、C+这样的高级语言也渐渐地代替了汇编语言的作用,单片 机程序编译的软件也在一直进步,Keil便是现在最普遍使用的MCS-51单片机程序编译 的软件。Keil具有一个全面的开发环境,其中包括宏汇编、实时操作系统、C编译器、 项目管理器、库管理和调试器等等功能。Keil几乎是使用C语言编程的不二之选,即使 使用的不是C语言,而是利用用汇编语言来编程,其简单易用的集成系统和实用的软件 仿真调试工具也会让你事半功倍。 KEIL使用教程如下: 第一步,打开下载完成的KEIL软件。如图7 图7 第二步,选择菜单栏上的project的new

36、project,然后命名并选择自己想要保存电脑 哪个文件夹的位置,如图8 图8 第三步,在Atmel里面选择AT89C51,并点击确定,如图9 图9 第四步,选择菜单栏里File的 New file,另存文件的时候文件名名后缀需加.c,如 图10 图10 5.3 利用利用 keil 与与 Proteus 进行的调试进行的调试 使用步骤: 1. 打开 keil,建立工程,输入程序 2. 编译和生成 hex 文件,如图 11 所示 图 11 keil 编译 3.打开 Proteus,设计硬件电路图,见图 12 图 12 硬件电路图 4.导入 hex 文件,见图 13 图 8-3 导入 hex 文件

37、 将鼠标放在单片机上,右击然后选择编辑属性,接着就会弹出图 13 中的对话框, 再寻找需要的 HEX 文件位置,比如图中导入 dzq.hex 文件。 5.点击面板左下角的,开始调试 6 总结与展望总结与展望 本设计利用AT89C51单片机设计一个简易电子琴,具备电子琴的基本功能,分析 了利用单片机简易电子琴设计的基本原理,并介绍了AT89C51单片机设计的电子琴统 硬件系统。改变AT89C51的定时器里面的特殊功能寄存器TH0及TL0在模式1下的计数 值,便会产生不同方波频率,然后通过扬声器产生对应的音调。最终将编写的源程序 转换为机器码导入单片机芯片,仿真调试运行后,就可以实现利用按键弹奏想

38、要的歌曲。 虽然这个毕业设计的题目算不是新的研究课题,但是在设计的过程中,我还是遇 到了许多的困难和不解之处,于是我查阅了大量的资料,也参考了各种方案,渐渐学 习到一些单片机知识及对其外围器件的掌握。在编程的过程中,我也遇到了许许多多 的难题,不能实现的方案,我会尽量自己编写,实在完成不了,我才会去求助程海玉 老师。也多亏程海玉老师的帮助,我才能顺利的完成本次毕业设计。本次设计,仿真 调试软件用的是protues,源程序编译软件用的是keil,所以对这两款软件的掌握熟练度 也增加了许多。 参考文献参考文献 1赵鑫,蒋亮,齐兆群等.数字电路设计M.北京机械工业出版社,2005 年 6 月第一版.

39、 2苏家健、曹柏荣、汪志锋.单片机原理及应用技术M.高等教育出版社 3美Ashish Wilfred Meeta Gupta Kartik Bhatnagar 著,刘永明,贺民译. php 专 业项目实例开发M. 水利水电出版社,2003 4于海生. 微型计算机控制技术选编M.清华大学出版社,1999. 5 李朝青. 单片机原理及接口技术M. 北京:北京航天航空大学出版色,2001. 6胡汉才. 单片机原理及其接口技术M. 北京:清华大学出版社,2004. 7黄鑫,马善农,赵永科.基于 CPLD 的电子琴研究与设计J.科技广场,2007(5). 8祝富林.音乐彩灯电路 CS9482J.北京:电

40、子世界,1995,(12). 9陈明荧8051 单片机课程设计实训教材M北京:清华大学出版社,2003 年 9 月 10徐新艳单片机原理、应用与实践M北京:高等教育出版社,2005 年 3 月 11吴金戌,沈庆阳,郭庭吉,8051 单片机实践与应用M清华大学出版社,2001 12冯博琴,微型计算机原理与接口技术M清华大学出版社,2004 13孙万麟.基于 AT89C51 单片机的电子琴设计J.电脑知识与技术.2010,7:5626- 5627 14王啸东,涂林军,王春燕,李作奇. 智能电子琴的设计与制作J.网友世界云 教育.2013 年 23 期. 15孙文,赵万云,邹子春,袁小平. 基于 R

41、C 正弦波振荡电路的电子琴设计J.现代 电子技术, 2010,33(9). 16张淑清,姜万录等,单片微型计算机接口技术及应用M国防工业出版社,2003 17郭天祥.新概念 51 单片机 C 语言程序教程M.北京:电子工业出版社,2009,1- 132. 18朱清慧.Proteus 教程M.北京:清华大学出版社,2008,1-216. 19王力,张伟.Protel DXP 库元器件手册M.北京:人民邮电出版社,2003,1-194. 20Medical Image Computing and Computer-Assisted Intervention MICCAI 99 Lecture No

42、tes in Computer ScienceJ.1999, Volume 1679/1999, 798-808. 21Supply Chain Management and Advanced PlanningJ.2008,Part IV,415-430. 致谢 首先要感谢我的指导老师程老师,因为论文是在程老师的全力支持下解决的许多 难点的。本论文从选题到完成,每一步都是在程老师的指导下完成的,倾注了程老师 大量的心血。一开始选题时程老师就给了我们很多建议,并让我们提早为这次毕业设 计做准备。在提交开题报告时程老师认真负责的给我们审查,在做软件和硬件时也时 时刻刻了解我们的进展情况。在此,谨向程老师表示由衷的感谢!谢谢程老师在我整 个毕业设计过程中给我提供的帮助。论文的顺利完成,离不开其它各位老师、同学和 朋友的关心和帮助。感谢所有给我帮助的老师和同学,谢谢你们! 林初丰 2015 年 5 月 20 日 附录附录 附录 1 主要电路原理图 附录 2 主要程序 #include reg51.h #define shumaguan P0 /定义数码管段码输出 sbit LED =P11 ; sbit SPK =P10 ; sbit K1= P32; sbit K2= P33; /定义方波输出口 unsigned int tone1,tone2; /*标准音符表*/ /用于使定时

温馨提示

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

评论

0/150

提交评论