.基于单片机的简易电子琴设计 毕业论文
发布时间:2024-11-04
发布时间:2024-11-04
河南职业技术学院
毕业设计(论文)
题 目 基于单片机的简单电子琴设计
系(分院) 机械电子工程系 学生姓名 陈景涛 学 号 09115005
专业名称 电子信息工程 指导教师
2012 年 03 月 01 日
基于单片机的简单电子琴设计
陈景涛
摘 要:随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:单片机 电子琴 AT89S52
一、 系统硬件设计及说明
1.1系统组成及总体框图
硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。
该设计要实现一种由单片机控制的电子琴,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号。该设计具有11个音节的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。由于本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。用单片机产生的音频脉冲直接驱动扬声器并不能产生所要实现的音乐,因为它没有足够的驱动能力,这就需要音频功率放大电路。
本例使用国家半导体公司的低压音频功率放大器LM386来实现音频功放电路。
系统结构图
1.2显示电路
本次毕业设计的显示电路采用LED数码管显示,由于 LED是属于电流控制器件,使用时必须加限流电阻。通过单片机查表得出数码管显示编码,传送给数码管显示,以此来实现按键与显示程序的一致性。
二、 系统软件设计
2.1音乐相关知识
乐音听起来有的高,有的低,这就叫音高,音高是由发音物体振动频率的高低决定的,频率高声音就高,频率低,声音就低,不同音调的乐音是用C、D、E、F、G、A、B表示的,这7个字母就是乐音的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,这是唱曲时乐音的发音,所以叫唱名。
音持续时间的长短即时值,一般用拍数表示,休止符表示暂停发音。
一首音乐是由许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以利用不同频率的组合,加以与拍数对应的延时,构成音乐。 2.2如何用单片机实现音乐的节拍
除了音符以外,节拍也是音乐的关键组成部分。 节拍实际上就是音持续时间的长短,在单片机系统中可以用延时来实现,如果1/4拍的延时是0.4秒,则1拍的延时是1.6秒,只要知道1/4拍的延时时间,其余的节拍延时时间就是它的陪数。如果单片机要自己播放音乐,那么必须在程序设计中考虑到节拍的设置,由于本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。音乐的音拍,一个节拍为单位(C调)具体如下表:
2.3如何用单片机产生音频脉冲
了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时/计数器来产生这样
的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。
在本实验中,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号,在此情况下,C调的各音符频率与计数值T的对照如下表:
2.4系统总体功能流程图
图2-1 主程序框图
按键子程序流程图如下:
K1 键按下
数码管显示 3., 并播 放 mi 的低音
K2 键按下
数码管显示 4., 并播
放 fa 的低音
K3 键按下
数码管显示 5., 并播 放 so 的低音
K4 键按下
数码管显示 6.,并播 放 la 的低音
K5 键按下
数码管显示 7.,并播 放 si 的低音
K6 键按下
数码管显示 1,并播 放 do 的中音
K7 键按下
数码管显示 2,并播 放 re 的中音
K8 键按下
数码管显示 3,并播 放 mi 的高阶中音
K9 键按下
数码管显示 4 并播放 fa 的中音
K10 键按下
数码管显示 5 并播放 so 的中音
K11 键按下
数码管显示 6,并播 放 la 的中音
K12 键按下
数码管显示 7,并播 放 si 的中音
K13 键按下
数码管显示 A,并播 放 do 的高音
K14 键按下
数码管显示 B,并播 放 re 的高音
K15 键按下
数码管显示 C,并播 放 mi 的高音
K16 键按下
数码管显示 D,并播 放 fa 的高阶高音
图 2-2 键盘子程序
三、 电路仿真
3.1仿真图介绍
单片机:P0 口对应数码管编码输出端; P1.0 口做音乐信号输出端;
P2 口做键盘扫描部分输入输出端。
键盘扫描:将16位开关通过矩阵连接,接出来四端接输入口(P0.4~P0.7)用于键盘
情况的输入,另外四端接输出口(P0.0~P0.3)用于给键盘扫描信号。
数码管显示:在使用时一要接上拉电阻(这是有单片机P0口的物理特性决定的),二
是要加限流电阻以使流进单片机的小于单片机所能承受的电流。
音乐处理:LM386将单片机P1.0口送过来的信号进行20倍的功率放大并送扬声器进
行音乐的播出。
3.2 仿真图
图3.1 仿真图
四、 PCB印制板制作
4.1 印制板制作的要求
(1)电源线、地线应各设置一条总线; (2)线宽尽可能的宽;
(3)应减少软线跳线的使用;
(4)元器件排版要均匀,按模块排版,防止各模块信号干扰; (5)铜箔线不可以产生锐角。 4.2 印制电路板图
图 4-1 主控电路PCB板图
图4-2 输入按键电路PCB板图
五、 系统调试
电路调试是整个系统功能否实现的关键步骤,我们将整个调试过程分为三大部分:硬件调试、软件调试和综合调试。 5.1软件仿真调试
软件仿真调试主要是针对单片机部分进行调试。
在软件运行前,先确保电路中连线正确,这一工作是整个调试工作的第一步,也是非常重要的一个步骤。在这部分调试中主要通过目测,用来完成检测电路中是否存在断路或者短路情况等。
在确保软件仿真电路正常,无异常情况(断路或短路)方可进行软件运行,在本次设计中,软件运行主要是测试单片机键盘控制部分、数码管点亮部分、和音频功放电路调试。
1、数码管LED电路调试:软件运行,随机按下按钮可以看到数码管显示数字; 2、单片机键盘控制部分调试:软件运行,随机按动键盘可以发现各个按键对应的音正确。 5.2 软件调试
调试主要方法和技巧:
通常一个调试程序应该具备至少四种性能:跟踪、断点、查看变量、更改数值。整个程序是一个主程序调用各个子程序实现功能的过程,要使主程序和整个程序都能平稳运行,各个模块的子程序的正确与平稳运行必不可少,所以在软件调试的最初阶段就是把各个子程序模块进行分别调试。
六、 调试结论
通过各方面努力,本次毕业论文任务完成,系统部分功能已实现。可以随意演奏一首喜欢的曲子,并可以显示在数码管上。基本达到预定的效果。毕业论文是专科学习阶段一次非常难得的理论与实践相结合的机会,通过这次系统的项目设计提高了我运用所学的专业基础知识来解决面临实际问题的能力,同时也提高了我查阅各种文献资料、设计手册、设计规范以及软件编程排版的水平。
参考文献
[1] 赵鑫,蒋亮,齐兆群.数字电路设计[M].北京机械工业出版社,2005年6月第一版 [2] 苏家健,曹柏荣,汪志锋.单片机原理及应用技术[M].高等教育出版社
[3] 李朝青.单片机原理及接口技术[M].北京:北京航天航空大学出版色,2001 [4] 胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2004 [5] 张靖武,周灵彬.单片机原理、应用与PROTEUS仿真,2008.8
河南职业技术学院 机电系 系(分院)
毕业设计(论文)任务书
毕业设计(论文)指导教师评阅意见表
毕业设计(论文)答辩意见表姓 专 名 业 陈景涛 电子信息工程 学 号 班 级 09115005 性 别 093 男
毕业设计(论文) 题 目 答辩时间 姓 组 长 名
基于单片机的简单电子琴设计
地 职 称 学
点 历 从事专业
答 辩 小 组 成 员
成
员
秘
书
答 辩 小 组 意 见
答
辩
成
绩:
答辩小组组长签名:
年
月
日
上一篇:行政组织学形考任务二参考答案
下一篇:劳动争议调解申请书