基于AT89C51单片机的简易电子琴.doc
《基于AT89C51单片机的简易电子琴.doc》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的简易电子琴.doc(41页珍藏版)》请在沃文网上搜索。
1、 摘 要随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。我们对于电子琴如何实现其功能,如音色选择、声音强弱控制、节拍器、自动放音功能等等也很好奇。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经融入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设
2、有16个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。关键词:AT89C51;电子琴;音频功率放大器;发光二极管AbstractWith the development and progress of society,music has become an important part of life,it was said that people do not like the music to the evil.We will find time to enjoy the world music,as the bap
3、tism of the spirit.This thesis developed a simple microncontroller-based electronic key board.Electronic organ is a modern electronic music technology and the product is a new type of keyboard instruments.It played and important role in modern music.SCM has powerful control functions and flexible pr
4、oguamming characteristics.It has converged with modern peoples lives, become an irreplaceable part.The main content is AT89C51 control of the core components,design of a electronic organ.SCM as a host to the core,with the keyboard,speaker and other core modules.In the main control module has 16 keys
5、 and a speaker.The system is steady,its simple hardware circuits,software functions,reliability of control system and high cost performance is its advantages.It also has certain practical and reference value.Key words:AT89C51 single-chip;electric piano;LM386;LED第1章 绪 论11.1 题目的来源与开发意义11.2 系统功能概述2第2章
6、总体方案提出与论证硬件4第3章 硬件的设计53.1 硬件的构成53.1.1 AT89C51单片机53.1.2 芯片的擦除83.1.3 功放LM386103.1.4 LCD硬件接口123.1.5 44行列式键盘识别及显示123.1.6 时钟频率133.1.7 晶振电路原理143.1.8 复位电路143.1.9 输入输出(I/O)引脚153.2 硬件框图16第4章 软件的设计184.1 设计原理184.1.1 音乐知识184.1.2 播放原理184.2 按键识别184.3 LED数码管显示原理194.4 音乐产生原理204.5 按键功能识别224.6 音符产生方法224.7 播放功能软件原理23第
7、5章 系统调式与仿真265.1 Keil简介265.2 Keil C51开发系统基本知识265.2.1 系统概述265.2.2 Keil C51单片机软件开发系统的整体结构275.3 编程Keil uVision软件275.4 Professional 7软件的介绍295.5 程序代码31第6章 系统的调试356.1 系统硬件调试356.2 系统软件调试35第7章 结 论36参考文献37致 谢38III第1章 绪 论1.1 题目的来源与开发意义单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统
8、的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域一项重大课题。随着计算机在社会各领域的渗透,单片机的应用正在不断地走向深入,同时带动着工业、农业、商业、家电以及玩具的日新月异的更新,极大地提高了电子电路及系统设计质量和效率。本设计是以主控芯片AT89C51为中心器件,电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经融入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主
9、控制模块,在主控模块上设有16个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。电子乐器的结构较为复杂,音源是由晶体管产生的电振动,并通过音色回路而产生各种音色;同时由周波数调制产生颤音效果,由振幅调制产生各种乐器的音效。电子琴的外形很像普通键盘乐器,只是某些种类多一排脚踏键盘,而且手触键盘也往往分为两层。键盘式电子琴声音丰富、柔美,有变音装置,能发出多种不同的音色,可以作为独特的乐器进行演奏,还能代替传统的风琴、钢琴供音乐课教学。传统乐器的声音是通过机械的方式产生的,电子琴的声音是用“电”产生的。振荡器时根据需要产生一定
10、频率的振荡信号,振荡信号通过分频器分解成不同频率的信号输送到放大器,放大器将信号放大,推动扬声器发出声音。键盘实际是一些开关,如果没有键盘,许多频率的信号一齐进到放大器里,通过扬声器发出的声音就会乱七八糟,不成音乐。按下键盘的一支键,就等于按通一只开关,只允许某一种频率的信号通过到放大器离去,扬声器就发出一个音来。这样,按照一定的演奏规律来按键,就能奏出美妙的音乐来。电源的任务是给各部分供电。这次的电子琴是由16个按钮,设计成16音符。然后再用一个模拟音频放大模块来使音乐播出的声音变大。用户通过这16个键的随意组合产生一首简单的音乐。本文主要对使用单片机设计建议电子琴进行了分析,并介绍了基于单
11、片机电子琴硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。本系统是简易电子琴的设计,按下键盘矩阵中的按键会使扬声器播放对应的音符。通过设计本系统可了解单片机的基本功能。对单片机的了解有了一个小的飞跃。一首音乐是许多不懂的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。1.2 系统
12、功能概述本系统是利用AT89C51单片机设计的电子琴,硬件电路简单,如果设计对象为复杂的电子琴系统,其实际原理与方法与本设计基本相同。由于单片机的强大功能,除了在测试控制领域中有着广泛的应用外,还有一些而有趣的应用。比如,使用单片机可以驱动蜂鸣器或者扬声器发出声音,还可以控制其发出的不同声调,从而连接起来构成一个曲子。目前,市场上有很多种音乐模块或者音乐芯片,可以直接产生各种曲子。但是,这种模块价格比较昂贵,电路结构比较复杂。如果系统中仅需要产生简单的音符或者简短的曲子,可以使用单片机配合简单的扬声器而产生需要的音乐效果。一般来说,单片机不像其他专业乐器那样能奏出多种音色的声音,即不包含相应幅
13、度的谐波频率。单片机演奏的音乐基本都是单音频率。因此单片机演奏音乐比较简单,只需要清楚“音调”和“节拍”。音调表示一个音符唱多高的频率。节拍表示一个音符唱多长的时间。本设计主要是通过对电子琴主体部分的电路进行模仿设计,达到电子琴固有的基本功能,故叫简易电子琴。利用定时器可发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。其次,定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时参数不同,就发出不同频率的脉冲,本设计中按键一次,会发出50个脉冲,松开后随之延时10个脉冲,但在延时的10个脉冲期间继续检测键盘,若此时又有键被按下,
14、若被按下的仍为原键则声音不变,否则键盘会译出被按下的另一个键的音调。这次的电子琴是由44组成16个按钮矩阵,设计成16个音。然后再用一个音频放大模块来使音乐播出的声音变大。用户可通过这16个键的随意组合来产生不同的音乐,使用起来也很简单。第2章 总体方案提出与论证硬件方案一:采用静态RAM存储显示屏的显示内容,静态数据存储器具有存储容量大,传输速度快等优点。但其存储的数据掉电后会消失,因此不适合用于存储长时间不变的数据。方案二:采用ROM芯片存储LED显示屏要显示的信息,采用ROM芯片可以长时间的存储信息,而且掉电数据不丢失,此种方式适合于存储不变的数据。方案三:采用串行EEPROM存储LED
15、显示屏要显示的信息。串行EEPROM技术是一种非易失性存储技术,它几乎具有所有类型存储器的优点:不挥发性、可更新性、高密度、低功耗和高性价比,非常适合应用于各类工业测控系统。它克服了常用的2816、2817、2864等并行EEPROM器件价格高、体积大、可靠性低(这些器件如不采取措施,在上电、下电时常会丢失数据)等不足,在速度要求不是很高的情况下,该器件是最理想的选择。比较以上三种方案,方案三有明显的优点,因此选择方案三。第3章 硬件的设计3.1 硬件的构成3.1.1 AT89C51单片机本系统的单片机选用AT89C51单片机,AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k
16、 Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89C51芯片介绍AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
17、AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。主要特性:与MCS-51 兼容 4K字节可编程FLASH存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24MHz 三级程序存储器锁定 1288位内部
18、RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路此外,AT89C51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。同时,编辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM掉电中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并且
19、禁止其它所有部件的工作。管脚说明图3.1 CPU引脚图VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH
20、编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出
21、4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,
22、要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期
23、间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89C51 单片机 简易 电子琴
