• 大小: 48.23 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-12-05
  • 语言: 其他
  • 标签:

资源简介

我做的电子琴,21个音,一般歌曲基本上都能够弹奏、多多指教。呵呵呵、、

资源截图

代码片段和文件信息

#include
#define uchar unsigned char
#define uint unsigned int
sbit P34=P3^4;
sbit P35=P3^5;
sbit P36=P3^6;
sbit P37=P3^7;
sbit P20=P2^0;
uchar code table[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f
 0x6f0x770x7c0x390x5e0x790x71
};
uint code tab[]={6402164103642606440064524645806468464777
  6482064898649686503065058651106515765178
 };
uchar tempkeyijSTH0STL0;
void delay(uint);

void main()
{
TMOD=0x01;
EA=1;
ET0=1;
while(1)
{
P3=0xff;
P34=0;
temp=P3;
temp&=0x0f;
if(temp!=0x0f)
{
delay(10);
temp=P3;
temp&=0x0f;
if(temp!=0x0f)
{
temp=P3;
temp&=0x0f;
switch(temp)
{
case 0x0e:key=0;break;
case 0x0d:key=1;break;
case 0x0b:key=2;break;
case 0x07:key=3;break;
}
temp=P3;
P20=~P20;
P0=table[key];
STH0=tab[key]/256;
STL0=tab[key]%256;
TR0=1;
temp&=0x0f;
while(temp!=0x0f)
{
temp=P3;
temp&=0x0f;
}
TR0=0;
}
}
P3=0xff;
P35=0;
temp=P3;
temp&=0x0f;
if(temp!=0x0f)
{
delay(10);
temp=P3;
temp&=0x0f;
if(temp!=0x0f)
{
temp=P3;
temp&=0x0f;
switch(temp)
{
case 0x0e:key=4;break;
case 0x0d:key=5;break;
case 0x0b:key=6;break;
case 0x07:key=7;break;
}
temp=P3;
P20=~P20;
P0=table[key];
STH0=tab[key]/256;
STL0=tab[key]%256;
TR0=1;
temp&=0x0f;
while(temp!=0x0f)
{
temp=P3;
temp&=0x0f;
}
TR0=0;
}
}
P3=0xff;
P36=0;
temp=P3;
temp&=0x0f;
if(temp!=0x0f)
{
delay(10);
temp=P3;
temp&=0x0f;
if(temp!=0x0f)
{
temp=P3;
temp&=0x0f;
switch(temp)
{
case 0x0e:key=8;break;
case 0x0d:key=9;break;
case 0x0b:key=10;break;
case 0x07:key=11;break;
}
temp=P3;
P20=~P20;
P0=table[key];
STH0=tab[key]/256;
STL0=tab[key]%256;
TR0=1;
temp&=0x0f;
while(temp!=0x0f)
{
temp=P3;
temp&=0x0f;
}
TR0=0;
}
}
P3=0xff;
P37=0;
temp=P3;
temp&=0x0f;
if(temp!=0x0f)
{
delay(10);
temp=P3;
temp&=0x0f;
if(temp!=0x0f)
{
temp=P3;
temp&=0x0f;
switch(temp)
{
case 0x0e:key=12;break;
case 0x0d:key=13;break;
case 0x0b:key=14;break;
case 0x07:key=15;break;
}
temp=P3;
P20=~P20;
P0=table[key];
STH0=tab[key]/256;
STL0=tab[key]%256;
TR0=1;
temp&=0x0f;
while(temp!=0x0f)
{
temp=P3;
temp&=0x0f;
}
TR0=0;
}
}
}
}

void delay(uint z)
{
uint xy;
for(x=z;x>0;x--)
 for(y=110;y>0;y--);
}

void timer0() interrupt 1
{
TH0=STH0;
TL0=STL0;
P20=~P20;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    .......         0  2010-04-11 23:53  电子琴\电子琴_Uv2.Bak

     文件       6376  2005-03-22 15:22  电子琴\STARTUP.A51

     文件        156  2010-04-25 00:58  电子琴\电子琴.plg

     文件       2837  2010-04-12 00:32  电子琴\dzq.c

     文件      14049  2010-04-13 21:57  电子琴\STARTUP.LST

     文件         57  2010-04-13 21:57  电子琴\电子琴.lnp

     文件      11438  2010-04-13 21:57  电子琴\电子琴.M51

     文件       1925  2010-04-13 21:57  电子琴\电子琴.hex

     文件       2185  2010-04-12 00:32  电子琴\电子琴.Uv2

     文件        768  2010-04-25 00:58  电子琴\电子琴.PWI

     文件         48  2010-04-12 10:58  电子琴\新建 文本文档.txt

     文件      91245  2010-04-13 20:23  电子琴\Last Loaded 电子琴.DBK

     文件      91245  2010-04-13 21:23  电子琴\电子琴.DSN

     文件        758  2010-04-13 21:57  电子琴\STARTUP.OBJ

     文件      10180  2010-04-13 21:57  电子琴\dzq.LST

     文件       8001  2010-04-13 21:57  电子琴\dzq.OBJ

     文件       7318  2010-04-13 21:57  电子琴\电子琴

    .......      1039  2010-04-13 21:57  电子琴\电子琴_Opt.Bak

     文件       1043  2010-04-25 00:58  电子琴\电子琴.Opt

     目录          0  2010-04-11 20:21  电子琴

----------- ---------  ---------- -----  ----

               250668                    20


评论

共有 条评论

相关资源