1、基于单片机的电子琴设计与制作摘 要:电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经成为现代人们的生活中不可替代的一部分。微型电子琴的设计以 STC89C52 单片机作为系统的核心控制部分,通过制作硬件电路和软件的设计编写,然后进行软硬件的调试运行,最终达到设计电路的乐器演奏、点歌及显示功能。设计中应用中断系统和定时/计数原理控制扬声器发声,对音乐发生所必须确定的音符和节拍分别用程序语言实现,可以用它来弹奏和播放乐曲。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有
2、一定的实用和参考价值。关键词:单片机、电子琴、显示、演奏、播放Abstract:Electronic organ is a modern electronic music technology and the product is a new type of keyboard instruments. It modern music played an important role in single chip is a powerful control functions and flexible programming characteristics, It has converged w
3、ith modern peoples lives, become an irreplaceable part. The design takes STC89C52 as the core of systems control section. In order to achieve the effect of the circuit that play the musical instrument, requesting a song and demonstration, we can carry on software and hardwares debugging through manu
4、facturing hardware circuit and compiling the softwares design. The design applies the principle of the interruption system and fixed time and the counting to performance sound production and according to the program language to realize the separation of the note and time at the same time. We can use
5、 it to play with the broadcast music. Key words: single chip, electronic organ, display, play1 前言1.1 系统开发背景及意义单片微型计算机是大规模集成电路技术发展的产物,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。基于当前市场上的玩具市场需求量大,其中电子琴就是一个很好的应用方面。单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化,可以用作玩具琴、音乐
6、转盘以及音乐童车等等,并且可以进行一定的功能扩展。一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了。利用单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器来产生这样方波频率信号,因此,我们只要把音阶与频率的对应关系设置好即可 1。本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。该设计具有以下优点:(1) 可以随意弹奏想要表达的音
7、乐;(2) 制作简单,成本低 ;(3) 比传统电子琴功能更完善。1.2 设计目标本设计作品拟实现功能如下:1.将 8 个按键设计成 8 个音对应音乐音符。每按一个键,单片机检测按下的那个键并查表查找相应的音符,输出到音频处理模块驱动喇叭发出音符。2.设计一个数码管用来显示音符,每按下一个按键,数码管则显示对应音符的数字。3.设置两个按键,按下一个按键,按顺序自动播放各音符。设计一首歌曲,内置于单片机,按下另一个按键,自动播放所存歌曲。4.设计一个液晶显示屏幕,显示一定内容,内容随音乐播放节奏移动。由于本设计主要用于人们娱乐方面,因此在设计上尽量使其安全以及简单易操作。其次,在这次设计可行性上进
8、行分析如下:1、经济可行性:所谓经济可行性,即在这次设计上需要投入资金的多少,由于毕业设计是没有项目资金,没有开发经费,因此在经济上必须能够承受,比较理想化的项目对于我们毕业设计来说是不可行的。通过分析后,无论是在器件价格或是常见度上均是可行的。2、技术可行性:技术可行性主要是分析技术条件上是否能够顺利开展并完成开发工作,硬件、软件能否满足设计者的需要等。通过分析各种软件环境,硬件仿真环境等均已经具备。综上所述,本系统设计目标已经明确,在经济与技术上均可行,因此本系统的开发是完全可行的。2 系统硬件设计及说明2.1 系统组成及总体框图硬件设计的任务是根据总体设计要求,在选择的芯片的基础上,具体
9、确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。该设计要实现一种由单片机控制的电子琴,单片机工作于 12MHZ 时钟频率,使用其定时/计数器 T0,工作模式为 1,改变计数值 TH0 和 TL0 可以产生不同频率的脉冲信号。该设计具有 8 个音节的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来,并且利用数码管显示对应音符的数值。另外设置两个按键,实现音乐自动播放功能。由于本设计实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,只有内置音乐才由程序控制。用单片机产生的音频脉冲直接驱动扬声器并不能产生所要实现的音乐,因为
10、它没有足够的驱动能力,这就需要设计放大电路。键盘扫描STC89C52数码管显示扬声器播放音乐电源部分LCD1602 显示图 2-1 系统结构图2.2 主要元器件简介(1)控制芯片 STC89C52功能特性:STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。STC89C52 使用经典的 MCS-51 内核,但做了很多的改进使得芯片具有传统 51 单片机不具备的功能。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程Flash,使得 STC
11、89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52 具有以下标准功能:具有以下标准功能:8k 字节 Flash,512 字节RAM,32 位 I/O 口线,看门狗定时器,内置 4KB EEPROM,MAX810 复位电路,3 个 16位定时器/计数器,4 个外部中断,一个 7 向量 4 级中断结构(兼容传统 51 的 5 向量 2 级中断结构) ,全双工串行口。另外 STC89C52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器 /计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,
12、振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率 35MHz,6T/12T 可选。主要性能:与 MCS-51 单片机产品兼容、8K 字节在系统可编程 Flash 存储器、1000 次擦写周期、全静态操作:0Hz33Hz 、三级加密程序存储器 、32 个可编程 I/O 口线 、三个 16 位定时器/计数器八个中断源、全双工 UART 串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符 2。(2)LED 数码管本次设计的显示电路采用 LED 数码管显示,LED 是一种外加电压从而流过电流并发出可见光的器件。LED 是属于电流控制器件,
13、使用时必须加限流电阻。通过单片机查表得出数码管显示编码,传送给数码管显示,以此来实现按键与显示程序的一致性。常用的七段显示器的结构如图下图所示。发光二极管的阳极连在一起的称为共阳极显示器( 如图 b 所示),阴极连在一起的称为共阴极显示器(如图 c 所示)。1 位显示器由八个发光二极管组成,其中七个发光二极管 ag 控制七个段的亮或暗,另一个控制一个小数点,这种笔画式的七段显示器能显示的字符较少,字符的开头有些失真,但控制简单,使用方便。(a)外形 (b)共阳极 (C)共阴极图 3-6 数码管引脚(3)LCD1602 液晶显示屏1602 液晶也叫 1602 字符型液晶,它是一种专门用来显示字母
14、、数字、符号等的点阵型液晶模块。如图 所示其显示的内容为 16X2,即可以显示两行,每行 16 个字符液晶模块。它由若干个 5X7 或者 5X11 等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用 3。图 LCD16022.3 各功能模块原理图(1)STC89C52 最小系统搭建主控芯片为 STC89C52 型号单片机,电路设置的晶振为 12MHz,晶振电路由两个 30pF 的电容和一个 12M 的晶振构成。单片机复位电路由复位按键、10uF 电容、10k 的电阻构成。另外对 P0 口和 P1 口接上 10k 的上拉电
15、阻 4。单片机主程序模块通过对键盘扫描程序信号的读取,在通过对应的表,取出数码管显示编码和定时器初始值以产生不同的声音信号。在这一过程中,对数码管和液晶屏编码是直接赋值,对声音信号则是通过中断程序进行控制。系统功能的 I/O 口分配如下:P1 口分配给 8 个音符按键, P0 口分配给液晶显示屏的 8 个数据口,P2 口分配给数码管, P3.0 和 P3.1 用来检测两个音乐播放按键,P3.2P3.4 分配给液晶屏的三个驱动引脚,P3.5 口输出音频信号。图 3-7 STC89C52 模块电路原理图(2)键盘扫描模块电路原理图8 个音符按键直连到单片机的 P1 口,另一端直接接地。每当按键按下
16、,对应 I/O 口则会被置 0。通过检测 P1 口的数值就可以判断所按下的按键,单片机P30则对按键对应的功能进行处理。图 3-8 键盘扫描模块电路原理图(3)数码管显示模块电路原理图数码管显示模块核心是共阴级数码管,通过来自单片机 I/O 口的电平高低来点亮和熄灭数码管上的发光二极管,通过单片机送来的数码管显示编码可以在数码管上显示数字和字符,使应用人员可以很容易的理解按键按下所对应的音符。图 3-9 数码管显示模块电路原理图(4)音频处理模块电路原理图由于单片机驱动能力不够,在处理音符信号时,需进行信号放大,因 A966型三极管具有低功耗、高增益的特点,这合适单片机低功耗输出,所以加装A9
17、66 型三极管对信号进行放大。图 3-10 音频输出模块电路原理图(5)电源模块电路原理图由于本次设计的芯片的工作电压都为 5V,因为 USB 输出端口的电压为 5V左右,且最大输出电流为 0.5A,完全能够驱动本文所设计的电路。本文加了一个电源指示灯和一个电源开关,电路图如图 所示:图 3-11 电源模块电路原理图(6)液晶显示模块电路原理图液晶屏的数据口 D0D7 都接上 330 的限流电阻,然后直接连接单片机的 P0 口。液晶屏的三个驱动引脚 46 直接连接单片机的 P3.4P3.6 口,VEE 口接一个电位器,调节液晶屏显示清晰度。图 液晶显示模块电路原理图3 系统软件设计本软件设计关
18、键是要实现一种由单片机控制的简单音乐发生器,它由 16 个音节组成的的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。3.1 音乐相关知识乐音听起来有的高,有的低,这就叫音高,音高是由发音物体振动频率的高低决定的,频率高,声音就高,频率低,声音就低,不同音调的乐音是用17 表示的,这 7 个数字就是乐音的音名,它们一般依次唱成DO、RE、MI、FA、SO 、 LA、SI,这是唱曲时乐音的发音,所以叫唱名。音持续时间的长短即时值,一般用拍数表示,休止符表示暂停发音。一首音乐是由许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以利用不同频率的
19、组合,加以与拍数对应的延时,构成音乐。3.2 如何用单片机实现音乐的节拍除了音符以外,节拍也是音乐的关键组成部分。节拍实际上就是音持续时间的长短,在单片机系统中可以用延时来实现,如果 1/4 拍的延时是 0.4 秒,则 1 拍的延时是 1.6 秒,只要知道 1/4 拍的延时时间,其余的节拍延时时间就是它的倍数。如果单片机要自己播放音乐,那么必须在程序设计中考虑到节拍的设置,所以在设计实现的音乐发生器中是由一个延时函数控制每个音符的发音的时间长短,达到实现节拍的目的 5。音乐的音拍,一个节拍为单位(C 调)具体如下表:表 4-1 音乐节拍表曲调值 1/4 拍延时 曲调值 1/8 拍延时调 4/4
20、 125ms 调 4/4 62ms调 3/4 187ms 调 3/4 94ms调 2/4 250ms 调 2/4 125ms3.3 如何用单片机产生音频脉冲了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时/计数器来产生这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系 6。在本实验中,单片机工作于 12MHZ 时钟频率,使用其定时 /计数器 T0,工作模式为 1,改变计数值 TH0 和 TL0 可以产生不同频率的脉冲信号,在此情况下,C 调的各音符频率与计数值 T 的对照如下表:表
21、 4-2 音符频率与计数值 T 的对照表音符 频率(HZ ) 计数值 音符 频率(HZ ) 计数值低 1DO 262 63628 #4FA# 740 64860#1DO# 277 63737 中 5SO 784 64898低 2RE 294 63835 #5SO# 831 94934#2RE# 311 63928 中 6LA 880 64968低 3MI 330 64021 #6LA# 932 64994低 4FA 349 64103 中 7SI 968 65030#4FA# 370 64185 低 1DO 1046 65058低 SO 392 64260 #1DO# 1109 65085#5
22、SO# 415 64331 高 2RE 1175 65110低 6LA 440 64400 #2RE# 1245 65134#6LA# 466 64463 高 3MI 1318 65157低 7SI 494 64524 高 4FA 1397 65178中 1DO 523 64580 #4FA# 1490 65198#1DO# 554 64633 高 5SO 1568 65217中 2RE 587 64633 #5SO# 1661 65235#2RE# 622 64884 高 6LA 1760 65252中 3MI 659 64732 #6LA# 1865 65268中 4FA 698 6482
23、0 高 7SI 1967 65283T 的值决定了 TH0 和 TL0 的值,其关系为:TH0=T/256,TL0=T%2563.4 系统总体功能流程图图 4-1 主程序框图4 电路仿真4.1 Protuse 软件介绍Proteus 是英国 Labcenter 公司开发的电路分析与实物仿真软件。它运行于Windows 操作系统上,可以仿真、分析各种模拟器件和集成电路。该软件的特点是:(1)实现了单片机仿真和 SPICE 电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232 动态仿真、I2C 调试器、SPI 调试器、键盘和 LCD 系统仿真的功能;有各种
24、虚拟仪器,如示波器、逻辑分析仪、信号发生器等。(2)支持主流单片机系统的仿真。目前支持的单片机类型有:68000 系列、8051 系列、AVR 系列、PIC12 系列、PIC16 系列、 PIC18 系列、Z80 系列、HC11 系列以及各种外围芯片。(3)提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如 Keil C51 uVision2 等软件。(4)具有强大的原理图绘制功能。总之,该软件是一款集单片机和 SPICE 分析于一身的仿真软件,功能极
25、其强大。本章介绍 Proteus ISIS 软件的工作环境和一些基本操作。由于 Protuse 软件中没有 STC89C52 芯片,所以用 AT89C51 芯片进行代替,由于 AT89C51 芯片 ROM 较小,本设计的程序代码较大,所以不能下载。为了进行正常仿真,只能将 LCD1602 显示的程序去掉,对其他模块进行仿真 7。4.2 仿真图介绍单片机:P2 口对应数码管编码输出端;P1 口做键盘扫描部分输入输出端。P0 口做 LCD1602 液晶显示的数据口P3.3 口做音乐信号输出端;P3.5P3.7 做 LCD1602 液晶的驱动口P3.0 和 P3.1 做音乐播放按键口键盘扫描:将 8 位开关直接与单片机的 P1 口连接。数码管显示:在使用时一要接上拉电阻(这是有单片机 P0 口的物理特性决定的),二是要加限流电阻以使流进单片机的小于单片机所能承受的电流。音乐处理:单片机 P1.0 口送过来的信号经过三极管放大并送扬声器进行音乐的播出。图 仿真电路图通过对电路图进行仿真,按下键 S3,数码管正确显示了数值 3,且电脑发出了 mi 的音调,证明了以上设计电路的可行性。5 实物制作首先,按照设计的电路图上所需的电子元器件进行一一购买,然后,经过一段时间的电路焊接,边焊边调试,及时发现问题并解决问题,经过几天的努力,电路板最后正确完成。如图 所示。
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。