資源簡介
基于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個文件信息
- 上一篇:FANUC和三菱新代三軸UG后處理自動換刀與非自動換刀
- 下一篇:代碼自動生成工具
評論
共有 條評論