基于AT89C52单片机的简易电子琴设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本设计主要研究基于AT89C52单片机的简易电子琴设计。

它是以单片机作为主控核心,设置键盘、蜂鸣器等外围器件;另外还用到一些简单器件如:两位数码管,和NPN型三极管及电阻等。利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用NPN型三极管8550实现低音频功率放大;最后用蜂鸣器进行播放“送别”。

本设计硬件部分主要由最小系统,按键系统模块、数码管显示模块和蜂鸣器模块组成。其软件部分主要有主程序模块、定时中断程序、定时计数程序、显示程序。

(1)最小系统:它是单片机应用系统的设计基础。它包括单片机的选择、时钟系统设计、复位电路设计、简单的I/O口扩展、掉电保护等。

(2)按键系统模块:本设计采用10个按键,其中7个按键用来显示7个音调,其它3个按键可以进行高低中音的切换,并自动播放已存歌曲。

(3)数码管显示模块:SM420562段选端接在单片机的P0口,两个位选端分别接在P2^0和P2^1。

(4)蜂鸣器模块:此电子琴发音电路是通过三极管驱动蜂鸣器发音,经过上拉电阻提高驱动能力。

本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进行软硬件的调试运行。并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共21个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比高等,具有一定的使用和参考价值。

1.概述 (4)

1.1设计背景 (4)

1.2设计意义 (4)

1.3设计任务 (4)

2.系统总体方案及硬件设计 (5)

2.1总体设计 (5)

2.2单片机选型 (6)

2.3单片机的最小工作系统 (6)

2.3.1 时钟电路 (6)

2.3.2复位电路 (7)

2.4原理框图 (7)

2.5显示部分设计 (8)

2.5.1数码显示方式 (8)

2.5.2八位数码管的结构 (8)

2.6按键部分设计 (9)

2.6.1操作键设计 (9)

2.6.2键盘设计 (9)

2.6.3去抖动 (10)

2.7发音部分设计 (11)

3.系统软件设计 (12)

3.1系统分析 (12)

3.1.1系统软件的组成 (12)

3.1.2 系统总体功能流程图 (13)

3.2参数计算 (14)

3.2.1发音原理 (14)

3.2.2 计算举例 (14)

3.2.3 计算结果 (14)

3.3程序设计 (16)

3.3.1 判断音阶(高中低音)子程序 (16)

3.3.2 播放子程序(包括自动播放存储音乐和按键发音) (17)

4. PROTEUS软件仿真 (19)

4.1硬件调试 (19)

4.2软件调试 (19)

4.3仿真结果(任举一例) (20)

4.4结果分析 (20)

5. 课程设计体会 (21)

参考文献 (22)

附1 源程序代码 (23)

附2 系统原理图 (32)

1.概述

1.1设计背景

随着电子科学技术的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望能够给人们带来更多的生活乐趣。

基于当前市场上的玩具需求量增大,其中电子琴就是一个很好的应用方面。单片机技术使我们可以利用软硬件来实现电子琴的功能,从而可以实现电子琴的微型化,可以用作玩具琴、音乐转盘以及音乐童车等等。并且可以进行一定的功能扩展。鉴于传统电子琴可以用键盘上的“1”到“A”键演奏从低So到高DO等11个音,从而也可以通过单片机实现对十个按键的扩展,实现七个音符键的高、中、低21个音调的显示播放和任意音乐的自动播放。该设计将十个音键制作成独立键盘,其中七个为音符键,三个为控制键,并用数码管进行显示,使电子琴的功能更加完美。不但可以实现对按键的显示,而且可以实现对音乐的自动存储和播放,使该设计功能更加完善。

1.2设计意义

该设计具有以下优点:

①可以方便得知播放的音符和音调;

②比传统电子琴功能更完善;

③制作简单,成本低;

1.3 设计任务

实现电子琴发声控制系统;要求电路实现如下功能:

利用蜂鸣器作为发声部件,两个数码管作为显示部件,设置10个按键,实现高音、中音、低音的1、2、3、4、5、6、7的发音。并在存储一首歌曲的内容,可以实现自动播放。

用PROTEUS实现的电子琴仿真设计

说明:单片机的工作时钟频率为11.0592MHz。

2.系统总体方案及硬件设计

2.1总体设计

实现本次设计的方案有多种,下面比较说明一下最佳方案的选择。

方案一:采用单个的逻辑器件组合

音乐是有由不同的音阶组成的,而不同的音阶又是由不同的频率发出的,那么利用不同的频率,就可以发出不同的音乐了。

我们知道计数器8253可以产生任意频率的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率与计数器的频率对应起来就可通过计数器产生音乐了。根据本实验要求,采用8279将键扫得到的键值通过查表得到相应的8253的频率值,将从8253得到相对应的按键弹奏信号经过LM386进行放大,再用喇叭输出,就实现了简易电子琴的基本功能,也就完成了实验的要求。

方案二:用VHDL语言编程来实现

系统整体基本原理图如下:

图1、系统整体基本原理图

利用我们实验室先进的数字电路实验设备,我们可以采用VHDL语言编程来实现。我们可以通过VDHL语言,对实验原理图的各个部分进行设计,通过编译,可以在计算机上下载此实验原理图,利用电路学习机上的芯片。我们很快就可以设计出一个简单的电子琴。并实现其功能。

方案三:采用AT89S52单片机作为主控芯片,设置键盘、蜂鸣器等外围器件,另外还用到一些简单器件如:两位数码管,和NPN型三极管及电阻等。利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用NPN型三极管

相关文档
最新文档