毕业设计:基于AT89S52单片机的玩具电子琴设计.doc
《毕业设计:基于AT89S52单片机的玩具电子琴设计.doc》由会员分享,可在线阅读,更多相关《毕业设计:基于AT89S52单片机的玩具电子琴设计.doc(33页珍藏版)》请在三一办公上搜索。
1、基于AT89S52的玩具电子琴设计摘要:随着电子技术的发展,数字系统正朝着速度快、容量大、体积重量轻的方向发展。在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。其中尤其单片机技术的不断发展,使得单片机在日用生活用品中的应用越来越广泛。本文利用AT89S52单片机,设计了一种玩具电子琴,该电子琴除了可以演奏1-8八个音符以外,还可以自动播放两首歌曲,是单片机的又一扩展应用。本文详细介绍了电子琴的工作原理及硬件软件设计,并制作了实物,测试结果显示,系统运行良好。关键词:单片机 蜂
2、鸣器 音乐Abstract:With the development of electronic technology, digital system is moving fast, large capacity, the volume and the weight of the light direction. Under its impetus, the modern electronic products penetrated almost every field of the society, a strong impetus to the development of social
3、productivity and the improvement of social information-based degree, simultaneously also makes the modern electronic products to further improve the performance, product upgrading are increasingly fast pace. Development especially computer technology, the microcomputer applications in daily life sup
4、plies more and more widely in the. In this paper, using AT89S52 microcontroller, design a toy electronic organ, the organ, in addition to playing eight notes, can also automatically play two songs, is an extended application of mcu. This paper introduces the working principle and hardware and softwa
5、re design of the electronic organ, and create a physical, test results show that, the system runs wellKeyword: MCU buzzer music目 录第1章 绪论1 1.1 概述1 1.2 研究内容3 1.3 理论基础5第2章 硬件设计1 2.1 方案论证及系统设计1 2.2 系统硬件分析1 2.2.1 单片机小系统25 2.2.2 供电模块25第3章 软件设计1 3.1 KEIL软件介绍1 3.2 系统流程1 3.2.1 系统主流程25 3.2.2 中断初始化流程25第4章 仿真测试
6、25 4.1 PROTEUS软件介绍25 4.2 系统主要仿真图25 4.3 测试25致谢59参考文献60附录 代码63 第1章 绪论1.1 概述 目前单片机的应用渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯与数据传输、工业自动化过程的实时控制和数据处理、广泛使用的各种智能IC卡、民用豪华轿车的安全保障系统、录像机、摄像机、全自动洗衣机的控制、以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。我们所熟知的是单片机在测试控制领域中的广泛应用,但是除了这些之外,单片机还有一些
7、有趣的应用。比如,使用单片机可以驱动蜂鸣器或者扬声器发出声音并且还可以控制其发出不同的声调,从而连接起来构成一个歌曲。 目前市场上有很多种音乐模块或者音乐芯片,可以直接产生各种曲子。但是这种模块价格比较昂贵,电路结构也相对比较复杂。如果系统中仅需要产生简单的音符或者简短的曲子,可以使用单片机配合简单的扬声器而产生所需要的音乐效果。 一般说来,单片机不像其他专业乐器那样能奏出多种音色的声音,即不包含相应幅度的谐波频率。单片机演奏的音乐基本都是单音频率。因此单片机演奏音乐比较简单,只需要清楚“音调”和“节拍”就可以。 本文使用AT89S52单片机设计了一个音乐播放器,能够演奏八个音符跟自动演奏两首
8、歌曲,该设计能使我们能够掌握用定时器的控制播放乐曲原理和设计方法,对大学期间所学习的一些理论进行了实践,使我们对所学过的理论知识有了新的认识。并且通过该设计课题掌握了MC-51单片机的的软硬件开发工具的使用方法,为以后从事相关行业的工作积累了实际工作经验。目前我国的信息行业发展迅速,因此此课题对自己的就业有非常现实与积极的意义。1.2 研究内容 电子琴有着漂亮的外观,清澈洪亮的声音,它是现代电子科技与音乐的产物,在现代音乐中扮演着重要的角色,单片机对于电子琴的设计具有强大的控制功能。本文主要任务是,基于AT89S52单片机设计一个能够播放八个音符跟自动播放两首歌曲的电子琴。1、利用PROTEL
9、99 设计玩具电子琴的原理图 2、基于KEIL软件编写音乐播放器程序代码 3、制作实物4、对所做设计进行测试1.3理论基础 单片机音乐播放器是利用单片机产生乐曲音符,再把乐曲音符翻译成计算机音乐语言,用单片机进行信息处理,再通过蜂鸣器或喇叭放出音乐。音乐的产生主要是通过单片机的I/O口输出高低不同的脉冲信号来控制蜂鸣器发音。要想产生音频脉冲信号,需要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用单片机定时器计时这个半个周期时间,每当计时到后就将输出脉冲的I/O口反相,然后重复计时此半周期时间再对I/O口反相这样就能在此I/O口上得到此频率的脉冲。 通常,利用单片机的
10、内部定时器T0工作在方式0下改变计数初值TH0和TL0来产生不同频率。 对于音乐的节拍,每个音符使用1个字节,字节的高4位代表音符的高低低4位代表音符的节拍。如果1拍为0.4S,1/4拍为0.1S,只要设定延迟时间就可求得节拍的时间。假设1/4拍为1DELAY,那么1拍应为4DELAY,以此类推,所以只要求得1/4拍的DELAY,其余的节拍就是它的倍数。 总而言之,一首乐曲是由音阶和节拍两大要素构成。一首乐曲演奏的原理是,不同音阶分别对应不同的频率,发出不同的音调,而节拍则控制发出音调时间的长短,若将乐曲的音调连续发出,并使其按相应的节拍变化,即可演奏一首乐曲。根据这一特点我们采用单片机辅以相
11、应的接口来设计音乐播放器。 第二章 硬件设计2.1 方案论证及系统设计本系统分为两个部分,一个是音乐播放,另一个就是电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在我自己定义的表中。具体要求如下:1.要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。2.用键盘作出电子琴的按键,每键代表一个音符。3.各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。4.弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。方案一:采用CPLD外接扬声器、键盘、数码管等。主系统可由两个模块组成:当系统检测到有按键按下时,对应音符的频率由模块1获得,这是一个数控分
12、频器。由其clk端输入一具有较高频率的信号,分频后输出。音符的持续时间须根据乐曲的速度及每个音符的节拍数决定,模块2的功能是为模块1提供决定所发音的分频预置值,而此数在模块1输入口停留的时间即为此音符的节拍值。方案二:采用单片机外接扬声器、键盘、数码管等。具体过程:当系统扫描到键盘上有键子被按下,则快速检测出是那一个键子,然后单片机的定时器被启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个键被按下,则启用中断系统,前面键的发音停止,转到后按的键的发音程序,发出后按的键的音对比两套方案各有优缺点,方案一采用CPLD,工作速
13、度快,系统稳定,效果好,但是其价格昂贵;而方案二在设计这样小型电子系统方面,无论是效果还是工作速度与方案一都相差不大,而且价格较为便宜。因此,选择方案二即单片机加外设的方式设计该系统较好。本系统以AT89S52单片机为主控制器,通过三极管驱动蜂鸣器发出声音。首先,一方面,通过变压、整流、滤波、稳压四部产生可供单片机使用的5v电。另一方面,单片机利用定时、计数器实时驱动喇叭演奏音乐。整个系统由单片机模块、电源模块、三极管驱动、喇叭组成。系统整体框图如图2-1所示 单片机复位电路喇叭晶振复位键盘 图2-1 系统整体框图由PROTEL设计的原理图如图2-2所示 图2-2 系统整体原理图2.2 系统硬
14、件分析2.2.1 单片机小系统 单片机是大规模集成电路结束发展的产物,常见的单片机有8051系列的单片机、8096系列的单片机、PIC系列、AVR系列、SPCE061A的凌阳单片机。他将中央处理器(CPU)、存储器(ROM/RAM)、输入输出接口、定时器/记数器等主要计算机部件集成在一片芯片上,因此单片机被称为单片机微型计算机(Single Chip Microcomputer).单片机配上适当的外围设备和软件,便可构成一个单片机应用系统。本次设计对单片机的要求:只要能够驱动蜂鸣器即可,其他并无特殊要求。故选择常见的美国Inter公司生产的MCS-51系列单片机,它具有可高性高、功能强、体积小
15、、价格低、和抗干扰能力强等特点,被广泛应用于工农业生产、国防、科研及日常生活等各个领域。而且本组同学也比较熟悉。 我们选择的ATMEL公司的AT89S52单片机,他是一种低功耗、高性能CMOS8位微控制器,具有8K ISP(在系统可编程)Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有如下特点: 兼容MCS-51指令系统
16、32个双向I/O口 3个16位可编程定时/计数器 全双工UART串行中断口线 2个外部中断源 中断唤醒省电模式 看门狗(WDT)电路 灵活的ISP字节和分页编程 4.5-5.5V工作电压 时钟频率0-33MHz 2568bit内部RAM低功耗空闲和省电模式 3级加密位 软件设置空闲和省电功能 双数据寄存器指针 8k可反复擦写(1000次)ISP Flash ROM AT89S52主要引脚的主要功能: VCC:接+5V电源。 GND:接地P0口:P0口为一个8位漏极开路双向I/O口,作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,
17、P0口也被作为低8位地址/数据复用。在这种模式下,P0口具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.1分别作定时器/记数器2的外部记数输入(P1.0/T2)和定时器/记数器2的触发输入(P1.1/T2EX)。P2口:P2口是一个具有内部上拉电阻的8位双向I
18、/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如MOVX DPTR)时,P2口送出高八位地址。在这种应用中,P2口P2 口使用很强的内部上拉发送1。P3口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL
19、) RST:复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。 ALE/ PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位
20、置 “1”,ALE操作将无效。这一位置 “1”,ALE仅在执行MOVX 或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。 PSEN:外部程序存储器选通信号。 当AT89S52从外部程序存储器执行外部代码时,PSEM在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。 EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。 为了执行内部程序指令,EA应该接VCC。 在flash编程期间,EA也接收12伏VPP电压 XTAL
21、1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。单片机小系统是整个数控系统的核心部分。主要包括AT89S52单片机、振荡电路、复位电路等。系统整体原理图如图2-3所示 图2-3 单片机小系统AT89S52单片机的P0口是个双向口,可以作输出输入口,在本系统中用作显示部分,用来给数码管传送位码,P1口也是个双向口,主要接DAC0832、 P3口用来接收PC来的串口数据。而P3口主要用于中断。复位电路 复位是单片机初始化操作。复位将单片机复到初始化状态,目的是使CPU及个专用寄存器处于一个确定的初始状态。如前面介绍,在单片机的复位信号RST上保持2个机器周期
22、以上的高电平,单片机就会复位。本次设计采用的是手动复位方式,利用按键闭合是单片机复位端上保持接通高电平状态两个机器周期以上。 振荡电路 该电路是由内部反相放大器通过引脚XTAL1和引脚XTAL2与外接的晶体以及电容C6和C7构成,产生出晶体振荡信号。此晶振信号接至内部的时钟电路。图中的晶振频率为11.0592MHz,外接晶体时,电容C6和C7通常选30pF。虽然对外接电容没有严格要求,但电容的大小会影响振荡频率、振荡器的稳定性和起振的速度。振荡器的这些特性对弹片机的应用影响很大,因此在设计印刷电路板时,应使晶体和电容尽可能与单片机靠近,以保证稳定可靠。 2.2.2 供电模块 当今社会人们极大的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 AT89S52 单片机 玩具 电子琴 设计
链接地址:https://www.31ppt.com/p-3985944.html