基于51单片机的简易电子琴设计说明

上传人:l**** 文档编号:149029989 上传时间:2020-10-23 格式:DOC 页数:31 大小:684.50KB
返回 下载 相关 举报
基于51单片机的简易电子琴设计说明_第1页
第1页 / 共31页
基于51单片机的简易电子琴设计说明_第2页
第2页 / 共31页
基于51单片机的简易电子琴设计说明_第3页
第3页 / 共31页
基于51单片机的简易电子琴设计说明_第4页
第4页 / 共31页
基于51单片机的简易电子琴设计说明_第5页
第5页 / 共31页
点击查看更多>>
资源描述

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

1、. . . . 基于51单片机的简易电子琴设计一问题提出为什么选择简易电子琴设计?1 对于音乐的兴趣我们对音乐都有着浓厚的兴趣,喜欢听钢琴曲,如理查德克莱德曼演奏的思乡曲星空秋日的私语等,音乐在我们的生活中扮演着很重要的角色。有人曾说,喜欢音乐的人不会向恶。以前不以为然,可是随着这些年来慢慢喜欢上阴郁,听了越来越多的钢琴曲之后,觉得这句话非常有道理。音乐是用艺术家用音符记录世界,传达情感的一种艺术形式,音乐里有一种和谐之美,听音乐可以让人心情舒畅,与外界和谐统一。音乐现在已经成为我生活中很重要的一部分,我们每周都会抽些时间去欣赏世界名曲,作为对精神的洗礼。2 对于电子琴的好奇好奇是人的天性,人

2、类对于自然的认识,对于科学的探索,无不始于好奇。我们对电子琴如何实现其功能,如音色选择、声音强弱控制、节拍器、自动放音功能等等也很好奇,想通过学习单片机这个机会,深入了解电子琴的功能实现原理。3 对于51单片机强大功能的信赖 51单片机有基本特性:(1) 面向控制的8位CPU和指令系统(2) 4K字节的程序存储器(ROM或EPROM)(3) 128字节的数据存储器(4) 可编程的并行I/O口P0P3,有32位双向输入/输出线(5) 一个全双工串行口(6) 两个16位定时器/计数器(7) 五个中断源,两个优先级的中断结构(8) 一个片时钟振荡器和时钟电路(9) 可以寻址64K字节的程序存储器和6

3、4K字节的外部数据存储器51单片机功能强大,性能日趋完善,在工业测控、智能仪器仪表、机电一体化产品、家电领域中应用广泛,因此基于51单片机设计简易的电子琴可行性非常大。2 功能需求1. 能够实现基本的琴键功能 即每按下一个琴键,单片机能够检测到键盘的按键,并根据按键的位置,通过程序来控制,使蜂鸣器发出不同频率(音调)的声音,声音延迟一段时间,等到按键放开后,声音停止。然后再继续扫描,看是否有键按下,如此循环下去,即可实现基本的琴键功能。 2. 能够实现调节电子琴音色的功能 在键盘上设置功能键,通过按键来选择不同的音色。当选通后,按下琴键,蜂鸣器就一直发出此种音色的声音。直到下一次再次按下音色选

4、择功能键,才会改变音色。系统共设置五种音色:长笛音,钢琴音,小号音,小提琴音,短笛音,默认状态为钢琴音。3. 能够实现通过按键自动播放歌曲的功能 在键盘上设置几个功能键,按下之后会根据功能键跳转到自动播放歌曲的程序,来播放相应的歌曲。播放歌曲的默认音色为钢琴音,若希望调整音色,只需在自动播放歌曲之前,按下相应的音色选择功能键即可实现。3 总体方案1 电子琴原理 在介绍总体方案之前,先简单介绍一下电子琴的发生原理以及如何改变音色的基本原理:声音的频谱围约在几十到几千赫兹, 若能利用程序来控制单片机某个口线不断输出“ 高” “ 低”电平, 则在该口线上就能产生一定频率的方波, 将该方波接上喇叭就能

5、发出一定频率的声音, 若再利用程序控制“ 高” “ 低”电平的持续时间, 就能改变输出波形的频率从而改变音调。乐曲中, 每一音符对应着确定的频率, 下表给出各音符频率。如果单片机某个口线输出“ 高” “ 低”电平的频率和某个音符的频率一样, 那么将此口线接上喇叭就可以发出此音符的声音。本系统就是根据此原理设计, 对于单片机来说要产生一定频率的方波大致是先将某口线输出高电平然后延时一段时间再输出低电平, 如此循环的输出就会产生一定频率的方波, 通过改变延时的时间就可以改变输出方波的频率。单片机部有两个位的定时计数器T1和T0, 单片机的定时计数器实际上是个计数装置它既可以对单片机的部晶振驱动时钟

6、计数也可以对外部输入的脉冲计数, 对部晶振计数时称为定时器, 对外部时钟计数时称为计数器。当对单片机的部晶振驱动时钟计数时,每个机器周期定时计数器的计数值就加, 当计数值达到计数最大值时计数完毕并通知单片机的尸比对外部输入的时钟信号计数时, 外部时钟的每个时钟上升沿定时计数器的计数值就加, 当计数值达到计数最大值时计数完毕并通知单片机的尸。因此, 如果知道单片机的机器周期或者外部输入时钟信号的周期单片机就可以根据定时器的计数值计算出定时的时间。用此方法定时十分准确, 想得到多大的延时时间就可以给定时器赋一定的计数初值, 定时器从预先设置的计数初值开始不断增当增加到计数最大值时计数完毕, 调整计

7、数初值的大小就可以调整定时器定时的时间, 从而达到准确的延时。在本设计中我们使用的外部时钟信号的晶振频率为12MHz,而采用的计数方式为方式1,所以计数器的初始值可以由如下公式求得。 T=65/2/ff为对应音调的频率;通过以上方法,可求出各音调对应的频率,如下表2. 外观设计2 硬件部分总体方案 51单片机P0口通过8155扩展,连接4*8的矩阵键盘,作为琴键键盘和相应的功能控制键;并P2口一起,与EPROM连接;P0口则接通不通音色的滤波电路,通过程序控制P0口,选通不通的琴声音色滤波电路,使电子琴发出不同音色的声音。 3 软件部分总体方案(1)键盘扫描程序:检测是否有键按下,有键按下则记

8、录按下键的键值,并跳转至功能转移程序;无键按下,则返回键盘扫描程序继续检测 (2)功能转移程序:对检测到得按键值进行判断,是琴键则跳转至琴键处理程序,是功能键则跳转至相应的功能程序,我们设计的功能程序有两种,即音色调节功能和自动播放乐曲功能(3)琴键处理程序:根据检测到得按键值,查询音律表,给计时器赋值,使发出相应频率的声音(4)音色调节程序:检测到键盘按下的是音色调节功能键后执行该程序,改变P0端口的值,选通相应的音色滤波电路,达到调节音色的目的(5)自动播放歌曲程序:检测到按键按下的是自动播放歌曲功能键后执行该程序,电子琴会自动播放事先已经存放好的歌曲,歌曲播放完毕之后自动返回至键盘扫描程

9、序,继续等待是否有键按下四硬件详细设计 总电路图 8155扩展 外部EPROM扩展电路 键盘电路 长笛滤波电路 钢琴滤波电路 小号滤波电路 小提琴滤波电路 短笛滤波电路4 软件框图总程序简易流程图键盘扫描程序流程图弹奏程序流程图音色调整子程序自动播放歌曲程序流程图六软件清单ORG 0200HMOV P1, #02H ; 初始化P1口,使得电子琴默认为钢琴声KEYPRO: ;键盘扫描程序ACALL KEXAM ; 检查是否有键按下JZ KEYPRO ;若无键按下,则转KEYPRO,继续等待并检查ACALL D10ms ;若有键按下,则延时10ms,进行曲抖动处理ACALL KEXAM ;再次检查

10、是否有键按下JZ KEYPRO ;若无键按下,则转KEYPROKEY1:MOV R2,#OFEH ;输出使第X0行为低电平模型数值MOV R3,#OFFH ;列值寄存器预置初值MOV R4,#OOH ;行值寄存器清零KEY2:MOV DPTR,#0303H ;送8155PC口地址MOV A,R2 ;扫描第一行MOVX DPTR,A MOV DPTR,#0301H ;送8155PA口地址MOVX A,DPTR ;读列数据值CPL AANL A,#OFFHJNZ KEY3 ;有键按下,请求转值MOV A,R4 ;无键按下,行值寄存器加8ADD A,#08H MOV R4,AMOV A,R2 ;求下

11、一行为低电平模型数值RL AMOV R2,A ACC.4,KEY2 ;判断各行是否完全扫描完,若未完,则继续扫描下一行AJMP KEYPRO ;若全部扫描完毕,则等待下一次按键KEY3: CPL A ;恢复列模型KEY4: INC R3RRC A ;求列值JC KEY4KEY5:ACALL D10msACALL KEXAMJNZ KEY5 ;若有键按下,则转KEY5,等待键释放MOV A,R4 ;计算键值ADD A,R3MOV BUFF,A AJMP KEYADR ;转查找功能键入口地址子程序D10ms: ;延时10ms的子程序MOV R5,#14HDL: MOV R6,DL0DL0: DJN

12、Z R6,DL0 DJNZ R5,DL RETBUFF EQU 30HKEXAM:MOV DPTR,#0303H ;送端口C地址MOV A,#00H ;输出使所有的行均为低电平模型数值MOVX DPTR,AMOV DPTR,#0301HMOVX A,DPTRCPL AANL A,#0FFHRETORG 8000H ; 跳转功能程序KEYADR:MOV A, BUFF ; 取出键值CJNE A, #17H, KYARD1AJMP PLAY ; 等于17H,转琴键处理KEYRD1:JC PLAY ; 小于17H,转琴键处理KEYTBL: MOV DPTR, # JMPTBL ;送功能键地址表指针CLR C ;清进位位SUBB A , #10HRL AJMP A+DPTR ;转相应的功能键处理程序BUFF EQU 30HJMPTBL: AJMP SONG1 ; 跳转至化蝶AJMP SONG2 ;跳转至童年AJMP SONG3 ;跳转至龙的传人AJMP FLUTE ;调节成长笛音色状态AJMP PIANO ;调节成钢琴音色状态AJMP TRUMPET

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

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