基于单片机的简易电子琴设计课程设计湖南文理学院课程设计报告课程名称:单片机课程设计专业班级:自动化10102班17号学生姓名:肖葵指导教师:王南兰完成时间:2013年 6 月13 日报告成绩:湖南文理学院制摘要随着社会的发展进步,音乐逐渐成为人们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。
我们都会抽空欣赏世界名曲,作为对精神的洗礼。
本论文设计一个基于单片机的简易电子琴。
人们对于电子琴如何实现其功能,如音色选择、声音强弱控制、节拍器、自动放音功能等等也很好奇。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:AT89S51;音色节拍器;电子琴ABSTRACTWith the development of our society, music has become an important part of life. There’s a saying goes that people who likes music cannot be an evil. During our life, we often enjoy all kinds of music in the world to baptize our spirits. This thesis has designed a simple microcontroller-based electronic key board. We are curious about the foundation of electronic keyboard, such as the choice of timber, the control of volume, the metrononme and automatic playback.The keyboard is a product of modern electronic technology combined with music, it is a new type of keyboard instruments. And it plays an important role in modern music. Single chip has a powerful control functions and flexible programming characteristics. It has converged with modern people's lives, become an irreplaceable part. The main content is AT89S51 control of the core components, Design of an electronic organ, single chip as a host to the core, with the keyboard, speakers and other core modules main control module, in the main control module has 16 keys and speakers. Stability of the system, its advantages are simple hardware circuits, software functions, control system reliability, high cost performance and have certain practical and reference value.Key words : single chip MCU keyboard speaker electronic organ目录第一章设计方案分析 (1)1.1设计背景 (1)1.2 设计任务 (1)2.1总体设计 (1)第二章电子琴总体电路图设计 (3)2.1单片机最小系统 (3)2.1.1 AT89S52简介 (3)2.1.2 时钟电路与复位电路 (7)2.2显示部分设计 (7)2.2.1数码显示方式 (7)2.2.2八位数码管的结构 (8)2.3按键模块设计 (8)2.3.1按键选取 (9)2.3.2键盘设计 (9)2.4 发音模块设计 (10)第三章程序设计 (12)3.1 系统总体功能流程图 (12)3.2 参数计算 (12)3.3判断音阶(高中低音)子程序 (14)3.4 播放子程序 (15)第四章Proteus软件仿真 (17)4.1编程环境PROTEUS (17)4.2用PROTEUS ISIS进行硬件电路绘制 (17)4.3下载HEX文件 (19)4.4软件调试 (20)心得体会 (22)参考文献 (23)附录一原理图 (24)附录二源代码 (25)第一章设计方案分析1.1设计背景随着电子科学技术的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望能够给人们带来更多的生活乐趣。
基于当前市场上的玩具需求量增大,其中电子琴就是一个很好的应用方面。
单片机技术使我们可以利用软硬件来实现电子琴的功能,从而可以实现电子琴的微型化,可以用作玩具琴、音乐转盘以及音乐童车等等。
并且可以进行一定的功能扩展。
鉴于传统电子琴可以用键盘上的“1”到“A”键演奏从低So到高DO等11个音,从而也可以通过单片机实现对十个按键的扩展,实现七个音符键的高、中、低21个音调的显示播放和任意音乐的自动播放。
该设计将十个音键制作成独立键盘,其中七个为音符键,三个为控制键,并用数码管进行显示,使电子琴的功能更加完美。
不但可以实现对按键的显示,而且可以实现对音乐的自动存储和播放,使该设计功能更加完善。
1.2 设计任务实现电子琴发声控制系统;要求电路实现如下功能:利用蜂鸣器作为发声部件,两个数码管作为显示部件,设置10个按键,实现高音、中音、低音的1、2、3、4、5、6、7的发音。
并在存储一首歌曲的内容,可以实现自动播放。
用PROTEUS实现的电子琴仿真设计,通过Protel绘制原理图。
2.1总体设计实现本次设计的方案有多种,下面比较说明一下最佳方案的选择。
方案一:采用单个的逻辑器件组合音乐是有由不同的音阶组成的,而不同的音阶又是由不同的频率发出的,那么利用不同的频率,就可以发出不同的音乐了。
我们知道计数器8253可以产生任意频率的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率与计数器的频率对应起来就可通过计数器产生音乐了。
根据本实验要求,采用8279将键扫得到的键值通过查表得到相应的8253的频率值,将从8253得到相对应的按键弹奏信号经过LM386进行放大,再用喇叭输出,就实现了简易电子琴的基本功能,也就完成了实验的要求。
方案二:采用AT89S51单片机作为主控芯片,设置键盘、蜂鸣器等外围器件,另外还用到一些简单器件如:两位数码管,和NPN型三极管及电阻等。
利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用NPN型三极管8550实现低音频功率放大;最后用蜂鸣器发音。
方案一采用单个的逻辑器件组合实现。
这样虽然比较直观,逻辑器件分工鲜明,思路也比清晰,一目了然,但是由于元器件种类、个数繁多,而过于复杂的硬件电路也容易引起系统的精度不高、体积过大等不利因素。
例如七个不同的音符是由七个不同的频率来控制发出的,所用仪器之多显而易见。
方案二与方案三相比,主控芯片采用AT89S51单片机,它是大规模集成电路技术发展的产物,具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
同时具有强大的控制功能和灵活的编程实现特性,由于本设计主要用于人们娱乐方面,因此在设计上尽量使其安全以及简单易操作。
而第三种方案具有经济可行性、技术可行性、实物应用性。
综上所述,本次课程设计采用第二种方案。
第二章 电子琴总体电路图设计电子琴总体电路分别由单片机最小系统模块、显示模块、按键模块、发音模块四个模块组成。
如下图所示。
89S52单片机按键模块发音单元显示模块2.1单片机最小系统2.1.1 AT89S52简介本系统采用的是美国ATMEL 公司生产的AT89C51单片机,首先我们来熟悉一下AT89S52单片机的外部引脚和内部结构。
其引脚图如图2.1所示。
1.单片机的引脚功能AT89S52单片机有40个引脚。
● Vcc :电源电压+5V● GND :接地● P0口:P0口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用口。
作为输出口用时,每位能驱动8个TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线服用,在访问期间激活内部上拉电阻。
在Flash 编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时要求外接上拉电阻。
● P1口:P1口是一个带内部上拉电阻的8图2.1 单片机引脚图位双向I/O,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
Flash 编程和程序校验期间,P1接收低8位地址。
●P2口:P2口是一个带内部上拉电阻的8位双向I/O,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(MOVX @Ri指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。
Flash 编程和程序校验期间,P2亦接收低高位地址和其他控制信号。
●P3口:P3口是一组带内部上拉电阻的8位双向I/O,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部的上拉电阻拉高并可作为输入端口。