简易电子琴Word文档下载推荐.docx
- 文档编号:22306041
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:19
- 大小:431.09KB
简易电子琴Word文档下载推荐.docx
《简易电子琴Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《简易电子琴Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
★与MCS-51单片机产品兼容;
★8K字节在系统可编程Flash存储器;
★1000次擦写周期;
★全静态操作:
0Hz〜33Hz;
★三级加密程序存储器;
★32个可编程I/O口线;
★三个16位定时器/计数器;
★八个中断源;
★全双工UART串行通道。
复位是单片机的初始化操作,单片机在上电启动运行时,都需要先复位。
其作用是
使单片机和其他部件都处于一个确定的初始化状态,并从这个工作状态开始工作。
但是
单片机自身不能自动进行复位,必须使用外部复位电路来实现单片机的复位。
单片机的
外部复位电路有上电自动复位电路和按键手动复位电路两种。
复位端与VCC电源接通,
12
电容迅速放电,使REST引脚为高电平;
当复位键弹起后,VCC电源通过10K欧姆电阻对
22uf电容重新充电,REST引I脚端出现复位正脉冲。
其持续时间取决于RC电路时间常数。
复位控制电路图如图2所示:
VCC
■.
A
■SW-PB
*C1
—22uf
1R1
REST
200
]R3
10K
图2复位控制电路图
C4
r
□2.0592M
X2
30p
图3时钟控制电路图
2.设计目的
(1)能够对电子电路、电子器件、印刷版电路板等方面的知识有进一步的认识独立进行检测与调查。
(2)熟悉80S51单片机的部结构和功能,合理使用其部寄存器,能够完成相关软
件的编程设计工作
3)为实现预期功能,能够对系统进行快速调试,并能够对出现的故障进行分析,
及时修改相关软硬件。
(4)对软件编程、排错调试、相关设备的使用技能等方面得到较全面的锻炼和提
3.设计要求
利用所给的键盘0~9数字键,按下1~7键中对应键,能发出高音、中音、低音的1、2、3、4、5、6、7个音符,按键的长短代表节拍,这样方便实现自编曲子或旋律。
4.设计任务和容
4.1设计任务
根据所选题目设计(简易音乐盒设计),利用所给的键盘0~9数字键,单片机能发出高音、中音、低音的1、2、3、4、5、6、7个音符,按键的长短代表节拍,样方便实现自编曲子或旋律。
4.2设计容
(1)计算值查找音符的频率,计算出T0记时计算的脉冲个数如下表1。
(2)编写程序
利用KeiluVision4编写程序。
程序代码见附录。
(3)硬件调试利用学校实验室的开发板调试,分析找出问题,并加以改正。
表1音调表
音律
频率Hz
计数值H
Do
低音
262
F921
中音
523
FC7B
—>
_K—口'
/•
高曰
2045
FE48
Re
295
F9DF
587
FCEF
1175
FE78
Mi
330
FA8C
659
FD45
1318
FEA2
Fa
349
FAD8
698
FD6C
1397
FEB6
So
392
FB69
784
FDB4
1568
FED8
La
440
FBE9
880
FDF4
1760
FEFA
Xi
494
FC5C
988
FE34
1967
FF16
5•系统框图和原理分析
5.1系统框图
简易电子琴由蜂鸣器、电源电路、键盘电路、复位电路组成,通过键盘按键的不同选择不同的音调。
图4框架图
5.2原理分析
一首曲谱,是有不同的节拍的音调组成,节拍就是该音调的延长时间,如图图1所
示,t为音调,T为节拍。
可以用一个定时器产生音调,另一个定时器控制节拍,将一首歌的曲谱和音调的计算表,按表的顺序控制连个定时器,即可演奏歌曲。
t
图5音调和节拍
6•程序流程图
系统本流程图来实现控制。
系统主要是一按键为核心,通过按键选择高音、中音、
低音,在通过按键来选择音调,AT89S51检测到有按键按下,就相应的值给TO,通过TO来控制蜂鸣器发声。
主函数流程图如图6。
图6主函数流程图
7.关键代码分析
扫描键盘函数分析:
voidKey_Scan()
{
ucharw1,w2;
P1=0x0f;
w1=P1&
0x0f;
if(w1!
=0x0f)
Delay
(1);
TR0=1;
TR1=1;
P1=0xf0;
w2=P1&
0xf0;
g_ucKey=(w1|w2);
switch(g_ucKey)
case0xeb:
g_ucChoise=0;
TR0=0;
TR1=0;
BUZZ=1;
break;
//选择高音默认为高音
case0xed:
g_ucChoise=7;
〃选择中音
case0xee:
g_ucChoise=14;
//选择低音
case0x77:
case0x7b:
case0x7d:
case0x7e:
case0xb7:
case0xbb:
case0xbd:
g_ucM=0+g_ucChoise;
TH0=g_ucMusic[g_ucM]/256;
TL0=g_ucMusic[g_ucM]%256;
break;
g_ucM=1+g_ucChoise;
g_ucM=2+g_ucChoise;
g_ucM=3+g_ucChoise;
g_ucM=4+g_ucChoise;
g_ucM=5+g_ucChoise;
g_ucM=6+g_ucChoise;
//Do
//Re
///Mi
//Fa
//So
//La
//Xi
default:
TR0=0;
BUZZ=1;
}else
g_ucKey=0xff;
}
分析:
扫描键盘是否配按下,有按键按下,启动定时器1、2;
判断是那个按键按下,如是S1、S2、S3按下,这调相应的音符音调(分别是高、中、低),如果是S10~S16按下,这选择相应的音符(依次为Do、Re、Mi、Fa、So、La、Xi),通过蜂鸣器发出相应的声音。
8.设计总结
通过本次实训,我了解到了,单片机工作过程,对单片机又有了很深刻的认识,对于以前来说,眼高手低,不愿意去记那些很简单的东西,在这次实训中,吃了大亏。
特别是算音符的频率的时候,走了很多的弯路。
在画原理图和PCB电路板的时候,对AltiumDesigner的不熟悉也让我用了很久的时间,特别是在找元件的时候,几乎是每个库找。
通过这次实训,给我的收获还是挺大的。
了解到了电子琴的弹奏工作原理。
让我的思维有了很大的扩散,现在想起来,以前真的是井底之蛙。
通过这次实训,特别是画原理图,对PCB板元件的布局,有了很深刻的认识,要想把PCB板布置的美观、使用那还得需多加练习。
而且在对元件的了解程度上有了更深刻的认识。
在完成任务的途中,出现了很多的错,冷静下来,每个问题的找原因,分析每个问题的关键所在,找出解决方法。
在这个过程中收获很大,特别是对研发产品的流程有了初步的了解。
9.参考文献
[1]群芳.单片微型计算机与接口技术(第四版).电子工业.2012.1
[2]富.C及C++程序设计(第三版).人民邮电.2011.5
[3]史久贵.基于AltiumDesigner的原理图与PCB设计.机械工业.2010.1
[4]维成.单片机原理与应用及C51程序设计[M].:
清华大学,20054100-112
[5]朱月秀.单片机原理与应用[M].:
科学,2007.8.40-50
⑹康光华.电子技术基础[M]高等教育,2006.1.486-500
[7]牛昱光.单片机原理与接口技术[M].:
电子工业,2009.12.160-173
[8]徐玮.C51单片机高效入门[M].:
机械工业,2010.5.124-133
[9]戴仙金.51单片机及其C语言程序开发实例[M].:
清华大学,20082189-193
附录
附录1电路图
xirvfi缶!
m
知.Qm^iChvU仲&
*!
■!
!
■■•
寺]页藝
■ZlK^bsii
附录2PCB图
图8PCB图
附录3源程序(汇编或C语言)
***********************************************************************************
简易电子琴设计
功能要求:
禾U用所给的键盘0~9数字键,按下1~7键中对应键,单片机能发出高音、中音、
低音的1、2、3、4、5、6、7个音符,按键的长短代表节拍,这样方便实现自编曲子或旋律。
设计者:
Tdl完成日期:
QQ:
617457236:
tdljuntuan163.
*************************************************************************************/
#include"
regx52.h"
#defineBUZZP2_2
typedefunsignedcharuchar;
typedefunsignedintuint;
高音音符
//中音音符//低音音符
ucharg_ucKey;
uintg_ucMusic[]={0xfe48,0xfe78,0xfea2,0xfeb6,0xfed8,0xfefa,0xff16,//
0xfc7b,0xfcef,0xfd45,0xfd6c,0xfdb4,0xfdf4,0xfe34,0xf921,0xf90f,0xfa8c,0xfad8,0xfb69,0xfbe9,0xfc5c};
ucharg_ucM;
//选择音符,赋值给TH0、TL0
ucharg_ucChoise=0;
//中、低、高音符选择变量
ucharg_ucT=0;
ucharg_ucA=0;
//
//
voidDelay(ucharm)
uchari;
while(m--)
for(i=0;
i<
120;
i++)
w1=P1&
w2=P1&
switch(g_ucKey){
g_ucChoise=0;
//选择高音默认为高音
g_ucChoise=7;
//选择中音
g_ucChoise=14;
TL0=g_ucMusic[g_ucM]%256;
voidmain()
TMOD=0x11;
EA=1;
ET0=1;
ET1=1;
IP=0x04;
TH1=0x40cc/256;
TL1=0x40cc%256;
while
(1)
Key_Scan();
//T0中断服务函数,控制蜂鸣器产生音符
voidINIT0()interrupt1using0
BUZZ=~BUZZ;
if(g_ucA==1)
g_ucA=0;
voidINIT1()interrupt3using1
g_ucT++;
if(g_ucT>
=7)
g_ucT=0;
g_ucA=1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 电子琴