收藏 分享(赏)

简易电子琴毕业论文.doc

上传人:j35w19 文档编号:7844360 上传时间:2019-05-27 格式:DOC 页数:27 大小:1.81MB
下载 相关 举报
简易电子琴毕业论文.doc_第1页
第1页 / 共27页
简易电子琴毕业论文.doc_第2页
第2页 / 共27页
简易电子琴毕业论文.doc_第3页
第3页 / 共27页
简易电子琴毕业论文.doc_第4页
第4页 / 共27页
简易电子琴毕业论文.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、姓 名 王 坤 杰 专 业 班 级 11 电子 4 论 文 名 称 简易电子琴 指 导 教 师 孙德刚 1附件 1:毕业设计(论文)任务书届: 11 专业(班): 电子 4 班 姓名: 王坤杰 课题名称:简易电子琴主要内容:用 AT89C51单片机为核心控制元件,设计一个简单的电子琴。以单片机作为主控核心,与键盘、蜂鸣器、数码管等模块组成核心主控制模块,在主控模块上设有 8个按键和扬声器。定时器按设置的定时参数产生中断,由于定时参数不同,就会发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。基本要求:在音阶模式下,按下 8 个不同的按键,蜂鸣器会发出 8 种不同的音

2、阶;在歌曲播放模式下,按下歌曲切换按键可以切换歌曲进度安排周次 工作内容 执行情况13 选定题目、搜集资料 完成4 选择方案、技术可行性分析、方案论证与确定 完成5 修改开题报告、评定开题报告 完成6 由老师对方案的制作要求作指定说明并改良 完成7 电路原理图设计、采购元器件 完成89 硬件的实现(焊接技术、相关仪器设备的使用) 完成1013 软件的实现(完成相关软件编程设计工作) 完成1415 整个设计的软硬件调试 完成216 演示制作成品、讲解设计思路、回答提问指导教师评语成绩:指导教师签名: 评阅教师评语成绩:评阅教师签名: 毕业设计(论文)答辩成绩: 毕业设计(论文)成绩:答辩小组组长

3、签名: 年 月 日3摘 要:本文介绍了一种由 AT89S51单片机、键盘、蜂鸣器、数码管等模块组成的简易电子琴的实施方案。用 AT89C51单片机为核心控制元件,设计一个简单的电子琴。以单片机作为主控核心,与键盘、蜂鸣器、数码管等模块组成核心主控制模块,在主控模块上设有 8个按键和蜂鸣器。定时器按设置的定时参数产生中断,由于定时参数不同,就会发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。关键词:89c51 单片机、键盘控制、数码管、蜂鸣器AbstractThis paper introduces a kind of AT89S51, keyboard, buzz

4、er,digital tube composed of modules such as implementing scheme of electronic organ. Use AT89C51 as the core control components, design a simple electronic organ. With single chip microcomputer as control core, and keyboard, buzzer, digital tube core modules such as main control module, on the main

5、control module has eight buttons and a buzzer. Timer interrupt according to set timing parameters, because of the different timing parameters will make different pulse frequency, different frequency pulse after speaker driver circuit amplifier filtering, would be a different tone.Keywords: 89 c51, t

6、he keyboard control, digital tube, the buzzer.4目录毕业设计任务书 .1摘要 .3目 录 .4前 言 .5一、 系统基本设计思路 6二、 单元电路方案论证 62.1 控制器模块 .62.2 发声模块 .72.3 编程软件模块 .82.4 最终方案 .8三、硬件电路的设计 .83.1单片机的简介 93.2 时钟电路 113.3音频放大电路 .12四、 系统软件的调试仿真 13五、结 论 14致谢 15参考文献 16附录 1 主要源程序 .175前 言单片机因其体积小,功能强,价格低廉而得到广泛应用,同时随着我国经济的飞速发展,单片机在越来越多的领域得

7、到了广泛的应用,现在国内的单片机多用于电话,玩具和 LCD等产品,预计在未来,利用单片机发明的产品会越来越多,作为一名应用电子的应届毕业生来说,理解和掌握单片机的工作原理和使用技巧是必备的技能,基于这种考虑,我这次毕业设计的题目为简易电子琴。钢琴,自从它发明的那天起,就成为人类的朋友,有的人们不能负担起钢琴的高额价钱,但随着时间的推移,科学技术的不断发展,电子琴的发明让人们找到了能与钢琴媲美的声音。怎样让我们的电子琴随身携带呢?这就要求人们不断设计出新型电子琴。我所设计的该产品时根据自身的兴趣和爱好所设计的,通过对传统电子琴的认识和了解,知道了传统的电子琴是利用单片机的汇编语言的编程来实现的,

8、而且功能单一,只能弹奏而不能随意的播放音乐,我所设计的产品是基于对 89c51单片机的深入理解对传统电子琴的小小的改革和创新,并且以简单的 C语言程序替代了复杂的汇编语言程序,声和光是新电子琴的主题,我相信在声光电子琴的不断革新达到人们所需娱乐设备的标准的时候,电子琴会被投入到批量生产之中。下面就是制作电子琴的具体过程。6一、 系统基本设计思路此设计是在 LED小灯上显示灯光的变换,蜂鸣器播放弹奏的曲子。电路包括:键盘、单片机及 LED显示电路,声音电路。各部分说明:(1) 键盘用于弹奏音乐,八个按键 8种音符。(2) 单片机通过输出各种电脉冲信号驱动控制各部分正常工作。(3) 单片机发送的信

9、号分别经过 LED显示电路通过译码最终在 LED小灯和声音电路通过蜂鸣器显示出来。系统工作过程:单片机要产生音频脉冲,主要处理过程是在 CPU中完成的,CPU会随时对音符输入信号进行读取数据的操作。在读取了相应的寄存器的值后,CPU 将读取的值进行处理,再通过 I/O口把音乐通过扬声器播放出来。二、单元电路方案论证根据设计要求,本系统主要由控制器模块、显示模块和输入模块构成。为较好的实现各模块的功能,我们分别设计了以下几种方案并分别进行了论证。2.1 控制器模块方案 1:采用凌阳系列单片机为系统的控制器凌阳系列单片机可以实现各种复杂的逻辑功能,模块大,密度高,它将所有器件集成在一块芯片上,减少

10、了体积,提高了稳定性。凌阳系列单片机提高了系统的处理速度,适合作为大规模实时系统的控制核心。方案 2:采用 51系列作为系统控制器单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。由于其功耗低、体积较小、技术成熟和成本低等优点,在各个领域应用广泛。而且抗干扰性能好。7因 51单片机价格比凌阳系列低得多,且本设计不需要很高的处理速度,从经济和方便使用角度考虑,本设计选择了方案 2。2.2 发声模块发声模块是本设计的最主要的部分。基本方案:发生电路是这次设计电路中最重要的组成部分,他承载着把单片机所产生的声音信号放大并输出的重要作用,而我的设计中的发声电路主要是由两

11、个 CS9013组成。CS9013 是一种小功率的放大管,属于型号三极管,而对三极管引脚的判断有以下方法。(1)判断三极管的基极。对于型号的三极管,用黑表笔接某一个电极,红表笔分别接另外两个电极,若测量电阻值两个都小,调换表笔后被测电阻值都较大,则可判断第一次测量中黑表笔所接的是基极;如果测量值一大一小,相差很大,则第一次测量中黑表笔接的不是基极,应该更换其他电极重测。(2)测量三极管发射极 e和集电极 c。三极管基极确定后,通过交换表笔,两次测量 e,c极间的电阻,如果两次测量结果不相等,其中测得电阻值较小的一次为红表笔的是 e极黑表笔接的是 c极。对于型号的三极管,方法与的相似,只是红黑表

12、笔的作用相反,在测量 e,c极间电阻时要注意,由于三极管的 V(BR)CEO 很小,很容易将发射结击穿。当我们三极管的管脚判断结束以后,我们就可以用两个三极管构成一个达林顿结构。首先当单片机1.0 口输出一个高电平,由两个三极管构成的达林顿成能导通,导通后又能对电流又一定的放大作用,这样传到扬声器时信号能让我们听的更清楚。8图12.3 编程软件模块方案 1:采用汇编语言编程汇编语言指令是用一些具有相应含义的助忆符来表达的,所以,它要比机器语言容易掌握和运用,但另一方面,它要直接使用 CPU的资源,相对高级程序设计语言来说,它又显得难掌握。方案 2:采用语言编程C语言与其他高级语言相比,具有运算

13、符的丰富性、语法表述的灵活性、对软硬件操作的兼容性、输入输出方式的新颖性等主要特征.深入分析研究这些特征,可以加深对 C语言的认识;正确应用这些特征,可以灵活高效地解决各种实际问题.因为我在大学期间对汇编语言没有深入的了解,而且在编程时一直用 C语言,所以我选择了方案 2。2.4 最终方案经过反复论证,最终确定了如下方案:(1)采用 STC89C51单片机作为主控制器。(2)采用达林顿效应使音乐信号放大(3)采用语言编程三、硬件电路的设计一个完整的控制系统,单纯依靠一块单片机是远远不够的。它必须与9外围电路元件相互搭配,共同完成任务。硬件电路的设计主要包括芯片89C51,、LED显示电路、振荡

14、电路、音频电路等组成。简易电子琴硬件电路图如图2所示:图 23.1 单片机的简介单片微型计算机(Single Chip Microcomputer)简称单片机,是指集成在一块芯片上的计算机,它具有结构简单、控制功能强、可靠性高、体积小、价格低、等优点。单片机技术作为计算机技术的一个重要分支,广泛地应用于工业控制、智能化仪器仪表、家用电器、电子玩具等各领域。尽管单片机种类很多,但无论是从世界范围还是从全国范围来看,使用最为广泛的应属 MCS-51系列单片机。其生产厂家有:Intel 公司、Atmel 公司、10Philips公司等。本设计采用 Atmel公司的 AT89S51,其它厂家单片机这里

15、不再多说,以下是对 AT89S51的介绍。Atmel公司生产的 AT89S51单片机是一种低功耗/低电压、高性能的 8位单片机,内部除 CPU外,还包括 128B的内部用户数据存储器 RAM,4KB 的内部用户程序存储器,4 个 8位并行可编程 I/0口,2 个 16位计数/定时器,5个中断源,2 个优先级别,1 个可编程的串行通信口。STC89C51是一种带 8K字节可编程可檫除只读存储器的低电压、高性能COMOS8位微处理器,俗称单片机。该器件采用 ATMEL高密度非易失存储器制造技术制造,与工业标准的 MCS-51指令集和输出管脚相兼容。单片机引脚图如图 3所示。图3 STC89C51单

16、片机引脚图从外部结构图我们可以看到,S51 单片机有 40个管脚。正电源和地线两根,外置石英振荡器的时钟线两根,一个复位端 RESET,/EA,ALE,/PSEN三根线,P0-P3 共 32个 I/O口,中断口线与 P3口线复用。现在我们对这些引脚的功能加以说明:11(1)主电源引脚 Vcc和 Vss Vcc(40 脚):主电源接5V Vss(20 脚):接地 (2)时钟电路引脚 XTAL1和 XTAL2:接外部晶体振荡器的引线端。当使用芯片内部时钟时,两引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。这两个引脚连接的电路成为时钟电路,用来产生单片机正常工作时所需要的

17、时钟脉冲信号。(3)控制信号 RST/Vpd、ALE/(/PROG) 、/ PSEN 和 (/EA)/Vpp RST/Vpd(9 脚):复位端。高电平有效,保持在 2个机器周期宽度以上,使单片机复位,用于完成单片机的复位初始化操作。在进行单片机应用系统设计时,这个引脚一定要连接相应的电路,即复位电路。该引脚有复用功能,Vpd 为备用电源输入端,防止主电源掉电。(4)输入/输出引脚 P0、P1、P2 和 P3口 P0.0P0.7(3932 脚):访问片外存贮器时作为低八位地址线和八位数据线(复用) 。负载能力为 8个 LSTTL门。P1.0P1.7(18 脚): 8位准双向 I/O口。负载能力为

18、 3个 LSTTL门。 P2.0P2.7(2128 脚):访问片外存贮器时作为高八位地址线。P3.0P3.7(1017 脚):8 位准双向 I/O口。负载能力为 3个 LSTTL门。另外还有专门的第二功能。 P3口的第二功能是P3.0(10 脚): RXD(串行口输入端)P3.1(11 脚): TXD(串行口输出端) P3.2(12 脚): /INT0(外部中断 0输入端) P3.3(13 脚): /INT1(外部中断 1输入端) P3.4(14 脚): T0(定时器/计数器 0外部输入端) P3.5(15 脚): T1(定时器/计数器 1外部输入端) P3.6(16 脚): /WR(片外数据

19、存贮器写选通信号输出端) P3.7(17 脚): /RD(片外数据存贮器读选通信号输出端)123.2 时钟电路STC89C51内部有时钟电路,但石英晶体和微调电容需外接。用于产生整个单片机运行的脉冲时序,系统允许的晶振频率一般位 6MHz和 12MHz,在应用精度要求较高的场合一般选用 11.0592MHz,可以使定时器/计数器更精确。STC89C51内部有一个用于构成振荡器的高增益反相放大器,引脚 RXD和 TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部时钟在此不做详细介绍。外部方式的时钟电路如图 4所示,RXD接地,TXD 接外部振荡器。对外部振荡信号无特

20、殊要求,只要求保证脉冲宽度,一般采用频率在 12MHz左右的方波信号。图4 89c51内部时钟电路3.3音频放大电路使用PNP管来放大,其中发射极接5V电源,集电极接喇叭,电路中的电容是用来隔离直流电用的。PNP 管放大原理:当 PNP 管的 VC#define uint unsigned int#define uchar unsigned charsbit speaker=P14;/喇叭接 30脚18sbit key1=P10;/流水灯按键(暂时)sbit key2=P11;/播放音乐按键(暂定)uchar a,b,num1,s1num,n1,n2;char num;/定义 num为可以负数

21、uchar code yinfu=0xfb,0xe9, /Do0xfc,0x5c, /Re0xfc,0xc1, /Mi0xfc,0xef, /Fa0xfd,0x45, /So0xfd,0x92, /La0xfd,0xd0, /Si0xfd,0xee, /Do#0x00,0x00, /间隔;uchar code shengri_tone= 1,0,1,2,1,4,3,0, /生日快乐音调1,0,1,2,1,5,4,0,1,0,1,8,6,4,3,2,0,7,0,7,6,4,5,4,0 /0代表不发声,即停顿;数字即为音调;uchar code shengri_beat= 24,1,24,48,4

22、8,48,72,5,/节拍24,1,24,48,48,48,72,5,24,1,24,48,48,48,48,72,5,24,1,24,48,48,48,72,5 /节拍,即 tone表各音调的延时;19uchar code ledtable=0x7f,0xbf,0xdf,0xef, /取反0xf7,0xfb,0xfd,0xfe;/P0组口的发光二极管代码(焊接过程可能会相反,具体更改)uchar code ledtable2=0x7f,0xbf,0xdf,0xef, /取反0xf7,0xfb,0xfd,0xfe;/P2组口发光二极管代码,相反!void check_key();/改为 P3组

23、为按键void keyscan();void turn();/顺时针流动void back();void qianhou();void dangshuang();void delay(uint z);/延时函数声明void delay1(void);/声明第二个延时函数void play1(void);/播放生日快乐void main()s1num=0;/流水灯种类标志key1=1;key2=1;TMOD=0x01;TH0=a;TL0=b;ET0=1;/打开定时器,但是未允许中断TR0=1;while(1)20check_key();keyscan();void time0() interru

24、pt 1TH0=a;TL0=b;speaker=speaker;void check_key()P3=0xff;/先赋给 P2组口高电平switch(P3)/按下一个键相应 4个灯亮case 0xfe:P0=0xee;P2=0x77;a=0xfb;b=0xe9;EA=1;break;/P0,P2组为发光二极管组case 0xfd:P0=0xdd;P2=0xbb;a=0xfc;b=0x5c;EA=1;break;/注意:EA不能改为 TR0case 0xfb:P0=0xbb;P2=0xdd;a=0xfc;b=0xc1;EA=1;break;case 0xf7:P0=0x77;P2=0xee;a=

25、0xfc;b=0xef;EA=1;break;case 0xef:P0=0xee;P2=0x77;a=0xfd;b=0x45;EA=1;break;case 0xdf:P0=0xdd;P2=0xbb;a=0xfd;b=0x92;EA=1;break;case 0xbf:P0=0xbb;P2=0xdd;a=0xfd;b=0xd0;EA=1;break;case 0x7f:P0=0x77;P2=0xee;a=0xfd;b=0xee;EA=1;break;default:EA=0;speaker=0;/P0=0xff;P2=0xff ; 21void delay(uint z)uint x,y;fo

26、r(x=z;x0;x-)for(y=110;y0;y-);void keyscan()if(key1=0)delay(5);if(key1=0)s1num+;while(!key1);if(s1num=1)turn();if(s1num=2)back();if(s1num=3)22qianhou();if(s1num=4)dangshuang();if(s1num=5)s1num=1;if(key2=0)delay(5);while(key2);play1();void delay1(void)/第二个延时函数uchar n=15;while(n-)uchar i;for(i=0;i=33)

27、return; /数值是shengri相关表中的元素数量 24/*以下为 N种流水灯流动花式*/void turn()/流水灯顺时针走动(5 次)for(num1=0;num1-1;num-)P2=ledtable2num;delay(30);P2=0xff;/之后关闭 P2组void back()/逆时针流动for(num1=0;num1-1;num-)P0=ledtable2num;delay(30);P0=0xff;void qianhou()/前后来回for(num1=0;num1-1;num-)26P0=ledtablenum;P2=ledtable2num;delay(30);P0=0xff;P2=0xff;void dangshuang()/单数双数for(num1=0;num115;num1+)P0=0x55;P2=0xaa;delay(150);P0=0xaa;P2=0x55;delay(150);

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报