资源简介
本人设计的一个电子琴,用51单片机实现,文件带protues仿真,低中高21个音阶全部都有,比较全面。
代码片段和文件信息
/**********************************************
名称:电子琴演奏程序
作者:hs795
功能:按下按键蜂鸣器发出相应的音符,可以进行演奏!
p20接的按键用于播放示例音乐,p21用于停止当前播放音乐
2011年4月16日
**********************************************/
#include
#define unchar unsigned char
#define unint unsigned int
sbit beep=P3^1;//蜂鸣器接口
sbit p30=P3^0; //演示歌曲用
sbit p31=P3^2; //停止键
sbit pk1=P3^3;
sbit pk2=P3^4;
sbit pk3=P3^5;
//数码管段码表
unchar code LED[]={0xc00xf90xa40xb00x990x920x820xf80x800x900xff};//{0x3F0x060x5B0x4F0x660x6D0x7D0x070x7F0x6F0x00}
//以下定义低中高共21个音阶的定时参数通过定时器来实现不同音频的输出
unint code ti[21][2]={
{0xf80x8c}{0xf90x5c}{0xfa0x14}{0xfa0x67}{0xfb0x04}{0xfb0x90}{0xfc0x0c} //低音
{0xfc0x44}{0xfc0xb6}{0xfd0x09}{0xfd0x34}{0xfd0x82}{0xfd0xc8}{0xfe0x06} //中音
{0xfe0x22}{0xfe0x56}{0xfe0x8c}{0xfe0x9a}{0xfe0xc1}{0xfe0xe4}{0xff0x03}}; //高音
//简谱由音阶x[]和节拍y[]两部分组成
//节拍为每个音阶的输出时间
//下列出现“+7”是为了得到中音
//**《两只老虎》
unchar code x0[]={1+72+73+71+71+72+73+71+73+74+75+73+74+75+75+76+75+74+73+71+75+76+75+74+73+71+71+751+71+751+7};
unchar code y0[]={44444444448448313144313144448448};
//**《粉刷匠》
unchar code x1[]={5+73+75+73+75+73+71+72+74+73+72+75+75+73+75+73+75+73+71+72+74+73+72+71+72+7
2+74+74+73+71+75+72+74+73+72+75+75+73+75+73+75+73+71+72+74+73+72+71+7};
unchar code y1[]={4444448444416444444844441644444484444164444448444416};
//**《祝你生日快乐》
unchar code x2[]={55651+7755652+71+7555+73+71+7764+74+73+71+72+71+7};
unchar code y2[]={8888816888881688888888888816};
//**《最幸福的人》
unchar code x3[]={3+75+76+76+76+76+76+73+143+142+142+143+142+147+77+76+75+75+76+77+71+146+76+75+76+72+142+142+141+142+142+143+141+147+76+7
5+75+75+76+77+77+77+71+142+142+141+147+76+7};
unchar code y3[]={224224222222842222222222822228222282222222222224};
//**《天边的眷恋》
unchar code x5[]= {3+73+72+73+73+701+72+71+77660066+76+75+75+75+72+72+71+72+7
3+7003+73+76+76+75+75+75+702+72+75+73+72+71+70671+701+71+72+73+7770};
unchar code y5[]={2211821121144442221122222642
22221142222211211822223184};
//**《心肝宝贝》
unchar code x6[]={3+73+73+72+73+72+71+71+71+73561+71+761+75+73+73+70
6+76+76+75+76+73+75+75+75+73+75+73+72+72+71+761+73+7
2+73+72+72+73+73+73+72+73+72+71+71+71+73561+71+761+7
5+73+73+706+76+76+75+76+73+75+75+75+73+75+73+72+72+7
1+761+76+75+73+75+75+75+75+76+75+73+72+72+72+72+72+7
3+72+71+761+71+71+7033665561+71+71+71+7665+75+7
5+76+75+73+73+72+72+
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
.CA.... 7087 2011-04-27 00:40 单片机实现电子琴\单片机实现电子琴.c
.CA.... 171448 2011-07-13 15:03 单片机实现电子琴\单片机实现电子琴.DSN
.CA.... 768 2011-10-08 21:17 单片机实现电子琴\单片机实现电子琴.PWI
.CA.... 5897 2011-04-27 00:40 单片机实现电子琴\电子琴.hex
.CA.... 13269 2011-04-19 14:21 单片机实现电子琴\电子琴.uvproj
.C.D... 0 2012-02-25 23:14 单片机实现电子琴
----------- --------- ---------- ----- ----
198469 6
评论
共有 条评论