
//此程序在硬件上调试通过
//本程序的单片机晶振采用110592M
#include
<reg51h>
sbit
speaker=P1^2;
unsigned
char
timer0h,timer0l,time;
//世上只有妈妈好数据表
code
unsigned
char
sszymmh[]={
6,2,3,
5,2,1,
3,2,2,
5,2,2,
1,3,2,
6,2,1,
5,2,1,
6,2,4,
3,2,2,
5,2,1,
6,2,1,
5,2,2,
3,2,2,
1,2,1,
6,1,1,
5,2,1,
3,2,1,
2,2,4,
2,2,3,
3,2,1,
5,2,2,
5,2,1,
6,2,1,
3,2,2,
2,2,2,
1,2,4,
5,2,3,
3,2,1,
2,2,1,
1,2,1,
6,1,1,
1,2,1,
5,1,6,
0,0,0
};
//
音阶频率表
高八位
code
unsigned
char
FREQH[]={
0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,
0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,
//1,2,3,4,5,6,7,8,i
0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,
0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,
}
;
//
音阶频率表
低八位
code
unsigned
char
FREQL[]={
0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,
0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F,
//1,2,3,4,5,6,7,8,i
0xEE,0x44,
0x6B,0xB4,0xF4,0x2D,
0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,
};
void
delay(unsigned
char
t)
{
unsigned
char
t1;
unsigned
long
t2;
for(t1=0;t1<t;t1++)
{
for(t2=0;t2<8000;t2++)
{
;
}
}
TR0=0;
}
void
t0int()
interrupt
1
{
TR0=0;
speaker=!speaker;
TH0=timer0h;
TL0=timer0l;
TR0=1;
}
void
song()
{
TH0=timer0h;
TL0=timer0l;
TR0=1;
delay(time);
}
void
main(void)
{
unsigned
char
k,i;
TMOD=1;
//置CT0定时工作方式1
EA=1;
ET0=1;//IE=0x82
//CPU开中断,CT0开中断
while(1)
{
i=0;
while(i<100){
//音乐数组长度
,唱完从头再来
k=sszymmh[i]+7sszymmh[i+1]-1;
timer0h=FREQH[k];
timer0l=FREQL[k];
time=sszymmh[i+2];
i=i+3;
song();
}
}
《世上只有妈妈好》乐谱
自学电子琴的方法和步骤,在我们的生活中其实很多人都有想过学习一门乐器,市面上我们可以看到的乐器种类有很多,不同的器材有不一样的学习方法,以下自学电子琴的方法和步骤。
自学电子琴的方法和步骤1自学电子琴的方法和步骤为:首先,买一个合适的电子琴。根据自己的实践基础、应用范围和经济实力选择适合自己的电子琴是自学的基础和前提。都说工人要想做好工作,首先要磨砺自己的工具,所以拥有一台合适的电子琴是自学电子琴的关键。
其次、购买电子琴教程闭门学习。通过对比电子琴教程中列出的方法和方法,这是保证学习电子琴时少走弯路、更快学习的重要途径。因为在接触电子琴之前,虽然可以d奏出声音,但很有可能是方式不对,所以买一本自学教程是很有必要的。这种方法最大的好处是,在闲暇之余,可以静下心来充分思考。
最后、在线学习。因为在线学习有其独特的优势:图文并茂,形象生动,易于理解和接受,尤其是多媒体教学。虽然网上的器乐指南很多,但是好坏参半,所以要注意仔细筛选。
电子琴是随着科技的发展而出现的一种乐器。电子琴可以用简单的技巧演奏优美的音乐。广泛用于各种艺术表演,是自娱自乐的重要乐器之一。自学电子琴时首先要了解电子琴的结构和零件名称。电子风琴音色选择、电子风琴自动节奏选择、电子风琴自动和弦伴奏、电子风琴变奏型自动和弦。其次,乐理知识需要掌握和理解。
自学电子琴的方法和步骤2了解基本的乐理和读谱,熟悉电子琴键盘
1、对于指法来说,前提是有一个良好的坐姿,然后架起一个优秀的手型手掌拱起,指尖触键,手腕自然放松,手腕平整,指法练习,建议从C大调的音阶练习,可以很慢,但是一定要d准确,稳定,有力度地进行,提前准备换指,两手分开练习,练好了再合并。
2、以61键电子琴为例,其一共有6组琴键,其中从左边开始数第一到第五组是完整的,每组12个键,最右边一组不完整,只有一个C,这六组键,从左到右依次是大字组,小字组,小字一组,小字二组,小字三组,小字四组。从大字组最左边的键开始,白键依次是CDEFGAB对应C调中的1234567。字母表示音名,音名是固定的,唱名可能会随不同的调而改变。
3、音符是记录音高的符号,或是数字或是图形,记住了就算是认识了。可能你要说的是认识乐谱,除了音符,还有拍号调号小节线音符时值速度和力度的标记和各种要求的专门记号,需要逐项了解学习。
自学电子琴的方法和步骤3电子琴的考级分类
电子琴的考级分类现在我国的电子琴业余考级“全国版”以10级为最高级别,“上海版”也以10级为最高级别,中央音乐学院校外考级以9级为最高级别。
无论哪种,大致的程序都是以1、2、3为初级,4、5、6、7为中级,8、9、10为高级。一般来说,程序不同,考试对学生的要求也是不同的。例如:同样是d错音,对于初级者会宽容些,只要不是把全曲d得面目全非,主要的节奏点都能把握住,错音不多,一般是可以通过的,但是,若在高级别的考试中,有连续片段的错音,就肯定不会通过。
初级
(包括1、2、3级)同学,在考试时要注意以下方面:
1、正确的手型;2、准确的读谱(包括调号、临时记号以及左手的和弦);3不要造成旋律与伴奏的错位,即每个小节的重音点不一致。做到以上3点,取得合格是不成问题的。反之,乐曲、练习曲被演奏得面目全非,那就没有达到最基本的合格线,就会被评为不合格了。当然,如果各项都完成得不错,学生演奏乐曲时的各个乐句,轻响表现力都非常好,则可以取得优秀成绩。
中级
(包括4、5、6、7级)同学,在考试时要注意以下方面:
1、基本技术要过硬。这包括音阶训练、练习曲的技巧。对学生的要求是在d奏上没有技术上的负担,例如:手指僵硬,跑动不流畅,这取决于初级时学生基本功练习的好坏,若在初级阶段手型未掌握好,在中级阶段就会暴露出手型的缺陷。因此,我们特别建议学生在初级阶段时要打好扎实的基础。
学生的手指都站不稳,就做不到手指跳动。在中级的技巧训练上,对速度是有一定要求的,不能用比曲谱所标速度还慢的速度来演奏。若学生的演奏无错音,但速度演奏过慢,也会被考官视为程度未达到中级别,也不会达到合格的。
2、错音问题。在中级阶段,学生演奏时若有少量的错音,而且没有原则性的错误(例如调性等)是可以勉强合格的。
高级
(包括8、9、10级)同学,在考试时要注意以下几个方面:
1、演奏。高级别学生,在演奏上应该是完全没有问题了。包括手指的跑动、音的流畅、跑动的速度,都应该达到乐谱上的标准,如果学生未用正确的演奏方法,导致演奏速度不能达标,则不会获得通过。
2、错音问题。在高级阶段,不能允许再有部分错音,只能允许有两个错音和一个错误的节奏。不能出现读谱的错误,而只能允许演奏过程中出现一刹那间的小失误(如刮音、碰音等小问题)。
3、乐曲的表现力。在高级别的考试中,音乐表现力应该被列为首位。特别在电子琴考级中,高级别考的往往是一些大型的乐曲,各个乐段之间的衔接是很重要的,学生不能因为换开关而影响了音乐的完整性。
另外,音色的选择、节奏的选择也非常重要,如果一首乐曲选定了用摇摆节奏(SWING)风格的旋律,音色都要适合这个节奏的风格。若选用不准确,就达不到合格的标准了。反之,如果考生的音乐表现力非常好,d奏时出现些小错,还是可以被评为优秀的。
在考试中,学生一定要准确衡量自己的水平,选择正确的、适合自己的级别应考,不要盲目地一年跳考几个级别,这样对孩子是没有好处的。试想一下,你的孩子在小学阶段已突破了10级大关,上了中学就无事可做,不再练琴,加上基本功不牢,很快他就会全忘了。这本身也就失去了参加考级的意义。
考生要准确辨析自己的水平,你今年报高了一个级别,勉强合格,我建议明年你巩固一下,后年再考,给自己留一个余地。所以我们要了解考级,以平常心态去参加考级,测量出自己的音乐水平,这才是我们的目的所在。
#include<reg51h>
#include<absacch>
#include<stdioh>
#include<mathh>
#define uchar unsigned char
#define uint unsigned int
uchar STH0; //定时器计数初值
uchar STL0;
uchar k,key;
sbit SPK=P3^7;
sbit LED=P3^6;
//音符与计数值对应表
void delay1(uint ms) //播放歌曲时实现节拍的延时函数
{
uchar t;
while(ms--) for(t=0;t<120;t++);
}
uint code tab[]={64580,64684,64777,
64898,64968,65030,
65110, 65058};
uchar code SONG_TONE[]={212,212,190,212,159,169,212,212,190,212,142,159,
212,212,106,126,159,169,190,119,119,126,159,142,159,0};
// 生日快乐歌节拍表,节拍决定每个音符的演奏长短
uchar code SONG_LONG[]={9,3,12,12,12,24,9,3,12,12,12,24,
9,3,12,12,12,12,12,9,3,12,12,12,24,0};
void PlayMusic()
{
uint i=0,j,k;
while(SONG_LONG[i]!=0||SONG_TONE[i]!=0)
{ //播放各个音符,SONG_LONG 为拍子长度
for(j=0;j<SONG_LONG[i]20;j++)
{
SPK=~SPK;
//SONG_TONE延时表决定了每个音符的频率
for(k=0;k<SONG_TONE[i]/3;k++);
}
delay1(10);
i++;
}
}
//键消抖延时函数
void delay(void)
{
uchar i;
for(i=300;i>0;i--);
}
//键扫描函数
uchar getkey(void)
{
uchar scancode,tmpcode;
if((P2&0x07)==0x07)
return(0);
else scancode=0xdf;
while((scancode&0x04)!=0)
{
P2=scancode; //输入行扫描码
if((P2&0x07)!=0x07) //本行有键按下
{
tmpcode=(P2&0x07)|0xf8;
return((~scancode)+(~tmpcode));
}
else scancode=(scancode>>1)|0x80;
}
}
//定时器0中断服务子程序
void time0_int(void) interrupt 1 using 0
{
TH0=STH0;
TL0=STL0;
SPK=~SPK;
}
void main(void)
{
IE=0X87;
TMOD=0x01;
ET0=1;
EA=1;
IT0=1;
while(1)
{
P2=0x07;
if((P2&0x07)!=0x07)
{
delay();
if((P2&0x07)!=0x07)
{
key=getkey();
switch(key)
{ case 0x09: k=0;LED=0;delay1(300);LED=1;break;
case 0: k=1;LED=0;delay1(300);LED=1;break;
case 0x0c: k=2;LED=0;delay1(300);LED=1;break;
case 0x11: k=3;LED=0;delay1(300);LED=1;break;
case 0x12: k=4;LED=0;delay1(300);LED=1;break;
case 0x14: k=5;LED=0;delay1(300);LED=1;break;
case 0x22: k=6;LED=0;delay1(300);LED=1;break;
case 0x21:PlayMusic(); break;
default:
break;
}
STH0=tab[k]/256;
STL0=tab[k]%256;
TR0=1;
P2=0x07;
while((P2&0x07)!=0x07)
P2=0x07;
TR0=0;
}
}
}
}
以上就是关于单片机电子琴编程中各个音的频率的确定全部的内容,包括:单片机电子琴编程中各个音的频率的确定、自学电子琴的方法和步骤、跪求单片机电子琴C程序,3*3的矩阵键盘,设计八个音就好等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)