• 大小: 2.81MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-09
  • 语言: 其他
  • 标签: 51单片机  

资源简介

基于51单片机的心形声光电子琴,内容很全,包含硬件电路图,proteus仿真图,程序源代码及其他相关资料。

资源截图

代码片段和文件信息

#include
#define uint unsigned int
#define uchar unsigned char
sbit speaker=P1^4;//喇叭接30脚
sbit key1=P1^0;//流水灯按键(暂时)
sbit key2=P1^1;//播放音乐按键(暂定)
uchar abnum1s1numn1n2;
char num;//定义num为可以负数
uchar code yinfu[]={0xfb0xe9      //Do
                   0xfc0x5c      //Re
                   0xfc0xc1      //Mi
                   0xfc0xef      //Fa
                   0xfd0x45      //So
                   0xfd0x92      //La
                   0xfd0xd0      //Si
                   0xfd0xee      //Do#
   0x000x00    //间隔
};
uchar code shengri_tone[]={        10121430 //生日快乐音调
                                   10121540
                                   101864320
                                   70764540       //0代表不发声,即停顿;数字即为音调
};
 
uchar code shengri_beat[]={   24124484848725//节拍
                                   24124484848725
                                   2412448484848725
                                   24124484848725    //节拍,即tone表各音调的延时
};
uchar code ledtable[]={0x7f0xbf0xdf0xef //取反
0xf70xfb0xfd0xfe};//P0组口的发光二极管代码(焊接过程可能会相反,具体更改)
uchar code ledtable2[]={0x7f0xbf0xdf0xef //取反
0xf70xfb0xfd0xfe};//P2组口发光二极管代码相反!
void check_key();//改为P3组为按键
void keyscan();
void turn();//顺时针流动
void back();
void qianhou();
void dangshuang();
void delay(uint z);//延时函数声明
void delay1(void);//声明第二个延时函数
void play1(void);//播放生日快乐

void main()
{
s1num=0;//流水灯种类标志
key1=1;
key2=1;
TMOD=0x01;
TH0=a;
TL0=b;
ET0=1;//打开定时器,但是未允许中断
TR0=1;
while(1)
{
check_key();
keyscan();
}
}

void time0() interrupt 1
{
TH0=a;
TL0=b;
speaker=~speaker;
}
void check_key()
{
P3=0xff;//先赋给P2组口高电平
switch(P3)//按下一个键相应4个灯亮
{
case 0xfe:P0=0xee;P2=0x77;a=0xfb;b=0xe9;EA=1;break;//P0P2组为发光二极管组
case 0xfd:P0=0xdd;P2=0xbb;a=0xfc;b=0x5c;EA=1;break;//注意:EA不能改为TR0
case 0xfb:P0=0xbb;P2=0xdd;a=0xfc;b=0xc1;EA=1;break;
case 0xf7:P0=0x77;P2=0xee;a=0xfc;b=0xef;EA=1;break;
case 0xef:P0=0xee;P2=0x77;a=0xfd;b=0x45;EA=1;break;
case 0xdf:P0=0xdd;P2=0xbb;a=0xfd;b=0x92;EA=1;break;
case 0xbf:P0=0xbb;P2=0xdd;a=0xfd;b=0xd0;EA=1;break;
case 0x7f:P0=0x77;P2=0xee;a=0xfd;b=0xee;EA=1;break;
default:EA=0;speaker=0;//P0=0xff;P2=0xff ; 
}
}
void delay(uint z)
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void keyscan()
{
  if(key1==0)
  {
   delay(5);
if(key1==0)
{
s1num++;
while(!key1);
if(s1num==1)
{
turn();
}
}
if(s1num==2)
{
back();
}
if(s1num==3)
{
qianhou();
}
if(s1num==4)
{
dangshuang();
}
if(s1num==5)
s1num=1;
  }
if(key2==0)
{
delay(5);
while(~key2);
play1();
}
}

 void delay1(void)//第二个延时函数
{
       uchar n=15;
       while(n--)
       {
              uchar i;
              for(i=0;i<125;i++);
       }
}
void play1(void)//播放生日快乐
{

       uchar m=0;
 

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

     文件       4857  2015-06-13 13:46  10.心形声光电子琴\1-程序\声光电子琴c源程序\1.c

     文件      10822  2015-06-13 13:46  10.心形声光电子琴\1-程序\声光电子琴c源程序\1.LST

     文件      11038  2015-06-13 13:46  10.心形声光电子琴\1-程序\声光电子琴c源程序\1.OBJ

     文件       9288  2015-06-13 13:46  10.心形声光电子琴\1-程序\声光电子琴c源程序\程序

     文件       2518  2015-06-13 13:46  10.心形声光电子琴\1-程序\声光电子琴c源程序\程序.hex

     文件         22  2015-06-13 13:46  10.心形声光电子琴\1-程序\声光电子琴c源程序\程序.lnp

     文件      13659  2015-06-13 13:46  10.心形声光电子琴\1-程序\声光电子琴c源程序\程序.M51

     文件        190  2015-07-27 08:48  10.心形声光电子琴\1-程序\声光电子琴c源程序\程序.plg

     文件      55201  2015-07-27 08:48  10.心形声光电子琴\1-程序\声光电子琴c源程序\程序.uvopt

     文件      13220  2015-06-13 13:46  10.心形声光电子琴\1-程序\声光电子琴c源程序\程序.uvproj

     文件      55199  2015-07-27 08:23  10.心形声光电子琴\1-程序\声光电子琴c源程序\程序_uvopt.bak

     文件          0  2015-06-13 13:44  10.心形声光电子琴\1-程序\声光电子琴c源程序\程序_uvproj.bak

     文件      15060  2015-07-27 08:23  10.心形声光电子琴\1-程序\程序.docx

     文件      43520  2015-07-27 09:09  10.心形声光电子琴\10-任务书\声光电子琴任务书.doc

     文件     198024  2015-07-27 08:53  10.心形声光电子琴\12-实物图\模板9.jpg

     文件          4  2015-07-27 08:54  10.心形声光电子琴\13.14-原理图程序视频讲解\视频讲解连接.txt

     文件       2535  2012-09-20 14:38  10.心形声光电子琴\15-仿真\dzq.hex

     文件     116888  2015-07-27 08:55  10.心形声光电子琴\15-仿真\Last Loaded 声光电子琴.DBK

     文件     116888  2015-07-27 08:55  10.心形声光电子琴\15-仿真\声光电子琴.DSN

     文件        768  2016-12-28 01:12  10.心形声光电子琴\15-仿真\声光电子琴.PWI

     文件        120  2014-09-21 11:15  10.心形声光电子琴\16-c语言学习和软件安装使用教程\单片机十天征服你视频教程及课件.txt

     文件         47  2015-05-16 21:51  10.心形声光电子琴\16-c语言学习和软件安装使用教程\相关软件安装和使用视频.txt

     文件         32  2015-06-22 22:20  10.心形声光电子琴\17-售后电话15948362546(13点-15点)\重要.txt

     文件     595456  2015-07-27 08:37  10.心形声光电子琴\18.另送参考--文(针对本设计)\声光电子琴毕业论文.doc

     文件       1489  2015-04-17 13:37  10.心形声光电子琴\2-原理图\原理图\Backup of Preview 原理图.PPC

     文件     725318  2015-06-13 23:55  10.心形声光电子琴\2-原理图\原理图\Backup of 原理图.Pcb

     文件      27296  2015-06-13 23:55  10.心形声光电子琴\2-原理图\原理图\Backup of 原理图.Sch

     文件        653  2014-10-09 18:34  10.心形声光电子琴\2-原理图\原理图\Backup of 超声波测距.Bom

     文件      11644  2014-10-09 18:36  10.心形声光电子琴\2-原理图\原理图\Backup of 超声波测距.Sch

     文件       1489  2015-04-17 13:37  10.心形声光电子琴\2-原理图\原理图\Previous Backup of Preview 原理图.PPC

............此处省略64个文件信息

评论

共有 条评论