单片机电子琴的设计与制作.docx

上传人:b****5 文档编号:7424810 上传时间:2023-01-23 格式:DOCX 页数:23 大小:441.15KB
下载 相关 举报
单片机电子琴的设计与制作.docx_第1页
第1页 / 共23页
单片机电子琴的设计与制作.docx_第2页
第2页 / 共23页
单片机电子琴的设计与制作.docx_第3页
第3页 / 共23页
单片机电子琴的设计与制作.docx_第4页
第4页 / 共23页
单片机电子琴的设计与制作.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

单片机电子琴的设计与制作.docx

《单片机电子琴的设计与制作.docx》由会员分享,可在线阅读,更多相关《单片机电子琴的设计与制作.docx(23页珍藏版)》请在冰豆网上搜索。

单片机电子琴的设计与制作.docx

单片机电子琴的设计与制作

电子琴的设计与制作

作者:

【摘要】本文介绍了电子琴的设计与制作。

该设计运用单片机对矩阵式键盘进行按键识别,根据识别结果P1.0口输出相应的音频信号,经过音频放大电路放大,驱动扬声器发出相应的音调。

本设计实现了电子琴的声音的模拟,电路结构简单,稳定性高,产生的频率误差较小。

【关键词】单片机键盘音频信号

 

1、方案的论证与选择

 

1.1任务要求

该设计要求用单片机去实现简易电子琴的设计,电子琴应具有基本的弹奏功能,通过矩阵式键盘的输入,去控制不同的音符,经单片机处理后,使其产生不同的方波信号,该音符的频率误差应该小于1Hz。

1.2方案的论证与选择

方案一该方案主要采用矩阵式键盘输入信号,经过单片机的软件程序处理,译出音频脉冲的频率,从单片机输出口,经过音频功率放大器,使扬声器发出乐音(其系统框图如图1所示)。

 

图1方案一系统方框图

方案一通过单片机对键盘按键的扫描,把16个不同按键的信号依次送往单片机进行处理,使其产生不同频率的方波,由单片机P1.0送往音频放大电路。

根据其按键键码值的不同,产生的脉冲信号不同,则扬声器的声音不同。

方案二这是以555时基电路为核心组成的多谐振荡器电路,通过改变按键开关接通不同的电阻值,来改变音调与音符(其系统方案二如图2)。

图2方案二系统方框图

方案二采用555多谐振荡器完成电子琴设计,根据不同频率的方波产生不同音调,即只要知道某一音调的频率,就可以用电路模拟产生这种声音。

前级电路是通过按键开关接通不同的电阻值实现,后级电路是通过电位器的调节,来改变其频率和占空比来实现。

根据其输出端波形不同,则扬声器发出的声音不同。

1.3方案的选择

方案一运用单片机80C51,采用矩阵式键盘,结构简单,稳定性强,在编程时运用行扫描法使程序简单化,在音频电路中用LM138,从而产生高中低不同的音符。

方案二采用数字电子电路,采用555定时器产生秒脉冲,其电路结构复杂,稳定性差,不易调试。

而在产生频率方面,方案一运用单片机定时计数器,使频率误差应小于1Hz,方案二运用555构成多谐振荡器,产生的频率误差应大于1Hz,其构成的音调电路复杂。

根据所学知识以及设计要求,本设计采用方案一进行电路的设计。

 

2硬件电路的设计与制做

2.1单片机最小应用系统

单片机最小应用系统是指能维持单片机运行的最简单配置的系统。

要使单片机能够满足设计要求,且使单片机正常工作,该系统由单片机,振荡电路和复位电路构成。

2.1.1单片机的选择

结合所学知识,本设计选用的单片机80C51,该单片机内部有4KB的片内程序存储器ROM和128B数据存储器RAM。

片内只读存储器ROM用于程序存储器,编址为0000H-0FFFH根据程序需求,该设计无需外扩程序存储器,要让单片机正常工作,应该让31号脚接高电平;片内读写存储器RAM(随机存取存储器),地址范围为0000H-FFFFH,可用于存放输入、输出数据和中间计算结果,同时还作为数据堆栈区。

当存储的容量不够时,可以外部扩展。

2.1.2时钟电路

单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已经集成了振荡器,使用晶体振荡器接18、19号引脚(如图3所示)。

本设计采用12MHz晶体振荡器,每个机器周期为1us,一个机器周期为12个振荡周期,则振荡周期为1/12us,一个时钟周期为2个振荡周期,则时钟周期为1/6us,该单片机采用四周期指令,则指令周期为。

XTAL1、XTAL2分别接晶体振荡器的反相输入端和输出端,两个20pF的电容构成振荡电路。

该电容会影响振荡器频率的高低,振荡器的稳定性和起振的速度。

图3时钟电路

2.1.3复位电路

复位是单片机初始化操作,复位将单片机恢复到初始化状态,目的是使CPU及各各专用寄存器处于一个确定的初始状态。

单片机复位原理是当通电瞬间稳压电源给电容充电。

RST为复位输入端,当RST引脚持续两个机器周期以上的高电平时,使单片机完成复位操作。

随着电容充电结束,将使电容与电阻之间将呈现低电平,单片机复位结束。

复位操作的主要功能是把PC初始化为0000H,使单片机程序存储器从0000H单元开始执行程序。

此外,复位操作使P0-P3这些引脚变为高电平,还会对内部的一些单元产生影响.设计主要采用上电自动复位(如图4所示),利用外部电路RC充电来实现上电复位,接通电源,只要VCC的上升时间不超过1ms,就可以实现自动上电复位。

 

 

图4复位电路

综上所述,得出单片机最小应用系统的原理图,如图5所示。

图5单片机最小应用系统

2.2键盘

根据本设计的需要,要实现高低不同的音符,且按键数目比较多,则本设计采用4*4矩阵式键盘进行音符输入。

矩阵键盘结构图(如图6所示),在矩阵是键盘中,行线通过上拉电阻接到+5V上。

有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。

无按键按下时,行线处于高电平状态;。

列线的电平如果为低电平,则行线的电平也为低电平;列线的电平如果为高电平,则行线的电平也为高电平。

根据矩阵式键盘的工作原理,结合本设计要求,按键通过P2.0口给单片机输入信号,在图中假设P2.3所在行为低电平,然后检测列线的状态,只要有一列的电平为低,则表示该列上键盘的键被按下,反之亦然,P2.2、P2.1、P2.0行则以此类推。

本设计就是通过行扫描法进行按键识别,在检查每个按键是否按下时,有键按下则记录按下键的键值,并跳转至功能转移程序;无键按下,则返回键盘扫描程序继续检测根据检测到得按键值,查询音律表,给计时器赋值,使发出相应频率的声音。

 

图6键盘结构图

2.3音频功率放大电路

本设计中则采用最常见的LM386音频功率放大器。

LM386音频功率放大器具有音频功率放大滤波的功能,主要应用于低电压消费类产品。

为使外围元件最少,电压增益内置为20。

输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在5V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合(如通信设备,收录音机,电子琴和各类电子设备)。

其典型电参数,工作电压范围是4~12V;电压增益可调,20-200;低失真度。

音频功率放大电路(如图7所示)中C4、C5是去耦电容,其两端电压不能跃变,可防止由于负载而使电源电压变化导致工作不稳定,电气性能变坏现象的发生。

由于电解电容等效电感较大,10uF电解电容C5对高频信号的滤波效果不好,故采用小电容C4与之并联,提高对信号的滤波效果。

C3是隔直流电容。

图7音频功率放大电路

2.4频率脉冲产生的方法

要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。

利用定时器计这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。

利用89C51的内部定时器使其工作在计时器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。

例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每计数956次时将I/O反相,就可得到中音DO(523Hz)。

计数脉冲值与频率的关系公式如下:

N=Fi/2/FrN:

计数值;

Fi:

内部计时一次为1us,故其频率为1MHz;

Fr:

要产生的频率;

其计数值的求法如下:

T=65536—N=65536—Fi/2/Fr

C调各音符频率与计数值T的对照表如表1所示。

表1各音符频率与计数值T

音符

频率(HZ)

简谱码(T值)

音符

频率(HZ)

简谱码(T值)

中音1

Do

523

64580

高音2

Re

1175

65110

中音2

Re

587

64684

高音3

M

1318

65157

中音3

M

659

64777

高音4

Fa

1397

65178

中音4

Fa

698

64820

低音3

M

330

64021

中音5

So

784

64898

低音4

Fa

349

64103

中音6

La

880

64968

低音5

So

392

64260

中音7

Si

988

65030

低音6

La

440

64400

高音1

Do

1046

65058

低音7

Si

497

64524

2.5总电路原理图

综上单元电路的分析,结合设计要求,采用矩阵式键盘作为音频信号的输入,经过单片机程序的处理,由P1.0输出不同频率的信号,经过音频放大器放大,使扬声器发出声音。

总电路原理图见附录一。

 

3软件程序的设计

本设计采用程序模块化,根据设计要求,结合硬件电路的设计,得到程序流程图。

3.1主程序流程图

 

 

3.2源程序模块的设计

3.2.1键盘识别程序:

键盘按键通过P2.0口,将信号输入到单片机中,单片机利用行扫描法逐一判断出那个按键被按下。

程序如下:

SETBF0

MOVR3,#0F7H

MOVR1,#00H

L3:

MOVA,R3

MOVP2,A

MOVA,P2

CLRC

CPLC

MOVR5,#04H

L4:

RLCA

JNCKEYIN

INCR1

DJNZR5,L4

MOVA,R3

CLRC

CPLC

RRCA

MOVR3,A

JCL3

3.2.2乐音程序:

通过键盘的输入,经单片机P1.0输出编译成相应的键码值,即为不同频率的脉冲信号

据按键的不同,所得到的频率脉冲不同。

程序如下:

MOVDPTR,#TABLE

MOVCA,﹫A+DPTR

MOVTH0,A

MOV21H,A

MOVA,22H

RLA

INCA

MOVCA,﹫A+DPTR

MOVTL0,A

MOV20H,A

3.2.3定时中断程序

根据本设计要求,要产生一定频率的方波是先将输出高电平,然后延时一段时间再输出低电平,如此循环的输出就会产生一定频率的方波,通过改变延时时间就可以改变输出方波的频率。

本设计采用定时中断来改变时间。

程序流程图如下:

 

 

根据程序流程图,结合定时计数器的工作原理,程序如下:

MOVTMOD,#00000001B

MOVIE,#10000010B

TIM0:

PUSHACC

PUSHPSW

MOVTL0,20H

MOVTH0,21H

CPLP1.0

POPPSW

POPACC

3.2.4主程序的设计

根据单元程序的分析,结合硬件电路的设计,得出完整源程序的设计见附录3:

4电路的组装与调试

4.1单片机最小应用系统的安装与调试

根据单片机的最小应用系统的电路图,在18、19号脚接单片机晶振和电容,安装时应该使晶振和电容接近与单片机芯片,这样可以减少导线的竞争电容,增强单片机的稳定性。

还应该把单片机的20号脚接地,40号脚接电源。

根据电路图装好单片机的最小应用系统,检查电路没问题后,看其单片机是否正常工作,主要看其30号脚是否出现带有毛疵的方波。

输出波形如下:

4.2音频放大电路的组装与调试

根据LM386集成运放的引脚图及其工作的电参数,连接好外围电路的电阻和电容,LM386具有音频功率放大的作用,在连接音频放大电路中,应注意芯片6号脚接电源,4号脚接地,在5号脚输出连接电路时,应注意电容的正负极。

根据电路图连接好音频放大电路后,检查电路没问题后,给其单片机P1.0一个测试程序,看其扬声器是否能够进行正常工作。

结果扬声器能够进行正常工作。

4.3矩阵式键盘的安装与调试

本设计采用矩阵式键盘进行进行音频电路的输入,在连接矩阵式键盘式键盘时,应该注意按键的接法,按键的对角线是常开的,相邻的两个引脚之间是常闭的,所以按键的连接可以采用对角线连接。

根据矩阵式键盘的工作原理及按键的连接方法,接好矩阵式键盘,用万用表检查电路键盘电路的通与断,在没有按键按下的情况下,每行和每列的按键所在的电路都应该是断路的,因此在接通电源后,按键所在电路没有电压。

按下不同的按键,经单片机处理后,其P1.0输出波形不同,所以在矩阵式键盘中,按下16个按键,其输出波形如下:

 

低音3

 

低音4

 

低音5

 

低音6低音7

 

中音1中音2

中音3

中音4

 

中音5

 

中音6

中音7

 

高音1

高音2

高音3

高音4

 

4.4整机安装与调试

在单片机实验台上,将+5V的电源接进单片机芯片89C51的40脚,GND接进89C51的20脚。

启动计算机,打开伟福仿真软件,选择仿真器型号,仿真头型号,CPU类型;选择通信端口,测试串行口,编写源程序,编译无误后,全速运行程序。

编译无误后进行程序的烧录。

在进行仿真测试时,按键按下,扬声器不能进行正常工作,检查发现软件程序中,给定时中断赋初始值时,TMOD和IE的初始值,给予错误,还有按键中有两个按键没有连接正确,改正错误后,按下按键扬声器能够发出声音。

在声音中含有杂音,检查软件程序没有错误,导致此现象的原因是其硬件电路没有处理好,我选用5.1K电阻在1号脚输出端和10K电阻并联,作为上拉电阻,在LM386的5号输出端加一个22UF的电容用于滤波,如果用1000UF的电容太大,这样把声音都滤完了,用47UF的电容,扬声器的声音很小,所以选用22UF的电容进行滤波,这样扬声器在按键按下时,扬声器能够进行正常工作。

5收获与体会

通过几周的毕业设计,我深刻感觉到电子产品设计的不容易,设计思路中应考虑到方方面面,一点考虑不周都会使电路没有办法正常工作,在电路完成后,看到自己亲手设计电路的实现,记忆最深的是每一步小小思路实现时那幸福的心情;毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高;是把我们所学的基础知识和具体操作相结合;同时也是一种挑战和机遇。

在这几周中,让我明白了,在遇到困难时,不应该想到的是走途径,而应该是尽自己所能,寻求解决方法,使事情能够简单话,而不是着急。

在本次设计的过程中,我发现很多的问题,给我的感觉就是很难,很不顺手,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我们没有经常动手设计过电路,还有资料的查找也是一大难题,重要的是我们要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我们以后的就业还是学习,都会起到很大的促进和帮助,我相信,通过这次的毕业设计,在以后的生活工作中我会更加努力,力争把这门知识更好的运用到生活和工作中去。

通过本次电子琴的设计,让我知道了,生活中也许有许多东西可以靠自己的双手去亲手制作它,而由于自己对知识的匮乏,而今还没有能力去自己制作,在今后的生活中,遇到类似的问题,应该自己动手制作。

所以在今后应注意这方面的培养。

 

【参考文献】

[1]严仲兴:

《单片机原理与应用》,中国计划出版社,2007年版

[2]张毅刚:

《单片机原理与应用设计》,东南大学出版社,2008年版

[3]吴金戌:

《8051单片机实践与应用》,清华大学出版社,2002年版

 

附录

附录一:

原理图

 

附录二:

实物图

 

附录三:

源程序

ORG0000H

JMPSTART

ORG000BH

JMPTIM0

START:

MOVTMOD,#00000001H

MOVIE,#10000010H

SETBTR0

L1:

CALLKEY

CLREA

JBF0,L1

MOVA,22H

RLA

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVTH0,A

MOV21H,A

MOVA,22H

RLA

INCA

MOVCA,@A+DPTR

MOVTL0,A

MOV20H,A

L2:

CALLKEY

SETBEA

JBF0,L1

JMPL2

KEY:

SETBF0

MOVR3,#0F7H

MOVR1,#00H

L3:

MOVA,R3

MOVP2,A

MOVA,P2

CLRC

CPLC

MOVR5,#04H

L4:

RLCA

JNCKEYIN

INCR1

DJNZR5,L4

MOVA,R3

CLRC

CPLC

RRCA

MOVR3,A

JCL3

RET

KEYIN:

MOV22H,R1

CLRF0

低音

3

低音4

低音

5

低音

6

低音

7

中音1

中音

2

中音

3

中音

4

中音5

中音

6

中音

7

高音

1

高音2

高音

3

高音

4

RET

TIM0:

PUSHACC

PUSHPSW

MOVTL0,22H

MOVTH021H

CPLP1.0

POPPSW

POPACC

RETI

TABLE:

DW64021641036426064400

DW64524645806468464777

DW64820648986496865030

DW65058651106515765178

END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1