资源简介

51单片机控制16按键发音电子琴设计中断触发C程序

资源截图

代码片段和文件信息


#include 

#define uchar unsigned char
#define uint  unsigned int
/*------------------------------------------------
                   函数声明
------------------------------------------------*/ 
uchar keyscan(void);//键盘扫描
void delay(uint z);
/*------------------------------------------------
              键盘扫描程序
------------------------------------------------*/
uchar keyscan(void)  //键盘扫描函数,使用行列反转扫描法
{
            uchar tempnum;
      P1=0xfe;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case 0xee:num=0;
break;
case 0xde:num=1;
break;
case 0xbe:num=2;
break;
case 0x7e:num=3;
break;
}     
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}

P1=0xfd;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case 0xed:num=4;
break;
case 0xdd:num=5;
break;
case 0xbd:num=6;
break;
case 0x7d:num=7;
break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}

P1=0xfb;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case 0xeb:num=8;
break;
case 0xdb:num=9;
break;
case 0xbb:num=10;
break;
case 0x7b:num=11;
break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}

P1=0xf7;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case 0xe7:num=12;
break;
case 0xd7:num=13;
break;
case 0xb7:num=14;
break;
case 0x77:num=15;
break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}
return num;
}
/*------------------------------------------------
                 延时程序
------------------------------------------------*/
void delay(uint z)
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-06-08 12:22  haoyu\
     文件       37099  2011-08-24 20:42  haoyu.zip
     文件       15054  2011-06-08 12:20  haoyu\haoyu
     文件        6244  2011-06-08 12:20  haoyu\haoyu.hex
     文件          54  2011-06-08 12:20  haoyu\haoyu.lnp
     文件       17760  2011-06-08 12:20  haoyu\haoyu.M51
     文件        1145  2011-06-08 12:20  haoyu\haoyu.plg
     文件       55821  2011-06-08 12:21  haoyu\haoyu.uvopt
     文件       13388  2011-06-07 23:48  haoyu\haoyu.uvproj
     文件       55819  2011-06-08 12:20  haoyu\haoyu_uvopt.bak
     文件       13385  2011-06-07 23:46  haoyu\haoyu_uvproj.bak
     文件        2646  2011-06-08 00:44  haoyu\key.c
     文件       10336  2011-06-08 12:20  haoyu\key.LST
     文件        4722  2011-06-08 12:20  haoyu\key.OBJ
     文件        6006  2011-06-08 12:20  haoyu\music.c
     文件       10460  2011-06-08 12:20  haoyu\music.LST
     文件       13179  2011-06-08 12:20  haoyu\music.OBJ

评论

共有 条评论