資源簡介
基于51單片機c語言電子琴程序 并用protues 仿真
按鍵發音

代碼片段和文件信息
#include??
#include
#include
#include
#define?PA?XBYTE[0xff7c]
#define?PB?XBYTE[0xff7d]
#define?PC?XBYTE[0xff7e]
#define?CTRL?XBYTE[0xff7f]
void?delay(unsigned?int?z) ;
void?display(?int?*a)?;
void?function1?(void)?;
void?duolaameng (void);
unsigned?char?table[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};
unsigned?int?pin[]={64580646846477764820648986498565030650586511065157651786521765265?65290};
unsigned?int?syin[8]={ 0};
sbit?P20=P2^0;
sbit?P21=P2^1;
sbit?P17=P1^7;
int?yincnt=0i;
unsigned?poe;
main()
{??EA=1;
TMOD=0x01;
ET0=1;
PT0=1;
CTRL=0x89;
while(1)
{function1();
duolaameng();
}
} ?
void?function1?(void)
{?poe=PC;
???switch(poe)
???
??{
??case??0xfe:yin=1; ?
??????????????????break;
??case??0xfd:yin=2; ?
??break;
??case??0xfb:yin=3; ?
??break;
??case??0xf7:yin=4; ?
??break;
??case??0xef:yin=5; ??
??break;
??case??0xdf:yin=6; ?
?;break;
??case??0xbf:yin=7;
??break;
??case??0x7f:yin=8; ??
??break;?}
if(poe!=0xff) ??
??{?if?(yin==1) {?
?? ?? ???TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
??while(poe==0xfe)
??{delay(20);
?? TR0=1;
delay(2);
poe=PC;
display(syin);
??}
??TR0=0;
??
??????????????????}
??if?(yin==2){?
?? ?? TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
??while(poe==0xfd)
??{
?? TR0=1;
delay(1);
poe=PC;
display(syin);
??}
??TR0=0;
??
??}
??if?(yin==3)?{
TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
??while(poe==0xfb)
??{
?? TR0=1;
delay(1);
poe=PC;
display(syin);
??}
??TR0=0;
??
??}
??if?(yin==4) ?{
TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
??while(poe==0xf7)
??{
?? TR0=1;
delay(1);
poe=PC;
display(syin);
??}
??TR0=0;
??
??}
??if?(yin==5)??{
TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
??while(poe==0xef)
??
??{
?? TR0=1;
delay(1);
poe=PC;
display(syin);
??}
??TR0=0;
??
??}
?if?(yin==6) ?{
TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
??while(poe==0xdf)
??{
?? TR0=1;
delay(1);
poe=PC;
display(syin);
??}
??TR0=0;
??
??}
??if?(yin==7) {
TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
??while(poe==0xbf)
??{
?? TR0=1;
delay(1);
poe=PC;
display(syin);
??}
??TR0=0;
??
??}
?if?(yin==8)??{
TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
??while(poe==0x7f)
??{
?? TR0=1;
delay(1);
poe=PC;
display(syin);
??}
??TR0=0;
?
??? }??for?(i=7;i>0;i--)
?? ??syin[i]=syin[i-1];
syin[0]=yin;
????//if?(cnt==8)
//cnt=0;
??} P21=1;display(syin);
??}
??
void?display(?int?*a)
???{?unsigned?char?wei=0xfe;
???????int?i;
?f
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4968??2009-09-02?21:02??基于51單片機電子琴\2.PWI
?????文件???????5482??2009-07-16?07:15??基于51單片機電子琴\shiyan2.c
?????文件???????4501??2009-07-16?07:14??基于51單片機電子琴\shiyan2.hex
?????文件?????????47??2009-07-16?07:14??基于51單片機電子琴\shiyan2.lnp
?????文件??????18708??2009-07-16?07:14??基于51單片機電子琴\shiyan2.M51
?????文件????????167??2009-09-04?18:09??基于51單片機電子琴\shiyan2.plg
?????文件???????2178??2009-07-09?21:16??基于51單片機電子琴\shiyan2.Uv2
?????文件??????????0??2009-07-09?19:08??基于51單片機電子琴\shiyan2_Uv2.Bak
?????文件???????6376??2005-03-22?15:22??基于51單片機電子琴\STARTUP.A51
?????文件??????14049??2009-07-16?07:14??基于51單片機電子琴\STARTUP.LST
?????文件????????758??2009-07-16?07:14??基于51單片機電子琴\STARTUP.OBJ
?????文件??????19446??2009-07-16?07:14??基于51單片機電子琴\shiyan2.LST
?????文件??????17686??2009-07-16?07:14??基于51單片機電子琴\shiyan2.OBJ
?????文件??????15827??2009-07-16?07:14??基于51單片機電子琴\shiyan2
?????文件?????122797??2009-07-11?11:35??基于51單片機電子琴\Last?Loaded?2.DBK
?????文件?????121637??2009-07-16?07:15??基于51單片機電子琴\2.DSN
????.......??????1532??2009-07-23?14:31??基于51單片機電子琴\shiyan2_Opt.Bak
?????文件???????1082??2009-07-23?14:33??基于51單片機電子琴\shiyan2.Opt
?????目錄??????????0??2009-07-15?16:01??基于51單片機電子琴
-----------?---------??----------?-----??----
???????????????357241????????????????????19
- 上一篇:C語言實現TFTP客戶端代碼
- 下一篇:圖的深度優先遍歷與廣度優先遍歷(C語言實現)
評論
共有 條評論