51单片机电子琴编程方法
单片机8051 C语言电子琴
单片机8051 C语言电子琴
单片机编写8按键电子琴的C语言程序谁有?,发我一份,huangjiao1968@yahoo...
这个是利用实验仪上提供的键盘,使数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音调。用8255的PA.0口发出音频脉冲,驱动喇叭。可以参考一下。include <reg51.h> define mode 0x82;xdata unsigned char Control _at_ 0x8003;xdata unsigned char Speaker _at_ 0x8000;xdata ...
51单片机简谱编码
\/\/ 8键电子琴C程序 自己根据音节做个与简谱对应的表就可以了。include <AT89X51.H> sbit SPEAKER = P3^7;define KEY P1 unsigned char MUSIC;unsigned char STH0;unsigned char STL0;unsigned int code tab[]={ 64021,64103,64260,64400,\/\/低音3开始 64524,64580,64684,64777,64820...
基于51单片机的电子琴设计程序如下,我有点看不懂,求高手解释。本人谢谢...
LJMP INT_T0 ORG 0100H MAIN:MOV SP,#60H ;初始化堆栈指针 MOV 30H,#00 ;定时器初值清零 MOV 31H,#00 MOV P1,#0FFH ;设置P1口为输入模式 MOV TMOD,#01H ;设置定时器0为工作模式1 SETB ET0 ;开定时器0中断 SETB EA ;开总中断 CLR ...
用89C51单片机设计开发简易电子琴,能7个音,并存一首歌就好,要简单点的...
while(1){ i=0;while(i<100){ \/\/音乐数组长度 ,唱完从头再来 k=sszymmh[i]+7*sszymmh[i+1]-1;timer0h=FREQH[k];timer0l=FREQL[k];time=sszymmh[i+2];i=i+3;song();} } } 自己改改吧。。你说的不太清。。是不是还要用到键盘作为电子琴按键。。。提问也有技巧的。。下...
在51单片机上用C语言实现电子琴功能,但同时数码管可以显示简谱,怎么...
中断读取按键信号,分析按键,然后设定定时器的频率,启动定时器,设置一个响的时间,然后到时间关闭定时器,这样你按下k1就会发出一声do的声音,然后停了。3,按键读取程序,中断或者查询方式,自己选择吧,别忘了延迟5ms左右再次读取按键,这个是消抖的。4,建议模块化编程,先搞定按键的,然后搞定数码管...
用八个按钮控制p1端口使电子琴发出do,re,mi,fa,so,la,si,deo(用单片机...
T0HEQU 30H T0L EQU 31H ORG 0000H LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H MAIN:MOV SP,#5FH MOV TMOD,#01H SETB ET0 SETB EA LOOP:MOV DPTR,#FREQ MOV A,P2;控制高中低音区 MOV R1,#0 ANL A,#03H JB ACC.0,LOOP01 MOV R1,#14 SJMP LOOP0 LOOP01:JB ACC.1,LOOP0 M...
求 可以播放音乐的4*4单片机电子琴的程序 ,最好是C语言的,用P37接喇 ...
include <AT89X51.H> \/\/电子琴的程序 define keyport P1 \/\/矩阵键盘接口 define speaker P3_7\/\/蜂鸣器 define segdisplay P0 \/\/数码管显示 unsigned char code table[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10 ,0x08 ,0x03,0x46,0x21,0x06 ,0x0e \/\/共阳极数码管...
单片机电子琴的工作原理
众所周知,声音是周围空气的震动,音调取决于震动的频率,频率越高音调越高。电子琴按下不同的琴键就会发出不同音调的声音,其实就是产生不同频率的震动。单片机电子琴说白了就是利用单片机产生不同频率的电压波形,推动扬声器或蜂鸣器来发出不同音调的声音。假设电子琴有八个音阶,就对应8个不同的频率,...
51单片机设计的电子琴怎么发出和弦音。。请给出具体电路图啊。。。救 ...
由4X4组成16个按钮矩阵,设计成16个音。可随意弹奏想要表达的和弦音和音乐。
白云矿区坤净回答: ;R5音调延时值;R6从内存中读到的数据 ;9H--TABLE1~11数据;20H--TL1初值;21H--TH1初值;22H--修正后的按键值;30H--TABLE1~11地址计数器 ;0AH--弹奏音调延时值;0BH--内存地址;0CH--读写到内存的数据;0DH--按键值;0EH--...
倪飞18679219057问: 单片机简易电子琴程序?
白云矿区坤净回答: ;R5音调延时值;R6从内存中读到的数据nbsp;;9H--TABLE1~11数据;20H--TL1初值;21H--TH1初值;22H--修正后的按键值;30H--TABLE1~11地址计数器nbsp;;0AH--弹奏音调延时值;0BH--内存地址;0CH--读写到内存的数据;0DH--按键值...
倪飞18679219057问: 怎么用单片机编写音乐程序 - ?
白云矿区坤净回答: 单片机比如51系列都有定时器,因此可以利用它来控制扬声器按一定频率发声,以下就是一个例程,用按键的按下和抬起来模拟电子琴的控制程序. T0H EQU 30H T0L EQU 31H ORG 0000H LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H ...
倪飞18679219057问: 51单片机C语言怎么编写电子琴的回放功能! - ?
白云矿区坤净回答: 存储回放,自己定义好一个格式存储,存储要记下的就是键值,力度,时间(包括按下和弹起),当前音色等等,然后播放时再解析下就好了.
倪飞18679219057问: 电子琴要同时发出两个甚至更多的音符,用51单片机怎么做? - ?
白云矿区坤净回答: 这玩意两种实现方式吧.一种简单点.你本来就是通过频率驱动喇叭, 那你干脆驱动3个喇叭算了,发几个音就驱动几个.如果是3个和音,那就同时驱动三个.虽然傻逼,但是这个很简单,很容易做.另外复杂点就是,你首先要能分析出来这三个音的和音的构成.由于是喇叭驱动的.所以音色可以不考虑,那么就是音调,频率的事儿了. 这个在不同的频域上,混合叠加.产生新的波形.如果你能算出这个波形,ok,你可以合成这个
倪飞18679219057问: 基于51单片机的电子琴设计程序如下,我有点看不懂,求高手解释.本人谢谢了?
白云矿区坤净回答: 要看懂单片机演奏音乐的程序,应该略懂一些音乐的知识,如频率、时长等等.另外,编程的方法思路,是因人而异的.硬要看懂别人的程序,还不如自己编写一个.下面这个程序,通用性较强,也比较好理解,看看能看懂否:http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/88bfff323ec42ef21b4cff09.html
倪飞18679219057问: 51单片机设计的电子琴怎么发出和弦音..请给出具体电路图啊...救命.. - ?
白云矿区坤净回答: 51单片机如果想发出不同的音阶,需要使用无源蜂鸣器.可以使用三极管驱动.电路图及其简单,难点为无源蜂鸣器的驱动部分的程序.
倪飞18679219057问: 用单片机实现简易电子琴的课程设计 - ?
白云矿区坤净回答:说明:由单片机的P1.0口输出音频信号,在P1.0口接三极管以驱动喇叭,最好用两个三极管构成达林顿结构.P2口连接8个一端接地的按键作为输入,当然也需要连接8只10K的电阻至电源作为上拉电阻.P2.0~P2.7依次为Do、Re、Mi、Fa、...
倪飞18679219057问: 在用51单片机设计电子琴时,要求将现场弹奏的音乐存储及播放,要用到单片机的哪些功能,怎么实现???? - ?
白云矿区坤净回答: 可以用AT24C系统I2C存储器,断电信息不丢失,最大可以256K,应该够用了.
倪飞18679219057问: 用51单片机 制作简易电子琴 的两个问题 - ?
白云矿区坤净回答: 内部大循环只要把扫描程序等需要不停执行的程序写在 while(1) { ......(这里) } 识别按键只要与按键相连的引脚检测到低电平即可 给你一个按键范例:假如按键接到单片机P2^0引脚 sbit K = P2^0; if(K == 0) { delay(5); //延时去抖 if(K == 0) //确定键按下 { while(!K); //判断松手 .....(功能函数) } }