毕业设计(论文)-基于单片机AT89C51的简易电子琴系统.doc

上传人:哈尼dd 文档编号:3283673 上传时间:2019-08-08 格式:DOC 页数:43 大小:385.52KB
返回 下载 相关 举报
毕业设计(论文)-基于单片机AT89C51的简易电子琴系统.doc_第1页
第1页 / 共43页
毕业设计(论文)-基于单片机AT89C51的简易电子琴系统.doc_第2页
第2页 / 共43页
毕业设计(论文)-基于单片机AT89C51的简易电子琴系统.doc_第3页
第3页 / 共43页
毕业设计(论文)-基于单片机AT89C51的简易电子琴系统.doc_第4页
第4页 / 共43页
毕业设计(论文)-基于单片机AT89C51的简易电子琴系统.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《毕业设计(论文)-基于单片机AT89C51的简易电子琴系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于单片机AT89C51的简易电子琴系统.doc(43页珍藏版)》请在三一文库上搜索。

1、长沙航空职业技术学院毕业设计(论文)(专科2008届) 院(系):电子电气工程系 课 题: 基于单片机的简易电子琴 专 业:生产过程自动化 班 级:自动化0502 学生姓名: 指导老师: 学 号: 日 期:2008年04月20日长沙航空职业技术学院2008届毕业设计(论文)开题报告(2008届)学 院、系: 电子电气工程系 专 业: 生产过程自动化 学 生 姓 名: 班 级: 0502 学号 46 指导教师姓名: 职称 副教授 2007年 12月题目:基于单片机原理的简易电子琴系统 一、课题研究的意义 由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率

2、的组合,即可构成我们所想要的音乐了,这些方面对于单片机来说就非常的方便。我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,对于一首歌我们只要把这首歌的音阶对应的频率关系弄正确即可得到节拍。基于单片机原理的电子琴大大简化了以前传统的音乐产生电路,使得元件得到减少,生产成本降低而且性能也得到了提高,并且耗能也降低了。我通过收集、查阅与发声原理、声音的产生电路有关的文献资料以及仿真调试软件的使用使我对单片机的应用前景有了深刻的了解。二.要研究或解决的问题、拟采用的方法或技术路线:一) 要解决的问题: 1)发声原理与声音的产生电路设计 2)喇叭放声放大电路的设计和制作 3)源程序的编写二)拟

3、采用的方法或路线:(1) 基本功能:1能够发出1.2.3.4.5.6.7等七个音符。2自选一首歌曲,按下启动键后,能自动演奏完该乐曲。 (2)方法或路线:该简易电子琴通过控制单片机内部的定时器T0来产生不同频率的方波,驱动喇叭发出不同音节的声音.再利用延迟来控制发音时间的长短,即可控制音调中的节拍.把乐谱中的音符对应的频率转换为定时常数,把相应的节拍变换为定时常数,然后作成表格存放在储存器中,由程序查表得到定时常数和延时常数,分别用以控制定时器产生方波的频率和该频率方波的持续时间.当延迟常数到时,再查下一个音符的定时常数和延迟常数.依次进行下去,就可演奏悦耳动听的音乐.将某一首音乐的简谱变换成

4、为常数表,计算机顺序调入时间常数并以中断方式执行,从P1.7来输出方波驱动喇叭,发出不同音节的声音,节拍的控制可通过调用200Ms延时子程序的次数来实现.单片机的晶振频率为12Hz,乐谱中的音符,频率及定时常数的关系:T0=216-1/2f*ti;其中f为音符对应的频率;ti为内部计时一次所用时间.例如:音调1对应的频率524Hz,其半周期T/2=1/2f=0.95Ms,用定时器T0方式1定时是器定时常数计算公式得到定时常数为16进制的FE25. 三、成果预测: 自选一首歌曲,按下启动键后,能自动演奏完该乐曲。1能够发出1.2.3.4.5.6.7等七个音符。2自选一首歌曲,按下启动键后,能自动

5、演奏完该乐曲。四、时间进度计划:12007年11月14日: 任务书下达日期 22007年12月30日:仔细阅读设计任务书,明确设计任务与要求,收集设计资料,准备设计工具。32008年1月1日2008年2月15日:确定控制方案,写出指令程序清单;设计控制系统的硬件接线图。42008年2月15日2008年2月20日:整合与完善。5. 2008年2月20日2008年3月1日:上机调试并编写设计说明书,准备答辩。指导教师意见。指导教师: 年 月 日说明:开题报告作为毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一,此报告应在导师指导下,由学生填写,将作为毕业设计(论文)成绩考查的重要依据,经

6、导师审查后签署意见生效。(根据需要自行调整开题报告的页面)目 录摘要Abstract 第一章 绪论61. 1 课题背景61. 2 本文所做的主要工作7第二章 系统方案设计及主控芯片介绍 82. 1主体方案8 2. 1 电子琴的总体框图8 22 主控芯片AT89C51的结构与原理102.2.1 AT89C51单片机的结构10 2.2.2 AT89C51单片机的工作原理 15 第三章 硬件电路设计17 3. 1发声电路173. 2 数码管显示电路19 3. 3 电源电路设计2034 键盘设计21第四章 乐曲声音算法2341音乐频率的实现2342音乐节拍的实现24第五章 系统软件设计2851系统程序

7、流程2852 键盘扫描程序流程图29总结 30 致谢 31 参考文献 32 附录1 33 程序34 41摘 要 在现代各种生活中,电子琴作为一种音乐型玩具 ,广泛用于与人们的日常生活中。市场上有各种各样的电子琴。特别是日本产的,音质优美,它是有专门的音乐控制芯片制造的。由于其价格较贵,无法大面积普及,且功能单一。用89c51作为主控中心,研制一种简易的微型电子琴,尽可能地体现较好的音质来,是一种可做的尝试。以单片机为核心设计的简易电子琴系统,由按键扫描电路、声音产生驱动电路、复位电路、等模块组成的,是一种比较实用、廉价的电子玩具。本论文所设计的简易电子琴,它分为两大部分,硬件电路的设计和软件的

8、设计。硬件电路的设计以AT89S51单片机为控制主板,辅以外围的扩展设备蜂鸣器、矩阵键盘、共阳数码管,形成一个可被控制的显示系统。软件设计通过控制单片机内部的定时器T0来产生不同频率的方波,驱动喇叭发出不同音节的声音.再利用延迟来控制发音时间的长短,即可控制音调中的节拍.把乐谱中的音符对应的频率转换为定时常数,把相应的节拍变换为定时常数,然后作成表格存放在储存器中,由程序查表得到定时常数和延时常数,分别用以控制定时器产生方波的频率和该频率方波的持续时间.当延迟常数到时,再查下一个音符的定时常数和延迟常数.依次进行下去,就可演奏悦耳动听的音乐.主要实现 1能够发出1.2.3.4.5.6.7等七个

9、音符。2能自动演奏完,自选的一首歌曲两种功能。关键字:简易电子琴 单片机 矩阵键盘 定时器AbstractIn the modern variety of life, the flower as a musical toys, widely used and peoples daily life. There are all kinds of market flower. Japan is particularly middle, sounding, it is a dedicated music control of the chip maker. Because of its expens

10、ive price, not a popular area, and single function. 89 c51 used as a control centre, the development of a simple micro-organ, as far as possible, to reflect a better quality, is an attempt to do. MCU core design for a simple flower, from the button scanning circuit, a driver circuit voice, reset cir

11、cuit, such as modules, is a more practical and inexpensive electronic toys. In this paper the design of simple flower, which are divided into two parts, hardware circuit design and software design. Hardware circuit design to AT89S51 microcontroller for the control board, supported by the expansion o

12、f the external equipment buzzer, matrix keyboard, a total of Yang digital form can be controlled by a display system. SCM software designed to control the internal timer T0 to produce different frequency square wave, driving a different syllable speakers voice. Reuse delayed to control the length of

13、 pronunciation, pitch in to control the beat. Notation in the notes converted to thecorresponding frequency timing constant, corresponding to the beats of the time constant transformation, and then make tables stored in memory, table look-up procedures are regularly by the constant and delay constan

14、t, a timer were used to control the square wave The frequency square-wave frequency and duration. constant when the delay time, a note to check the timing of constant delays and constant. were out of the question, can perform really pleasant to hear music. main one can be issued 1.2.3.4.5.6 .7 seven

15、 notes. 2 can automatically perform End, the one-on-demand songs two functions. Key word :Simple flower MCU Matrix keyboard Timer 绪论1.1 课题背景单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化

16、、汽车电子、PC机外围以及网络通讯等广大领域。按照内部数据通道的宽度,单片机可分为4位、8位、16位及32位等。单片机的中央处理器(CPU)和通用微处理器基本相同,只是增设了“面向控制”的处理功能。例如:位处理、查表、多种地址访问方式、多种跳转、乘除法运算、状态监测、中断处理等,增强了实时性。单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿(Princeton)结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。单片微型计

17、算机自从问世以来,作为微型计算机一个很重要的分支,应用广泛,发展迅速,尤其是美国Intel公司生产的MCS-51系列单片机,由于其具有集成度高,处理功能强,可靠性高,系统结构简单,价格低廉等优点,在智能仪器仪表、工业检测控制、机电一体化等方面取得了令人瞩目的成就。本文讨论的单片机多功能定时器的核心是目前应用极为广泛的51系列单片机,配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能强等特点。不仅能满足所需要求而且还有很多功能可供开发,有着广泛的应用领域。20世纪80年代中期以后,Intel公司以专利转让的形式把8051内核技术转让给许多半导体芯片生产厂家,如ATMEL、

18、PHILIPS、ANALOG、DEVICES、DALLAS等。这些厂家生产的芯片是MCS-51系列的兼容产品,准确地说是与MCS-51指令系统兼容的单片机。这些兼容机与8051的系统结构(主要是指令系统)相同,采用CMOS工艺,因而,常用80C51系列来称呼所有具有8051指令系统的单片机,它们对8051单片机一般都作了一些扩充,更有特点。其功能和市场竞争力更强,不该把它们直接称呼为MCS-51系列单片机,因为MCS只是Intel公司专用的单片机系列型号。MCS-51系列及80C51单片机有多种品种。它们的引脚及指令系统相互兼容,主要在内部结构上有些区别。目前使用的MCS-51系列单片机及其兼

19、容产品通常分成以下几类:基本型、增强型、低功耗型、专用型、超8位型、片内闪烁存储器型。本设计主要是通过对电子琴主体部分的电路进行模仿设计,达到电子琴固有的基本功能,故叫简易电子琴。利用定时器可发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。其次,定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时参数不同,就发出不同频率的脉冲,本设计中按键一次,会发出50个脉冲,松开后随之延时10个脉冲,但在延时的10个脉冲期间继续检测键盘,若此时又有键被按下,若被按下的仍为原键则声音不变,否则键盘会译出被按下的另一个键的音调。 我们知道,

20、声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。1.2 本文所做的主要工作本次设计的简易电子琴在其功能上能用单片机控制蜂鸣器发声,拟合出乐曲曲调。能够相应按键,进行简单的乐曲弹奏。本次设计是以单片机为基础,在论文中大概讲述了一下单片机的原理。 在此次设计中,简易电子琴的外围设备主要有以下二个部分:1、发声器件的选择:发声器件比较多,例如喇叭、蜂鸣器、电铃等。这次发声元件采用蜂鸣器,蜂鸣器价格便宜,控制简单,

21、广泛用于各种电子产品和玩具。本设计为保证声音的响亮,通过三极管进行电流放大,增加声音的响度。2、按键部分的设计:在本电路的按键接口设计,考虑到按键数量比较多,为了节省I/O口资源,采用矩阵式键盘。通过软件实现4*4间盘扫描。3、数码管显示电路:为指示出当前演奏的曲目标号和显示当前按下的键号,我们采用1位数码管作为显示部件,为了节省成本,采用I/O口直接驱动数码管。这样设计充分利用了单片机的资源,使此设计才功能上很丰富、完善。 系统方案设计及主控芯片介绍按照系统的设计功能要求,初步确定设计系统由主控模块、发声模块,显示模块,键盘接口模块4个部分组成,电路系统构成图2.1所示。主控芯片使用80C5

22、1系列单片机。发声模块使用的是蜂鸣器,低成本,配以放大电路,可以发出响亮的声音。 21主体方案本文就是从单片机AT89C51入手,通过使用AT89C51的内部的可编程定时器/计数器,结合对外接晶振的调节来确定一个合适的振荡周期,从而确定出内部的机器周期。该简易电子琴通过控制单片机内部的定时器T0来产生不同频率的方波,驱动喇叭发出不同音节的声音.再利用延迟来控制发音时间的长短,即可控制音调中的节拍.把乐谱中的音符对应的频率转换为定时常数,把相应的节拍变换为定时常数,然后作成表格存放在储存器中,由程序查表得到定时常数和延时常数,分别用以控制定时器产生方波的频率和该频率方波的持续时间.当延迟常数到时

23、,再查下一个音符的定时常数和延迟常数.依次进行下去,就可演奏悦耳动听的音乐。 其电路图见附录1所示。显示电路(89C51)主控模块键扫描电路发声电路2.2 主控器AT89C51的结构及工作原理2.2.1 AT89C51单片机的结构一、 单片机的主要性能特点ATMEL公司生产的AT89C51单片机采用高性能的静态80C51设计,欲先进工艺制造,并带有非易失性FLASH程序储存器。它是一它是一种高性能,低功耗的8位CMOS微处理芯片,。主要性能特点有:8KB Flash ROM,可以擦除1000次以上。数据保存10年,256字节内部RAM 电源控制模式:时钟可停止和恢复;空闲模式;掉电模式。6个中

24、断源4个中断优先级4个8位I/O 口全双工增强型UART3个16位定时/计数器,T9,T1和增加的T2全静态工作方式:024MHz二 、单片机的引脚功能89C51单片机的引脚图见图2.2所示,其中有2条主电源引脚,2条外接晶体引脚,4条控制或其他电源复用引脚,32条I/O引脚。下面分别叙述这些引脚的功能。 图2.2 89C51单片机的引脚图VCC(40脚):接电源+5V。VSS(20脚):接地 也就是 GND。XTAL1 (19 脚) 和 XATL2(18 脚):接振荡电路,单片机是一种时序电路 必须有脉冲信号才能工作 在它的内部有一个时钟产生电路。PSEN(29 脚):片外 ROM 选通信号

25、,低电平有效.他同样可以驱动8个LSTTL输入。ALE/PROG(30 脚):地址锁存信号输出端/EPROM 编程脉冲输入端。为了使地址与数据不混淆,通常是先送地址再传送数据。ALE将P0口输出的低8位地址锁存,从而实现低位地址与数据的分离。RST/VPD(9 脚):复位信号输入端/备用电源输入端。当振荡器运行时,在此引脚上出现两个机器周期以上的高电平,将使单片机复位。VCC掉电期间,此引脚可以接上备用电源,以保存内部RAM的数据不丢失;当VCC低于规定水平时,VPD向内部RAM提供备用电源。EA/VPP(31):内/外部 ROM 选择端。当EA端保持高电平时,不管是否有内部程序存储器,只访问

26、外部程序存储器。当EA端保持低电平时,访问内部程序存储器。P0 口(P0.0P0.7共8个引脚,既39-32 脚):双向 三态I/O 口。在访问外部存储器时,可分别用低8位地址线和8位数据线;P0口可以驱动8个LSTTL P1输入。P1 口(P1.0P1.7共8个引脚,既1-8 脚)P1口是一个带有内部上拉电阻的8位双向I/0 口,在EPROM编程和程序验证时,它接受低8位地址,能驱动4个LSTTL输入。P2 口(P2.0P2.7共8个引脚,既21-28 脚):P2口是一个带有内部上拉电阻的8位双向I/0 口, 在EPROM编程和程序验证时,它接受高8位地址,能驱动4个LSTTL输入。P3 口

27、 (P0.0P0.7共8个引脚,既10-17 脚):P3口是一个带有内部上拉电阻的8位双向I/0 口。他是个多用途口。在这8个引脚里,其中P3.2的第二功能是外部中断0申请输入端;P3.3的第二功能是外部中断1申请输入端;P3.4的第二功能是定时器0申请输入端。三 、单片机内部结构及组成结构单片机是由中央处理器(CPU)、片内数据存储器(RAM)、片内程序存储器(ROM)和输入输出接口(I/O口)四大部分组成: CPU是单片机的核心部分。其作用是读入和分析每条指令,根据指令要求控制各个部件执行相应的操作,它包括运算器和控制器两大部分:一是运算器包括算术逻辑部件(ALU)、累加器A、暂存寄存器、

28、寄存器B、程序状态寄存器(PSW),十进制调整电路等。运算器主要用于实现算术/逻辑运算及位操作运算。二是控制器包括时钟发生器,定时控制逻辑,指令寄存器,指令译码器,程序计数器PC,程序地址寄存器,数据指令寄存器DPTR和堆栈指针SP等。控制器是用来统一指挥和控制计算机进行工作的部件。 单片机存储器,单片机在物理上有4个存储空间:片内程序存储器和片外程序存储器, 片内数据存储器和片外数据存储器.8051片内有4KB的程序存储器和256B数据存储器。下面分别介绍程序存储器和数据存储器。程序存储器用于存放编好的程序、表格和常数。8051单片机内部有4KB的片内ROM和64KB的片外ROM,两者是统一

29、编址的。数据存储器8051内部有256B RAM,片外最多可以扩展64KB RAM。片内256 KB RAM按其功能划分两部分:低128B位片内数据RAM区,地址空间为00H7FH;高128B位特殊功能寄存器的区域.地址空间为80HFFH。内部数据存储器低128单元,8051内部低128B RAM是真正的RAM,可用于暂存运算结果及标志位等.按其用途可以分为三部分:工作寄存器区;位寻址区;用户RAM区。内部RAM的高于128单元是供给特殊功能寄存器使用,因此称特殊功能寄存器: 指令寄存器IR和指令译码器ID。指令寄存器是存放指令代码的地方。当执行指令时,CPU把从程序存储器中读取的指令代码送入

30、指令寄存器,然后指令译码器译码后由定时控制电路发生相应的控制信号,最终完成指令所规定的操作。 程序计数器PC是一个16位的计数器。用于存放将要执行的指令地址,CPU每读取指令的一个字节PC便自动加1,指向本指令的下一个字节或下一条指令地址,PC可以寻址64KB范围ROM。 累加器是一个最常用的8位特殊功能寄存器,它可以用于存放操作数,也没有用于来存放运算结果。 寄存器B是一个8位寄存器,主要用于乘法和除法的运算, 状态字寄存器PSW是8位寄存器,用于存放程序运行状态信息,其格式如下图2.3所示 。 图2.3 程序状态字PSWCY(PSW.7):进位标志位。在进行加法(或减法)运算时,若运算结果

31、最高位有进位或借位,则CY自动置“1”,否则CY置“0”,在进行布尔操作运算时,CY(简称C)作为布尔处理器。AC(PSW.6):辅助进位标志位。当进行加法或减法时,若低4位向高4位有进位(或借位)时,AC被置“1”,否则AC被置“0”。在十进制调整指令中AC还作为十进制调整的判别位。F0(PSW.5):用户标志位。用户可用软件对F0位置“1”或清“0”以决定程序的流向。OV(PSW.2):溢出标志位,当运算结果溢出时OV为“1”,否则为“0”,此标志位反映了运算结果是否溢出。P(PSW.0):奇偶标志位。MCS-51单片机采用的是偶校验。当累加器A中“1”的个数为奇数时,P置“1”,否则P置

32、“0”。此位反映累加器A中内容“1”的奇偶性,它常常用于机间通信。RS1(PSW.4)、RS0(PSW.3):工作寄存器区选择位。用来选择当前工作的寄存器区。用户通过改变RS1 、RS0的内容来选择当前工作寄存器区。 堆栈指针SP 数据指针寄存器DPTR是一个16位寄存器,由高位字节DPH和低位字节DPL组成,用来存放16位数据存储器的地址,以便对外部数据存储器RAM数据进行读写。 工作寄存器MCS-51有32个工作寄存器,分为四个区(或组)每个区为8个寄存器R0、R1、R2、R3、R4、R5、R6、R7,每一时刻只有一个区工作。由PSW寄存器中的RS1、RS0的值来决定当前的工作区: 当 RS1 RS000时,0区为工作区, RS1RS001时,1区为工作区 RS1RS010时,2区为工作区 RS1RS011时,3区为工作区这32个工作寄存器不但有它们的名称和区号,而且还有地址。00H-1FH共32个单元。 00H07H为0区,分别对应R0R7 08H0FH为1区,分别对应R0R7 10H17H为2区,分别对应R0R7 18H1FH为3区,分别对应R0R7这32个单元为内部数据存储器(即片内RAM)的00H1FH存贮空间,这与普通微机中的通用寄存器基本相同,所不同的是,普通微机的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1