简易电子琴1.docx

上传人:b****1 文档编号:14871257 上传时间:2023-06-28 格式:DOCX 页数:22 大小:369.18KB
下载 相关 举报
简易电子琴1.docx_第1页
第1页 / 共22页
简易电子琴1.docx_第2页
第2页 / 共22页
简易电子琴1.docx_第3页
第3页 / 共22页
简易电子琴1.docx_第4页
第4页 / 共22页
简易电子琴1.docx_第5页
第5页 / 共22页
简易电子琴1.docx_第6页
第6页 / 共22页
简易电子琴1.docx_第7页
第7页 / 共22页
简易电子琴1.docx_第8页
第8页 / 共22页
简易电子琴1.docx_第9页
第9页 / 共22页
简易电子琴1.docx_第10页
第10页 / 共22页
简易电子琴1.docx_第11页
第11页 / 共22页
简易电子琴1.docx_第12页
第12页 / 共22页
简易电子琴1.docx_第13页
第13页 / 共22页
简易电子琴1.docx_第14页
第14页 / 共22页
简易电子琴1.docx_第15页
第15页 / 共22页
简易电子琴1.docx_第16页
第16页 / 共22页
简易电子琴1.docx_第17页
第17页 / 共22页
简易电子琴1.docx_第18页
第18页 / 共22页
简易电子琴1.docx_第19页
第19页 / 共22页
简易电子琴1.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

简易电子琴1.docx

《简易电子琴1.docx》由会员分享,可在线阅读,更多相关《简易电子琴1.docx(22页珍藏版)》请在冰点文库上搜索。

简易电子琴1.docx

简易电子琴1

目录

1概述1

2方案设计2

2.1系统设计要求2

2.2电子琴系统的组成2

2.3电子琴系统的设计思想2

2.3.1硬件设计思想2

2.3.2软件设计思想3

3硬件电路设计4

3.1系统方案4

3.2系统功能框图5

3.3功能模块详细设计5

3.4主要芯片功能描述9

4系统软件设计10

4.1主程序流程图10

4.2源程序12

4.3设计总结19

5仿真与调试19

结束语21

参考文献22

1概述

单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),单片机芯片

常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。

概括的讲:

一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

它最早是被用在工业控制领域。

  

由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

  INTEL的Z80是最早按照这种思想设计出的处理器,当时的单片机都是8位或4位的。

其中最成功的是INTEL的8031,此后在8031上发展出了MCS51系列单片机系统。

因为简单可靠而性能不错获得了很大的好评。

尽管2000年以后ARM已经发展出了32位的主频超过300M的高端单片机,直到目前基于8031的单片机还在广泛的使用。

在很多方面单片机比专用处理器更适合应用于嵌入式系统,因此它得到了广泛的应用。

事实上单片机是世界上数量最多处理器,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳。

  

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。

手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。

汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!

单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。

2方案设计

2.1系统设计要求

本系统主要实现电子琴的基础操作。

关于声音的处理,采用使用说明中的响声音的方法,使用汇编语言,利用定时器来控制频率,而每个音符的符号只是存在我自己定义的表中。

具体要求如下:

(1)要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。

(2)用键盘作出电子琴的按键,每键代表一个音符,该设计只有中音音段。

(3)各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。

(4)用汇编语言编程实现程序设计。

(5)利用查表,中断等方式实现目的。

(6)系统的各各功能模块要清楚,有序。

(7)程序运行时有友好的用户界面。

2.2电子琴系统的组成

单片机因体积小、功能强、价格低廉而得到广泛应用。

AT89C51单片机设计微型电子琴的方法,仅需AT89C51最小系统,扩展一组小键盘,再加一片LM386做音频小功放,输出到扬声器;电源由变压器,整流二极管,电容及稳压器组成;另外,再接一组发光二极管用来指示按键的按下与否。

由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,实际上就是把每个按键所对应的值经过处理后发给单片机,再在单片机内把数字当作指针指向所对应的音符。

2.3电子琴系统的设计思想

2.3.1硬件设计思想

电子琴的原理框图如图一所示。

它由以下几个部件组成:

单片机AT89C51、电源、4*4的16个按钮矩阵、音频放大模块。

电源部分:

电源部分有二部分组成。

一部分是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作;另一部分是由3V的电池供电,以保证停电时正常走时。

正常情况下电池是不提供电能的,以保证电池的寿命。

2.3.2软件设计思想

本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整或定闹设置程序三大模块。

在程序设计过程中,加强了部分软件抗干扰措施,下面对部分模块作介绍。

定时中断模块我们可以用语句:

MOVTMOD,#01H写控制数

MOVTH0,#0XH写定时常数

SETBTR0启动TR0

SETBET0允许T0

SETBEA开放CPU中断

关于声音的处理,第一种方法是使用汇编语言,利用定时器来控制频率,而每个音符的符号只是存在我自己定义的表中。

音符的频率是通过查表得到的(见表2-1)。

一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。

现在以单片机12MHZ晶振为例,列出高中低音符与单片机计数T0相关的计数值如表2-1所示.

表2-1

音符

频率(HZ)

简谱码(T值)

低3MI

330

64021

低4FA

349

64103

低5SO

392

64260

低6LA

440

64400

低7SI

494

64524

中1DO

523

64580

中2RE

587

64684

中3MI

659

64777

中4FA

698

64820

中5SO

784

64898

中6LA

880

64968

中7SI

988

65030

高1DO

1046

65058

高2RE

1175

65110

高3MI

1318

65157

高4FA

1397

65178

采用查表程序进行查表时,可以为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:

TABLE:

DW64021,64103,64260,64400

DW64524,64580,64684,64777

DW64820,64898,64968,65030

DW65058,65110,65157,65178

3硬件电路设计

3.1系统方案

通过电子琴按键随意键入所要表达的音符,作为电平送给主体电路,中央处理器通过识别,编译,最后解码输出音符,再通过功放电路进行放大,最后在扬声电路中发出有效的声音。

通过这样可以不断的弹奏音乐。

嵌入式电路由电源电路,按键电路,LED显示电路,音频放大电路和两个功能键组成,通过功能键可以选择播放音乐。

3.2系统功能框图

该系统的主要模块由五个部分组成,具体关系如图3-1所示:

图3-1

3.3功能模块详细设计

系统主要功能模块由以下几部分组成:

1、电源电路设计

从图3-2可知,无论是AT89C51单片机工作电源、二极管还是数码管的驱动,都要用到+5V的直流电源,所以,一个稳定的、持续的+5V直流电源对本系统十分重要。

本系统运用桥式整流电路,将交流转换为直流,为各部分电路提供恒定的+5V直流。

模拟部分和数字部分分别采用一个独立的稳压管供电,保证电路的稳定性和抗干扰。

图3-2

2.键盘控制电路设计

本系统采用独立式按键方式来实现键盘的。

独立式按键是指直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生相互影响。

如上图所示,当图中的某一个键闭合时,相应的I/O口线变为低电平。

当程序查询到为低电平的I/O口线时,就可以确定处于闭合状态的键。

图3-3

3、音频放大电路设计

LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。

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

但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。

输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。

LM386的封装形式有塑封8引线双列直插式和贴片式。

其追求的主要目标是在失真许可的限度内,高效率地为终端负载提供尽可能大的输出功率。

该系统中音频放大电路的设计如图3-6所示:

图3-4

4.复位电路设计

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

除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键以重新启动。

RST引角是复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期以上。

整个复位电路包括芯片内外两部分。

外部电路产生的复位信号(RST)施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样。

然后才得到内部复位操作所需要的信号。

复位电路的基本功能是系统上电时提供复位信号直至系统电源稳定后撤销复位信号为可靠起见电源稳定后还要经一定的延时才撤销复位信号以防电源开关或电源插头分-合过程中引起的抖动而影响复位.

复位操作有上电自动复位和按键手动复位两种方式。

上电自动复位是通过外部复位电路的电容充电来实现的.这样只要电源的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化.本设计采用按键手动复位方式。

而该方式又分为电平方式和脉冲方式。

其中按键电平方式是通过使复位端经电阻与电源接通而实现的。

而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。

本设计采用按键电平复位方式,具体电路图如下:

图3-5

图中9端口与单片机复位信号(RST)相连。

5.时钟电路设计

时钟电路用于单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格的按时序进性工作。

而时序所研究的则是指令执行中各信号之间的相互直接关系。

1)时钟信号的产生

在MCS—51芯片内部有一个高增益反向放大器,其输入端为芯片引脚XTAL1,其输出端引脚XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。

如图3-9所示。

图3-6

除使用晶体振荡器外,如对时钟频率要求不高,还可以用电感或陶瓷谐振器代替。

电路中的电容C1和C2一般取30pF左右,而晶体的振荡频率范围通常是1.2MHz~12MHz,晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。

但反过来运行速度快堆存储器的速度要求就高,对印刷电路板的工艺要求也就高(线间寄生电容要小)。

MCS—51在通常应用情况下,使用振荡频率为6MHz的石英晶体,而12MHz主要是在高速串行通信的情况下才使用。

随着技术的发展,单片机的时钟频率也在逐步提高,先在高速芯片已达40MHz。

定时振荡器的工作可由专用寄存器PCON的PD位进行控制,把PD位置“1”,振荡器停止工作,系统进入低功耗状态。

2)引入外部脉冲信号

在由多片单片机组成的系统中,为了个单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲。

这时外部的脉XTAL2引脚注入,其连接如图3-10所示。

图3-7

3.4主要芯片功能描述

1.AT89C51单片机功能描述

51系列单片机中典型芯片(如AT89C51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256B的RAM,2个16b的定时ö计数器T0和T1,4个8b的IöO端口P0,P1,P2,P3,一个全双功串行通信口等组成。

特别是该系列单片机片内的Flash可编程、可擦除只读存储器(E2PROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。

该系列单片机引脚与封装如图3-11所示。

51系列单片机为许多控制提供了高度灵活和低成本的解决办法。

充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。

图3-11

2.电路总图

图3-8

4系统软件设计

  软件由初始化程序、主程序、定时器1中断服务程序、键盘扫描程序和延时程序组成。

4.1主程序流程图

1.电子琴整体程序流程图:

图4-1

2.中断服务流程图:

图4-2

4.2源程序

LINEEQU30H

ROWEQU31H

VALEQU32H

ORG00H

SJMPSTART

ORG0BH

LJMPINT_T0

START:

MOVP0,#00H

MOVTMOD,#01H

;******************************************

;按键扫描程序

;******************************************

LSCAN:

MOVP2,#0F0H

L1:

JNBP2.0,L2

LCALLDELAY

JNBP2.0,L2

MOVLINE,#00H

LJMPRSCAN

L2:

JNBP2.1,L3

LCALLDELAY

JNBP2.1,L3

MOVLINE,#01H

LJMPRSCAN

L3:

JNBP2.2,L4

LCALLDELAY

JNBP2.2,L4

MOVLINE,#02H

LJMPRSCAN

L4:

JNBP2.3,L1

LCALLDELAY

JNBP2.3,L1

MOVLINE,#03H

RSCAN:

MOVP2,#0FH

C1:

JNBP2.4,C2

MOVROW,#00H

LJMPCALCU

C2:

JNBP2.5,C3

MOVROW,#01H

LJMPCALCU

C3:

JNBP2.6,C4

MOVROW,#02H

LJMPCALCU

C4:

JNBP2.7,C1

MOVROW,#03H

CALCU:

MOVA,LINE;计算键号

MOVB,#04H

MULAB

ADDA,ROW

MOVVAL,A

;*******************************************

;根据键号查表得到定时器的定时常数,

;从而发出不同频率的声音

;*******************************************

MOVDPTR,#TABLE2

MOVB,#2

MULAB

MOVR1,A

MOVCA,@A+DPTR

MOVTH0,A

INCR1

MOVA,R1

MOVCA,@A+DPTR

MOVTL0,A

MOVIE,#82H

SETBTR0

MOVA,VAL

LCALLLDCX;显示键号

MOVDPTR,#TABLE1

MOVCA,@A+DPTR

MOVP0,A

;*******************************************

;等待按键释放

;*******************************************

W0:

MOVA,P2

CJNEA,#0FH,W1

MOVP0,#00H

CLRTR0

LJMPLSCAN

W1:

MOVA,P2

CJNEA,#0F0H,W2

MOVP0,#00H

CLRTR0

LJMPLSCAN

W2:

SJMPW0

;****************************************

;定时器0中断服务程序,输出特定频率的方波,

;驱动扬声器发声

;****************************************

INT_T0:

MOVDPTR,#TABLE2

MOVA,VAL

MOVB,#2

MULAB

MOVR1,A

MOVCA,@A+DPTR

MOVTH0,A

INCR1

MOVA,R1

MOVCA,@A+DPTR

MOVTL0,A

CPLP3.7

RETI

LDCX:

PUSHACC

MOVDPTR,#TABLE3

MOVCA,@A+DPTR

MOVP1,A

POPACC

RET

DELAY:

MOVR6,#10

D1:

MOVR7,#250

DJNZR7,$

DJNZR6,D1

RET

TABLE1:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H

DB7FH,6FH,77H,7CH,39H,5EH,79H,71H

TABLE2:

DW64021,64103,64260,64400

DW64524,64580,64684,64777

DW64820,64898,64968,65030

DW65058,65110,65157,65178

TABLE3:

DB0FEH,0FDH,0FBH,0F7H

DB0EFH,0DFH,0BFH,7FH

DB0FEH,0FDH,0FBH,0F7H

DB0EFH,0DFH,0BFH,7FH

END

4.3设计总结

本系统最终实践效果基本达到设计要求,操作人员每执行一个动作,该系统就会有相应的反应,并且效果比较满意,基本达到设计的要求与目的。

但是该系统的设计,还存在以下几点不足之处:

①线性电源应该换为开关电源,这样才与现实中的电子产品更接近,而且这对电路也有保护作用。

②只能自己弹奏,没有涉及激动播放音乐的内容。

③发光二极管的亮与灭应该和按键的按下与释放对应起来,即当按键按下时,和该键相对应的发光二极管应亮着;当按键释放时,该二极管应该熄灭。

本系统的设计在单片机开发领域来说只能算是一个最初级的水平,当然,在设计该系统的过程中也遇到不少的问题,如:

电源设计时变压器和稳压器的选择,功放设计过程中几个参数的确定及喇叭的选择等等,在我的合作伙伴和指导教员的协助下这一系列的问题最终都得到了解决。

5仿真与调试

通过proteus的仿真,得出如下的仿真运行是的导出图。

图5-1

图5-2

 

结束语

通过本次课程设计,使我学到了许多书本上无法学到的知识,也使我深刻体会到单片机技术应用领域的广泛。

不仅让我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。

本设计涉及到《单片机原理及应用》、《模拟电子技术》等学科。

让我对专业知识有了更深的理解。

在本次课程设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中包括:

AT89C51单片机及其引脚说明及其引脚功能等,为本次课程设计提供了一定的资料。

在做课程设计的初期阶段,难度很大,没有头绪。

通过在图书馆里、网上查阅资料,攻克了课程设计中的道道难题。

本次设计我能独立完成,算是有了很大的收获。

总的感受有以下几方面:

1)巩固了课本上的知识。

通过本次设计,我不但对单片机有了更为深入的了解,对一个课题如何画流程图,编程序等,有了一定的认识。

2)在本次课程设计中,我进一步加强了自己的动手能力和运用专业知识的能力,从中学习到如何去思考和解决问题,以及如何灵活地改变方法去实现设计方案;特别是深刻体会到的是软件和硬件结合的重要性,以及两者的联系和配合作用。

3)通过本次毕业设计,让我了解到智能化技术对当今人们生活的重要性。

同时这次做课程设计的经历也使我受益匪浅。

让我知道做任何事情都应脚踏实地,刻苦努力地去做。

只有这样,才能做好。

在这次课程设计中,我既巩固了专业知识,又学到了在智能化设计过程中的许多流程和该注意的事项,增强了电子产品开发的意识。

本次经历将是我在大学时期很好的一次实践和锻炼机会。

 

参考文献

[1]张淑清等著编.单片微型计算机接口技术及应用[M].国防工业出版社2003年1月

[2]吴金戌郭庭吉编著.8051单片机实践与应用[M].清华大学出版社2001年8月

[3]冯博琴主编.微型计算机原理与接口技术[M].清华大学出版社2004年4月

[4]张友汉主编.新颖实用电子设计与制作[J].福建科学技术出版社2000年1月

[5]谭浩强等著编.C语言程序设计教程[M].高等教育出版社

[6]余孟尝主编数字电子技术基础简明教程[M].高等教育出版社

[7]宋建国.AVR单片机原理及应用[M].北京:

北京航空航天大学出版社,1998.

[8]何立民.MCS-51系列单片机应用设计[M].北京:

航空航天大学出版社,1990.

 

致谢

完成本课程设计,首先要感谢许建明老师,他严谨的治学态度和一丝不苟的精神,给我的学习生活留下了又一笔难忘的记忆。

从选题、中期检查到最终评审,老师都给了我莫大的指导和支持,使我得以顺利地完成论文的写作,因此他是我首先要感谢的人。

通过本次课程设计使我学到了很多的东西,感谢学校及老师给我做此次课程设计的机会,让我得以锻炼。

感谢信息工程班的各位同学好友,由于他们的帮助使我解决了课程设计中的不少难题。

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2