电子琴说明书.docx
- 文档编号:29343223
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:21
- 大小:221.25KB
电子琴说明书.docx
《电子琴说明书.docx》由会员分享,可在线阅读,更多相关《电子琴说明书.docx(21页珍藏版)》请在冰豆网上搜索。
电子琴说明书
湄洲湾职业技术学院
电子琴说明书
系别:
电子工程系
年级:
10级专业:
电气自动化技术
姓名:
小聪学号:
1001020277
导师姓名:
陈辉煌职称:
教授
2013年5月27日
1.前言
随着电子技术飞速的发展,以及在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高。
单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
他的应用必定导致传统的控制技术从根本上发生变革。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用STC89C52单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和16个led小灯。
主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。
利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。
并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。
当然对于单片机来产生不同的频率非常方便,我们可以利用单片机来制作电子琴。
2.系统设计技术参数要求
(1)键盘用于弹奏音乐,八个按键8种音符。
(2)单片机通过输出各种电脉冲信号开驱动控制各部分正常工作。
(3)单片机发送的信号分别经过LED显示电路通过译码最终在LED小灯和声音电路通过扬声器显示出来。
(4)单片机内置歌曲,通过按键转换模式,弹奏模式和演奏模式与LED闪烁模式。
(5)电路供电电源5V。
3.系统设计
3.1系统设计总体框图
图3-1系统设计总体框图
3.2各模块原理说明
3.2.1最小系统AT89C52模块
STC89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,STC89C52单片机在电子行业中有着广泛的应用。
STC89C52主要管脚说明:
VCC(40脚):
供电电压GND(20脚):
接地RST:
复位输入。
/EA/VPP(31脚):
当/EA为低电平时,不管是否有内部程序存储器,只选用片外存储器,外部程序存储器地址为:
0000H-FFFFH。
反之当单片机上电或复位后选用片内程序存储器。
XTAL1(19脚):
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2(18脚):
来自反向振荡器的输出。
单片机最小系统采用5V电源供电,利用晶振电路给单片机工作运行提供脉冲。
图3-2最小系统
3.2.2控制按钮模块
键盘电路中,八个按键即为八个对应的音符,他们分别连接到P3的八个口上,按键不按下则没有触发信号,按键按下时,为低电平,对应P3口有触发信号,通过控制模块模块的控制,使得整个系统具有灵活性,实用性。
如下图3-3所示。
图3-3控制按钮模块
3.2.3显示模块
本次设计的显示电路主要是十六个发光二极管流水灯显示,当按下流水灯控制按键时,则调用流水灯程序,将产生的方波信号送至P0与P2口所接的十六个发光二极管,根据不同的高低电平发光,实现流水灯功能。
如下图3-4所示
图3-4控制按钮模块
3.2.4声音模块
由于一首音乐是许多不同音节组成的,而每个音节对应不同的频率,这样我们就可以利用不同的频率组合,即可构成我们所想要的音乐了。
当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系找到就可以了。
利用三极管构成一个达林顿结构。
首先当单片机P1.0口输出一个高电平,由两个三极管构成的达林顿成能导通,导通后又能对电流又一定的放大作用,这样传到扬声器时信号能让我们听的更清楚。
如下图3-5所示
图3-5发音模块
3.3系统总原理图说明
该设计要实现一种由单片机控制的电子琴,单片机工作于12MHZ的时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号。
该设计具有8个音阶,可以在键盘上演奏,并通过扬声器发声。
3.4系统的印刷电路板的制作
见附录二
3.5系统的操作说明
1.接好电路中的电源供电线、打开电路总开关与排线。
2.检查好电路板中没有短路现象、电源供电线、驱动电路开关与负载供电线、负载供电线都接好后通电使用。
3.电路安装好后,通电即可正常使用。
3.6系统的操作注意事项
1.通电使用前先对照电路板与电路图是否有错焊、漏焊、短路、开路、元器件相碰等现象,有要处理好后再使用。
2.通电使用前先检查好电路板是否与电源供电线、驱动电路开关与负载供电线、负载供电线之间相互接反,不得在接错的情况下通电,要处理好后再使用。
3.通电使用时人体不得与电路板线路任何一个部位相碰,防止触电,注意安全。
4.应把电极片与电路板隔离,避免电极片与电路板上元器件相碰触发生短路现象。
5.通电时应把电路板放在绝缘物体上,避开其他导电物体避免发生短路现象。
6.使用时闻到烧焦味、发现元器件或集成块冒烟烧毁应立即断开电源,待电路板查明原因处理好后才可以继续通电使用。
7.调试电路时应小心操作,避免万用表笔或其它导电工具造成人为短路。
8.更换电路板元件、焊接时应断开电源后再操作避免造成元器件击穿或电路短路现象。
参考文献
[1]何立明,单片机应用系统设计[M],北京航空航天大学出版社,1990
[2]张道德,单片机接口技术(C51版)[M],北京中国水利水电出版社,2007
[3]张靖武,周灵彬,单片机系统的Proteus设计与仿真[M],北京电子工业出版社,2007
[4]沈德金,MCS-51系列单片机接口电路与应用程序实例,北京航空航天大学出版社,1990
[5]胡汉才,单片机原理及接口技术,清华大学出版社,1996
[6]潘立民,王燕芳.微型计算机控制技术,人民邮电出版社,1990
[7]邵敏权,刘刚.单片机原理实验及应用,吉林科学技术出版社,1995.1
[8]陈汝全,实用微机与单片机控制技术,电子科技大学出版社,1995.7
[9]张艺刚主编.单片机原理与接口技术[M]北京:
北京航空航天大学出版社,2005-9-1
[10]胡宴如主编.模拟电子技术[M]高等教育出版社,2008-2-1
[11]赵利主编.数字电子技术[M]冶金工业出版社,2009-1-1
[12]李华.单片机C语言编程[M].北京:
北京航空航天大学出版社,2005-8-1.
[13]李萍.AT89S51单片机、原理、开发与应用实例[M].北京:
中国电力出版社.2008-7
[14]张晔、王玉民等.单片机应用技术[M].北京:
高等教育出版社.2006-3
[15]付家才等.单片机控制工程实践技术[M].北京:
化学工业出版社.2004-5
致谢词
三年前,这个校园是我的梦想。
三年后,微笑回首来路,一幕幕,宛在昨天。
人生就是如此吧,每个段落结束的时候,我们总会感慨时光飞逝。
同门求学是一种缘分,更显融洽和谐。
无数次结伴同游,无数次对酒当歌,无数次谈天说地、嬉笑怒骂,无数次寻找快乐。
曾经一样的悲欢,注定在未来的日子里,我们可以共同分享许多美好的回忆。
尽管就要各奔东西,但三年同窗之谊,我们会成为一生的朋友。
首先要感谢的是养育我的父母,他们给了我无私的爱,我深知他们为我求学和生活所付出的巨大的牺牲和努力,至今我一直无以为报,在这里仅表达我对他们的深深地思念和感恩。
其次我要感谢我的导师陈辉煌老师,您在百忙中抽出时间耐心地指导我,对毕业作品提出不足并教我怎么去改进创新。
再次,感谢翁娟钗辅导员,您在生活上和工作上给了我很大的帮助。
还要感谢各学科的老师们,如李清生老师、郑维清老师、叶志琼老师、赵立琼老师、李志杰老师、宋进老师、林寿光老师、梁锋林老师、许振龙老师、杨阿弟老师等传授了我很多知识,在学业上给了我很大帮助。
使我真切切的体会到了老师们的良苦用心,系部的所有老师,对我们的学习、生活,健康都十分的关注。
除此之外,还对我的生活给予关怀,使我可以顺利的完成在校外的毕业设计任务同学和老师们。
三年,充实快乐。
感谢生我养我的父母,感谢给予我帮助的老师,感谢我的同学,感谢我的室友,是你们,让我觉得生活如此美好。
在此,对所有帮助过我的人表示衷心的感谢。
附录
附录一:
电路总原理图
附录二:
系统印刷电路板图
附录三:
源程序
/*
8个按键发出8个基本音,
能播放内置音乐,音乐跟随灯光闪烁
*/
sfrP4=0xe8;//定义P4组I0口
#include
#defineuintunsignedint
#defineucharunsignedchar
sbitspeaker=P1^4;//喇叭接30脚
sbitkey1=P1^0;//流水灯按键(暂时)
sbitkey2=P1^1;//播放音乐按键(暂定)
uchara,b,num1,s1num,n1,n2;
charnum;//定义num为可以负数
ucharcodeyinfu[]={0xfb,0xe9,//Do
0xfc,0x5c,//Re
0xfc,0xc1,//Mi
0xfc,0xef,//Fa
0xfd,0x45,//So
0xfd,0x92,//La
0xfd,0xd0,//Si
0xfd,0xee,//Do#
0x00,0x00,//间隔
};
ucharcodeshengri_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代表不发声,即停顿;数字即为音调
};
ucharcodeshengri_beat[]={24,1,24,48,48,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表各音调的延时
};
ucharcodeledtable[]={0x7f,0xbf,0xdf,0xef,//取反
0xf7,0xfb,0xfd,0xfe};//P0组口的发光二极管代码(焊接过程可能会相反,具体更改)
ucharcodeledtable2[]={0x7f,0xbf,0xdf,0xef,//取反
0xf7,0xfb,0xfd,0xfe};//P2组口发光二极管代码,相反!
voidcheck_key();//改为P3组为按键
voidkeyscan();
voidturn();//顺时针流动
voidback();
voidqianhou();
voiddangshuang();
voiddelay(uintz);//延时函数声明
voiddelay1(void);//声明第二个延时函数
voidplay1(void);//播放生日快乐
voidmain()
{
s1num=0;//流水灯种类标志
key1=1;
key2=1;
TMOD=0x01;
TH0=a;
TL0=b;
ET0=1;//打开定时器,但是未允许中断
TR0=1;
while
(1)
{
check_key();
keyscan();
}
}
voidtime0()interrupt1
{
TH0=a;
TL0=b;
speaker=~speaker;
}
voidcheck_key()
{
P3=0xff;//先赋给P2组口高电平
switch(P3)//按下一个键相应4个灯亮
{
case0xfe:
P0=0xee;P2=0x77;a=0xfb;b=0xe9;EA=1;break;//P0,P2组为发光二极管组
case0xfd:
P0=0xdd;P2=0xbb;a=0xfc;b=0x5c;EA=1;break;//注意:
EA不能改为TR0
case0xfb:
P0=0xbb;P2=0xdd;a=0xfc;b=0xc1;EA=1;break;
case0xf7:
P0=0x77;P2=0xee;a=0xfc;b=0xef;EA=1;break;
case0xef:
P0=0xee;P2=0x77;a=0xfd;b=0x45;EA=1;break;
case0xdf:
P0=0xdd;P2=0xbb;a=0xfd;b=0x92;EA=1;break;
case0xbf:
P0=0xbb;P2=0xdd;a=0xfd;b=0xd0;EA=1;break;
case0x7f:
P0=0x77;P2=0xee;a=0xfd;b=0xee;EA=1;break;
default:
EA=0;speaker=0;//P0=0xff;P2=0xff;
}
}
voiddelay(uintz)
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
voidkeyscan()
{
if(key1==0)
{
delay(5);
if(key1==0)
{
s1num++;
while(!
key1);
if(s1num==1)
{
turn();
}
}
if(s1num==2)
{
back();
}
if(s1num==3)
{
qianhou();
}
if(s1num==4)
{
dangshuang();
}
if(s1num==5)
s1num=1;
}
if(key2==0)
{
delay(5);
while(~key2);
play1();
}
}
voiddelay1(void)//第二个延时函数
{
ucharn=15;
while(n--)
{
uchari;
for(i=0;i<125;i++);
}
}
voidplay1(void)//播放生日快乐
{
ucharm=0;
uchars;
ucharc=1;
P0=0xaa;
P2=0x55;
while
(1)
{
EA=0;
c=shengri_tone[m];//取音符
s=shengri_beat[m];//取节拍
a=yinfu[2*c-2];
b=yinfu[2*c-1];
EA=1;
while(s--)
{
delay1();
P0=~P0;
P2=~P2;
}
m++;
if(m>=33)return;//数值是shengri相关表中的元素数量
}
}
/*以下为N种流水灯流动花式*/
voidturn()//流水灯顺时针走动(5次)
{
for(num1=0;num1<8;num1++)
{
for(num=0;num<8;num++)
{
P0=ledtable[num];
delay(30);//时间暂定
}
P0=0xff;//之后关闭P1组
for(num=7;num>-1;num--)
{
P2=ledtable2[num];
delay(30);
}
P2=0xff;//之后关闭P2组
}
}
voidback()//逆时针流动
{
for(num1=0;num1<8;num1++)
{
for(num=0;num<8;num++)
{
P2=ledtable[num];
delay(30);
}
P2=0xff;
for(num=7;num>-1;num--)
{
P0=ledtable2[num];
delay(30);
}
P0=0xff;
}
}
voidqianhou()//前后来回
{
for(num1=0;num1<10;num1++)
{
for(num=0;num<8;num++)
{
P0=ledtable[num];
P2=ledtable2[num];
delay(30);
}
P0=0xff;
P2=0xff;
for(num=7;num>-1;num--)
{
P0=ledtable[num];
P2=ledtable2[num];
delay(30);
}
P0=0xff;
P2=0xff;
}
}
voiddangshuang()//单数双数
{
for(num1=0;num1<15;num1++)
{
P0=0x55;
P2=0xaa;
delay(150);
P0=0xaa;
P2=0x55;
delay(150);
}
}
元件清单
名称
规格
数量
主要功能或作用
按钮
6*6*5
11
分别控制控制音乐的节奏及复位
电容
30P
2
单片机时钟振荡
电容
10UF
1
单片机复位
电阻
1k\10k
16\2
限流
排阻
10K
2
单片机
单片机
STC89C52
1
CPU
晶体
12M
1
单片机时钟振荡
三极管
8050
2
驱动小喇叭
小喇叭
8欧0.25w
1
信号灯切换时报警
芯片底座
40脚
1
保护引脚
发光二极管(蓝)
5MM
16
彩灯显示
发光二极管
3MM
1
电源显示
自锁开关
8*8MM
1
控制VCC
电池盒
三节盒
1
提供外接电源
DC座
3.5*1.3MM
1
直流电源插座
插针
2
外接电源接线
PCB板
155MMX100MM
1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子琴 说明书
![提示](https://static.bdocx.com/images/bang_tan.gif)