基于单片机的电子琴设计

上传人:壹****1 文档编号:572677744 上传时间:2024-08-13 格式:PDF 页数:12 大小:517.25KB
返回 下载 相关 举报
基于单片机的电子琴设计_第1页
第1页 / 共12页
基于单片机的电子琴设计_第2页
第2页 / 共12页
基于单片机的电子琴设计_第3页
第3页 / 共12页
基于单片机的电子琴设计_第4页
第4页 / 共12页
基于单片机的电子琴设计_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《基于单片机的电子琴设计》由会员分享,可在线阅读,更多相关《基于单片机的电子琴设计(12页珍藏版)》请在金锄头文库上搜索。

1、综合课程设计综合课程设计题目:可演奏的电子琴学院:管理科学与工程学院可演奏的电子琴可演奏的电子琴摘要:摘要:随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大1 / 12的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。 本系统是以 51 系列单片机 AT89C51 为主控制器, 附有矩阵键盘、 LED显示管、扬声器组成。系统完成显示输入信息

2、、播放相应音符等基本功能。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。关键词:关键词:AT89C51,矩阵键盘,LED 显示管,扬声器。1 1 引言引言1.11.1 目的和意义目的和意义单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功

3、能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用 AT89S51 单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有 16 个按键和扬声器。本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。本系统是简易电子琴的设计,按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放器对应的音符。通过设计本系统可了解单片机

4、的基本功能。对单片机的了解有一个小的飞跃。1.21.2 本系统主要研究内容本系统主要研究内容本系统设计制作一个可演奏的电子琴。综合应用了两项设计。(1)键盘矩阵识别。即矩阵扫描,显示当前按键。(2)不同频率音符播放。可以通过按键控制 16 种发音。1.31.3 主要芯片简介主要芯片简介AT89S51 是一个低功耗,高性能CMOS 8 位单片机,片内含4k BytesISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令系统及 80C51 引脚结构,芯片

5、内集成了通用 8 位中央处理器和 ISP Flash 存储单元,功能强大的微型计算机的 AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40 个引脚(引脚图如图 1-2 所示) ,4k Bytes Flash 片2 / 12内程序存储器,128 bytes 的随机存取数据存储器(RAM) ,32 个外部双向输入/输出 (I/O) 口, 5 个中断优先级 2 层中断嵌套中断, 2 个 16 位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外, AT89S51设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模式。空

6、闲模式下,CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有 PDIP、TQFP 和 PLCC 等三种封装形式,以适应不同产品的需求。2 2 系统分析系统分析2.12.1 系统组成系统组成本系统只要以 51 单片机为主控核心,与矩阵键盘、扬声器、LED 显示管模块一起组合而成。具体如下:2.22.2 系统工作原理系统工作原理本系统扫描键盘矩阵、显示按键、扬声器发出对应音符。4X4 行列式键盘识别及显示原理如下:组成键盘的按键有机械式、电容式、导电橡胶式、薄膜式多种,但不管什

7、么形式,其作用都是一个使电路接通与断开的开关。目前微机系统中使用的键盘按其功能不同,通常可分为编码键盘和非编码键盘两种基本类型。编码键盘:键盘本身带有实现接口主要功能所需的硬件电路。不仅能自动检测被按下的键,并完成去抖动、防串键等功能,而且能提供与被按键功能对应的键码(如 ASCII 码)送往 CPU。所以,编码键盘接口简单、使用方便。但由于硬件电路较复杂,因而价格较贵。非编码键盘:键盘只简单地提供按键开关的行列矩阵。有关按键的识别、键码的确定与输入、去抖动等功能均由软件完成。目前微机系统中,一般为了降低成本大多数采用非编码键盘。3 / 12键盘接口必须具有去抖动、防串键、按键识别和键码产生

8、4 个基本功能。(1)去抖动:每个按键在按下或松开时,都会产生短时间的抖动。抖动的持续时间与键的质量相关,一般为 520mm。所谓抖动是指在识别被按键是必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。去抖问题可通过软件延时或硬件电路解决。(2)防串键:防串键是为了解决多个键同时按下或者前一按键没有释放又有新的按键按下时产生的问题。常用的方法有双键锁定和 N 键轮回两种方法。双键锁定,是当有两个或两个以上的按键按下时,只把最后释放的键当作有效键并产生相应的键码。N 键轮回,是当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。(3)被按键识别:如何识别被按键

9、是接口解决的主要问题,一般可通过软硬结合的方法完成。常用的方法有行扫描法和线反转法两种。行扫描法的基本思想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭合键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键, 为此需要提供两个可编程的双向输入/输出端口。(4)键码产生:为了从键的行列坐标编码得到反映键功能的键码,一般在内存区中建立一个键盘编码表,通过查表获得被按键的键码。用 AT89S51 的并行口 P1 接 44 矩阵键盘, 以 P1.0P1.3 作输入线, 以 P1.4P1.7 作输出线;在数码管上显示每个按键的“

10、0F”序号。总体电路具体原理如下:4 / 123 3 系统硬件设计系统硬件设计3.13.1 系统硬件总体设计系统硬件总体设计本系统由键盘矩阵、LED 显示管、扬声器这几个部分组成,LED 显示管显示当前按键,扬声器发出对应音符。硬件总体设计图如下:3.23.2 子系统(模块)一子系统(模块)一LED 显示模块如图 2-2 所示,利用 AT89S51 单片机的 P0 端口的 P0.0P0.7连接到一个七段数码管的 ah 的笔段上,数码管的公共端接电源。矩阵扫描显示当前按键模块如下:3.33.3 子系统(模块)二子系统(模块)二矩阵扫描扬声器发出对应音符模块如下:5 / 124 4 系统软件设计系

11、统软件设计4.14.1 系统软件总体设计系统软件总体设计本系统的软件流程图如下:4.24.2 子系统一子系统一七段 LED 显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。 LED 数码管的 ga 七个发光二极管因加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能6 / 12形成不同的字形,这种组合称之为字形码。本系统按键显示模块软件流程图如下:4.34.3 子系统二子系统二一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率

12、非常方便,我们可以利用单片机的定时/计数器 T0 来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系正确即可。利用 AT89C51 的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0 及TL0 以产生不同频率的方法产生不同音阶,例如,频率为 523Hz,其周期 T1/5231912s,因此只要令计数器计时 956s/1s956,每计数 956 次时将 I/O反相,就可得到中音 DO(523Hz) 。计数脉冲值与频率的关系式(如式 2-1 所示)是:Nfi2fr 2-1式中,N 是计数值;fi 是机器频率(晶体振荡器为 12MHz 时,其频率为 1MHz) ;fr

13、是想要产生的频率。其计数初值 T 的求法如下:T 65536 N 65536 fi2fr7 / 12例如:设 K65536,fi1MHz,求低音 DO(261Hz) 、中音 DO(523Hz) 、高音 DO(1046Hz)的计数值。 T65536N65536fi2fr 6553610000002fr 65536500000/fr低音 DO 的 T65536500000/26263627中音 DO 的 T65536500000/52364580高音 DO 的 T65536500000/104665059本系统按键发出对应音符模块软件流程图如下:5 5 系统使用说明系统使用说明5.15.1 系统安

14、装及配置说明系统安装及配置说明5.1.1 系统运行环境WINDOWS XP PROTEUS 7.1 SP2Keil uv3 2.125.1.2 系统安装及配置安装 Protues 和 keil uVsision3。8 / 125.25.2 系统操作说明系统操作说明(1) Keil 下编译, 产生目标 HEX 文件, Proteus 下 Programme Files 选择产生的 HEX文件,点击运行开始模拟。(2)开启本系统,数码管显示“-” 。(3)按任意键盘,数码管显示所按下的键盘数,扬声器发出相应的音符。6 6 结论结论通过这次课程设计,我学到了不少课本上没有的知识,也锻炼了自己的动手能

15、力,将以前学过的零散的知识串到一起。经过我长时间的设计及调试,本系统基本能实现按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放对应的音符。但由于仿真系统原因,本设计音频效果不是很好。不足之处有:1.可弹奏的音符数较少,只能在一定 X 围内满足用户需要。可通过改进键盘识别模块和发生模块来增加其复杂度 2.音量不可调。我的综合设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软件开发能力都获得了提高。首先硬件方面,基本了解了电子产品的开发流程和所要做的工作。 基本掌握了 Protel99SE 原理图的方法, 并设计了一个单片机最小系统。通过开发板的设计和硬件搭建的过程, 使我对 51 系

16、单片机的接口有了更深层次的理解,熟悉了一些单片机常用的外围电路引脚和连接方法,如 LED 数码管,键盘等。并且我学会了分析问题解决问题的能力,加深了对所学理论知识的理解和运用。我的动手能力得到了很大的提高,创新意识得到了锻炼。参考文献参考文献1彭伟.单片机 C 语言程序设计实训 100 例.电子工业.2009 年2 吴运昌模拟电子线路基础XX:华南理工大学,2004 年3 阎石数字电子技术基础 :高等教育,1997 年4 X 晓丽等数据结构与算法 :机械工业,2002 年5 马忠梅等 ARM&Linux 嵌入式系统教程 :航空航天大学,2004 年6李建忠单片机原理及应用XX:XX 电子科技大

17、学,2002 年7韩志军等.单片机应用系统设计M.机械工业,20048周润景等. Proteus 在 MCS-51&ARM7 系统中的应用百例M.电子工业,20069马忠梅等.单片机的 C 语言应用程序设计M.航空航天大学,200610X 树中,孙书膺,王春平.单片机和液晶显示驱动器串行接口的实现J.微计算机信息,20079 / 12附录附录本系统总体代码如下:#include#define uchar unsigned char#define uint unsigned intuchar code DSY_Table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x

18、f8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xBF;uint code Tone_Delay_Table=64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178;sbit BEEP=P30;uchar KeyNo;void DelayMS(uchar x)uchar i;while(x-) for(i=0;i4)0x0F;switch(Tmp)case 1:k+=0;break;case 2:k+=4;break;c

19、ase 4:k+=8;break;case 8:k+=12;break;10 / 12default:return;KeyNo=k;void play_Tone() interrupt 1TH0=Tone_Delay_TableKeyNo/256;TL0=Tone_Delay_TableKeyNo%256;BEEP=BEEP;void main()P0=0xBF;TMOD=0x01;IE=0x82;while(1)P1=0xF0;if(P1!=0xF0)Keys_Scan();P0=DSY_TableKeyNo;TR0=1;elseTR0=0;DelayMS(2);/ 1211目目录录摘要摘要11 1 引言引言21.1 目的和意义21.2 本系统主要研究内容21.3 主要芯片简介22 2 系统分析系统分析32.1 系统组成32.2 系统工作原理33 3 系统硬件设计系统硬件设计53.1 系统硬件总体设计53.2 子系统(模块)一53.3 子系统(模块)二54 4 系统软件设计系统软件设计64.1 系统软件总体设计64.2 子系统一64.3 子系统二75 5 系统使用说明系统使用说明85.1 系统安装及配置说明85.1.1 系统运行环境85.1.2 系统安装及配置85.2 系统操作说明96 6 结论结论9参考文献参考文献9附录附录1012 / 12

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号