单片机曲谱_51单片机简谱编码
单片机c语言音乐简谱代码
代码的格式,是由编程者设计的,并没有统一的规范。
下面的链接可供参考。
http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/88bfff323ec42ef21b4cff09.html
求助:如何将简谱编成单片机代码?
声音是振动引起的,不同频率振动形成不同的声音。
根据音符的声音频率算,定时器0定时成相应频率的周期/2,从SPK引脚输出音符的频率。
在51单片机上用C语言实现电子琴功能,但同时数码管可以显示简谱,怎么编程序?
1,数据管显示就没什么了,找几个简单的数码管驱动程序改改就可以了,一般都是先选中数码管,然后设置值,就可以显示了,不过需要注意刷新,10ms刷新一个应该就可以了,刷新频率比较低的话会闪闪的,这个你应该明白。
2,蜂鸣器发do音,这个硬件实现我就不知道了,也许有硬件可以 编码控制自动生成对应频率的值。我想如果通过软件实现的话,不妨考虑一下定时器。假设do音是1000Hz的频率(没有查,不清楚,假设的),那么你可以控制定时器的触发频率为1000hz,触发一次,对应的输出到蜂鸣器的口的电平跳变一下,如果定时器的频率为1000hz的话,那么应该有500hz的频率,一个周期需要一高一低嘛!中断读取按键信号,分析按键,然后设定定时器的频率,启动定时器,设置一个响的时间,然后到时间关闭定时器,这样你按下k1就会发出一声do的声音,然后停了。
3,按键读取程序,中断或者查询方式,自己选择吧,别忘了延迟5ms左右再次读取按键,这个是消抖的。
4,建议模块化编程,先搞定按键的,然后搞定数码管的,然后搞定定时器的,然后再考虑如何把它们组合起来。好了不说了,说得有点多了,再说会我都回到大学时代了,哈哈。总之自己一点一点的做,应该不难,51熟练,c语言熟练,板子焊接的结构比较清晰的话,很快就可以搞定的。
5,还是建议你自己写一份各个模块的驱动的代码,例如按键的,数码管的,led的,温度传感器的,光敏的,蜂鸣器的,遥控器的,定时器的,中断的,等等等等模块(可以借鉴别人写的,自己一定要会),然后需要的时候,copy过来,改改就行,快而且bug少。建议keil c语言编程,用汇编编码太耗时了。
谁能讲解一下用51单片机写音乐乐谱
用51单片机写音乐乐谱 的 单片机音乐代码生成器,可以参考一下,下载附件 有 仿真实例可以仿真试试。
单片机音乐代码
#include "reg51.h"
#define uint unsigned int
#define uchar unsigned char
uchar * TABLE ;
code uint TABLE1 [15]={64260,64400,64524,64580,
64684,64777,64820,64898,
64968,65030,65058,65110,
65157,65178,65217};
code uchar SONG [ ]={
//1. 迟来的爱
};
code uchar SONG1 [ ]={
//2.两只蝴蝶
};
code uchar SONG3 [ ]={
//4.一个师傅三个徒弟
};
uchar hjsz;
uchar ljsz;
uchar jpm;
uchar yfm;
uchar t0 =0;
uint i=0;
sbit Speaker =P1^0;
uint k;
void Delay1()
{
for ( k=0;k<20000;k++);
}
void Lignt( )
{ uchar t;
for(t=0;t<10;t++)
{
P2=0xff;
Delay1();
P2=0x00;
Delay1();
}
}
void Lignt1( )
{
P2=0xaa;
Delay1();
P2=0x55;
Delay1();
}
void Delay(uchar t0)//延时
{
while(t0--) //决定节拍
Lignt1();
}
void Delay2(uchar w0)//延时
{
while(w0--) //决定节拍
Lignt();
}
void T0Int() interrupt 1//TIMER0
{
TL0 = ljsz;
TH0 = hjsz;
Speaker=!Speaker;
}
void ExtInt0() interrupt 0//INT0
{
if(t0>10)
t0=0;
i=0; // 全局变量,指向歌谱的第1个
switch(t0++)
{
case 0 : TABLE=SONG;break; //选择第1首
case 1 : TABLE=SONG1;break;//选择第2首
case 2 : TABLE=SONG2;break;//选择第3首
case 3 : TABLE=SONG3;break;//选择第4首
case 4 : TABLE=SONG4;break;//选择第5首
case 5 : TABLE=SONG5;break;//选择第6首
case 6 : TABLE=SONG6;break;//选择第7首
case 7 : TABLE=SONG7;break;//选择第8首
case 8 : TABLE=SONG8;break;//选择第9首
case 9 : TABLE=SONG9;break;//选择第10首
}
}
void songsing()//发音程序
{
i=0;
while(TABLE[i])
{
jpm=TABLE[i]&0x0f; //节拍值
yfm=(TABLE[i]>>0x04)&0x0f;//简谱值
if(yfm) //简谱为1,取计数值
{
yfm=yfm-1;
hjsz=(uchar)(TABLE1[yfm]>>0x08);//取计数值高字节
TH0 = hjsz;
ljsz=(uchar)(TABLE1[yfm]); //取计数值低字节
TL0 = ljsz;
TR0 = 1; //启动TIMER0
}
else TR0 = 0; //简谱为0,不发音
Delay(jpm); //节拍延时
i++;
}
}
void main(void)
{
TMOD =0X01;//设TIMER0在MODE1
TCON =0X01;//外部中断INT0,下降沿触发
IE =0x83;//开中断(INT0,TIMER0)
IP =0x00;//设置中断优先级
TABLE=SONG0;
while(1)
{
Lignt( );
songsing();//调用发音程序
TR0 = 0;//停止TIMER0
Delay2(1);
TABLE=SONG0;// 更改歌曲0
songsing();
}
}
热门曲谱
- 渡情笛子曲谱
曲谱自学网今天精心准备的曲谱是《渡情笛子曲谱》,下面是详解!
竹笛 我想学 渡情 请问是买A还是B调 的笛子 我还要...
竹笛的调和...
[详情]分类:曲谱大全时间:07:36 - c调口琴曲谱
曲谱自学网今天精心准备的曲谱是《c调口琴曲谱》,下面是详解!
求c调24孔口琴简谱大全
小弟求c调24孔口琴简谱大全,邮箱:zifuchen@st...
[详情]分类:曲谱大全时间:07:36 - 徳德玛歌曲谱
曲谱自学网今天精心准备的曲谱是《徳德玛歌曲谱》,下面是详解!
德德玛歌曲
1. 草原母亲河
[详情]分类:曲谱大全时间:07:36
2. 蓝蓝的马莲花
3. 阿妈的... - 京剧青衣曲谱
曲谱自学网今天精心准备的曲谱是《京剧青衣曲谱》,下面是详解!
京剧老旦唱段曲谱 与琴谱有什么区别
两者均属旦行。旦行包括:青...
[详情]分类:曲谱大全时间:07:35 - 诺言钢琴曲谱
曲谱自学网今天精心准备的曲谱是《诺言钢琴曲谱》,下面是详解!
洛洛历险记的片尾曲诺言的钢琴简谱(最好有前奏)
偶然听见这首歌觉得...
[详情]分类:曲谱大全时间:07:34 - 流行口琴曲谱
曲谱自学网今天精心准备的曲谱是《流行口琴曲谱》,下面是详解!
适合初学者的口琴简谱,要流行音乐的
我把爱铺成蓝天 ...
[详情]分类:曲谱大全时间:07:35 - 又见山里红曲谱
曲谱自学网今天精心准备的曲谱是《又见山里红曲谱》,下面是详解!
又见山里红简谱
分类:曲谱大全时间:07:31 - 钢琴流行曲谱
曲谱自学网今天精心准备的曲谱是《钢琴流行曲谱》,下面是详解!
有没有流行歌曲的钢琴简谱
樱花草,老人与海,爱转角等。谢谢。本人急...
[详情]分类:曲谱大全时间:07:29 - 古筝乡韵曲谱
曲谱自学网今天精心准备的曲谱是《古筝乡韵曲谱》,下面是详解!
古筝 乡韵
乡韵多难?既然云裳诉是它改的,乡韵应该也很难吧,特长生...
[详情]分类:曲谱大全时间:07:27 - 初学古琴曲谱
曲谱自学网今天精心准备的曲谱是《初学古琴曲谱》,下面是详解!
请问初学者如何识古琴谱,对谱怎么弹?
减字谱:
[详情]分类:曲谱大全时间:07:27
识谱还是比... - 一生无悔曲谱
曲谱自学网今天精心准备的曲谱是《一生无悔曲谱》,下面是详解!
基督教歌曲为福音一生无悔谱
基督教歌曲为福音一生无悔谱...
...[详情]分类:曲谱大全时间:07:26 - 手机曲谱软件
曲谱自学网今天精心准备的曲谱是《手机曲谱软件》,下面是详解!
在手机上怎么制作谱子
没试过用手机做谱子,效率太低了…
[详情]分类:曲谱大全时间:07:22
建... - 渴望主题曲谱
曲谱自学网今天精心准备的曲谱是《渴望主题曲谱》,下面是详解!
渴望的简谱
《渴望》的简谱是电视剧《渴望》录制的同名主题曲...
[详情]分类:曲谱大全时间:07:22 - 乐伶曲谱在哪
曲谱自学网今天精心准备的曲谱是《乐伶曲谱在哪》,下面是详解!
天涯明月刀ol乐伶曲谱怎么获得
首先你要学会第一职业 第二行里面...
[详情]分类:曲谱大全时间:07:21 - 天刀童话曲谱
曲谱自学网今天精心准备的曲谱是《天刀童话曲谱》,下面是详解!
天涯明月刀ol文士曲谱有哪些
笛曲·水云游 由身份技能点...
[详情]分类:曲谱大全时间:07:20 - 天刀曲谱弹琴
曲谱自学网今天精心准备的曲谱是《天刀曲谱弹琴》,下面是详解!
天涯明月刀乐伶怎么弹琴给别人加BUF
1:要想加BUF,首先游戏中...
[详情]分类:曲谱大全时间:07:20 - 天竺少女曲谱
曲谱自学网今天精心准备的曲谱是《天竺少女曲谱》,下面是详解!
天竺少女的古筝谱
- 绿岛小夜曲曲谱
曲谱自学网今天精心准备的曲谱是《绿岛小夜曲曲谱》,下面是详解!
绿岛小夜曲原唱晋秦歌词和谱曲
绿岛小夜曲原唱晋秦歌词和谱曲...[详情]
分类:曲谱大全时间:07:17 - 越剧曲谱下载
曲谱自学网今天精心准备的曲谱是《越剧曲谱下载》,下面是详解!
求越剧简谱
吴凤花的《狸猫换太子》拷寇部分,三次举起无情棒的曲谱,...
[详情]分类:曲谱大全时间:07:13 - 萨克斯曲谱简谱
曲谱自学网今天精心准备的曲谱是《萨克斯曲谱简谱》,下面是详解!
学萨克斯要学五线谱还是简谱
学萨克斯必须学五线谱。
[详情]分类:曲谱大全时间:07:37
其实...