久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1570|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)音樂盒 求教?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:269398 發(fā)表于 2017-12-31 09:28 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg51.h>
#include<INTRINS.H>
sbit spk=P2^0;
unsigned char i,a;
unsigned char m_tone,m_time;
unsigned char code seg[]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e
};
unsigned int code Tone[]=
{
64103,64260,64400,64524,64580,64671,64777,64820,64898,64968,65030,65058,65110,65175,65178,65217
};
unsigned char code music1[]=
{
6,2,6,2,6,4,6,2,6,2,6,4,
6,2,8,2,4,3,5,1,6,8,
7,2,7,2,7,3,7,1,7,2,6,2,6,2,6,1,6,1,
6,2,5,2,5,2,4,2,5,4,8,4,
6,2,6,2,6,4,6,2,6,2,6,4,
6,2,8,2,4,3,5,1,6,8,
7,2,7,2,7,3,7,1,7,2,6,2,6,2,6,1,6,1,
8,2,8,2,7,2,5,1,4,6,
0xff
};
unsigned char code music2[]=
{
1,2,1,2,2,4,1,4,4,4,3,8,
1,2,1,2,2,4,1,4,5,4,4,8,
1,2,1,2,8,4,6,4,4,4,3,4,2,1,
7,2,7,2,6,4,4,4,5,4,4,8,
0xff
};
unsigned char code music3[]=
{
4,4,5,4,6,4,4,4,
4,4,5,4,6,4,4,4,
6,4,7,4,8,8,
6,4,7,4,8,8,
8,3,9,1,8,3,7,1,6,4,4,4,
8,3,9,1,8,3,7,1,6,4,4,4,                                                   
4,4,1,4,4,8,
4,4,1,4,4,8,
0xff
};
   unsigned char code music4[]=
{
4,2,5,2,6,2,7,2,8,4,6,2,4,2,11,4,9,2,7,2,8,2,8,2,6,4,
4,2,5,2,6,2,7,2,8,2,6,2,5,2,4,2,5,4,6,4,5,4,8,4,
4,2,5,2,6,2,7,2,8,4,6,2,4,2,11,4,9,2,7,2,8,4,6,4,
4,2,5,2,6,2,7,2,8,2,6,2,5,2,4,2,5,4,6,4,4,4,4,4,
11,4,9,2,7,2,8,2,8,2,4,4,
11,4,9,2,7,2,8,4,6,4,
4,2,5,2,6,2,7,2,8,2,6,2,5,2,4,2,5,4,6,4,4,4,4,4,
0xff                                                                                                                                                                                                                                                                                                                                                                                                  
};
unsigned char code music5[]=
{
8,2,6,2,8,2,6,2,8,2,6,2,4,4,
5,2,7,2,6,2,5,2,8,8,
8,2,6,2,8,2,6,2,8,2,6,2,4,4,  
5,2,7,2,6,2,5,2,4,8,
5,2,5,2,7,2,7,2,6,2,4,2,8,4,
5,2,7,2,6,2,5,2,8,8,
8,2,6,2,8,2,6,2,8,2,6,2,4,4,
5,2,7,2,6,2,5,2,4,4,
0xff
};                                                      
unsigned char code music6[]=
{
4,4,4,4,8,4,8,4,9,4,9,4,8,8,
7,4,7,4,6,4,6,2,6,2,5,4,5,4,4,8,
8,4,8,4,7,4,7,4,6,4,6,4,5,8,
8,4,8,4,7,4,7,4,6,4,6,4,5,8,
4,4,4,4,8,4,8,4,9,4,9,4,8,8,
7,4,7,4,6,4,6,2,6,2,5,4,5,4,4,8,
0xff
};
unsigned char code music7[]=
{
8,4,8,2,9,2,8,8,
11,4,11,2,9,2,8,8,
9,4,9,2,11,2,9,4,6,2,
8,4,8,2,6,2,5,8,
6,4,6,2,8,1,6,2,5,2,4,4,9,4,11,2,11,1,9,2,8,2,6,4,
4,2,4,2,4,2,5,2,
6,2,6,2,6,2,8,2,
11,4,9,2,8,4,6,2,5,4,4,4,
0xff
};                  
unsigned char code music8[]=
{
6,2,8,2,11,2,9,2,8,8,
6,2,8,2,9,2,11,2,8,8,
11,4,13,2,12,4,11,4,12,2,11,2,9,2,11,2,8,8,
6,4,8,2,9,4,8,2,9,2,11,4,12,2,8,2,9,8,
6,2,5,2,4,4,5,8,
5,4,5,2,6,2,8,4,8,4,11,4,5,2,6,2,8,8,
6,2,8,2,11,2,9,2,8,8,
6,2,8,2,9,2,11,2,8,8,
11,4,13,2,12,4,11,4,12,2,11,2,9,2,11,2,8,8,
6,4,8,2,9,4,8,2,9,2,11,4,12,2,8,2,9,8,
6,4,11,2,9,4,8,4,6,2,5,2,4,4,5,8,
5,4,6,2,8,8,11,4,13,2,12,4,11,4,12,2,11,2,8,2,9,2,11,8,
0xff
};                                       
unsigned char code music9[]=
{
8,2,9,2,8,2,9,2,8,2,9,2,8,4,
8,2,11,2,11,2,9,2,8,2,8,2,6,4,
8,2,8,2,6,2,6,2,
8,2,8,2,6,4,
5,2,7,2,6,2,5,2,4,2,4,2,4,4,
0xff
};                          
unsigned char code music10[]=
{
8,4,6,2,8,2,11,8,
9,4,11,4,8,8,
8,4,4,2,5,2,6,4,5,2,4,2,5,8,
8,4,6,2,8,2,11,4,10,2,9,4,11,4,8,8,
8,4,5,2,6,2,7,4,3,2,4,8,
9,4,11,4,11,8,
10,4,9,2,11,2,11,8,
9,2,10,2,11,2,9,2,9,2,8,2,6,2,4,2,5,8,
8,4,6,2,8,2,11,4,10,2,9,4,11,4,8,8,
6,4,5,2,6,2,7,4,3,2,4,8,
0xff
};                    
unsigned char code music11[]=
{
8,4,11,2,9,2,8,4,8,4,
6,2,8,2,9,2,11,2,8,4,8,4,
9,4,8,2,6,2,5,4,5,4,
6,4,8,2,6,2,5,2,6,2,4,4,
9,4,8,4,9,4,8,4,6,4,9,4,8,4,8,2,8,2,6,2,5,2,4,8,
4,2,4,2,5,2,6,2,4,8,
0xff
};                                                                                                                                                                                                                                                                                                                                
void delayMS(unsigned int ms)                                                                                                                                                                                                                                                              
{
unsigned char t;                                                                                                                                                                                                                                                                                                                                                                                                                                        
while(ms--)                                                                                                                                                                                                                                                                               
{
for(t=0;t<120;t++);
}
}
delay(unsigned int b)
{
while(b--);
}
  display()
{
unsigned char j,wk=0x01;
unsigned char buf[2];
buf[0]=seg[a/10%10];
buf[1]=seg[a%10];
for(j=0;j<2;j++)
{
P3=wk;
P0=buf[j];
delay(5);
wk=_crol_(wk,1);
P0=0xff;
}
}
void key_press()
{
unsigned char temp;
temp=0xff;
P1=0xf0;
if(P1!=0xf0)
{
delay(100);
if(P1!=0xf0)
{
P1=0xf0;
temp=P1;
P1=0x0f;
temp=temp|P1;
switch(temp)
{
case 0xee:a=0;  break;
case 0xde:a=1;  break;
case 0xbe:a=2;  break;
case 0x7e:a=3;  break;
case 0xed:a=4;  break;
case 0xdd:a=5;  break;
case 0xbd:a=6; break;
case 0x7d:a=7; break;
case 0xeb:a=8; break;
case 0xdb:a=9; break;
case 0xbb:a=10;break;
case 0x7b:a=11; break;
case 0xe7:a=12; break;
case 0xd7:a=13; break;
case 0xb7:a=14; break;
case 0x77:a=15; break;
}
P0=seg[a];
P1=0xf0;
while(P1!=0xf0);
display();      
}
}
}
int main()
{
TMOD=0x01;
EA=1;
ET0=1;
P0=seg[a];
while(1)
{
display();
key_press();

switch(a)
{
case 0:ET0=1;display();break;
case 1:display();m_tone=music1[i];m_time=music1[i+1];break;
case 2:m_tone=music2[i];m_time=music2[i+1];break;
case 3:m_tone=music3[i];m_time=music3[i+1];break;
case 4:m_tone=music4[i];m_time=music4[i+1];break;
case 5:m_tone=music5[i];m_time=music5[i+1];break;
case 6:m_tone=music6[i];m_time=music6[i+1];break;
case 7:m_tone=music7[i];m_time=music7[i+1];break;
case 8:m_tone=music8[i];m_time=music8[i+1];break;
case 9:m_tone=music9[i];m_time=music9[i+1];break;
case 10:m_tone=music10[i];m_time=music10[i+1];break;
case 11:m_tone=music11[i];m_time=music11[i+1];break;
}
if(m_tone==0xff)
{
i=0;
delay(2000);
continue;
}
TR0=1;
delayMS(m_time*105);
TR0=0;
i+=2;
delayMS(5);
}
}
void time0() interrupt 1
{

TH0=Tone[m_tone]/256;
TL0=Tone[m_tone]%256;
spk=!spk;
          
}

新建文件夾.rar

67.28 KB, 下載次數(shù): 8

音樂盒

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:269398 發(fā)表于 2017-12-31 09:30 | 只看該作者
調(diào)不出顯示
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区欧美 | 人人澡人人爱 | 99精品欧美一区二区三区 | 亚洲国产一区在线 | 拍真实国产伦偷精品 | 精品国产91 | aaaa日韩 | 亚洲视频在线一区 | 在线视频一区二区三区 | 一区二区三区四区五区在线视频 | 国产精品久久久久久久久久久免费看 | 一级做a毛片 | 久久高清精品 | 亚洲精品白浆高清久久久久久 | 在线免费观看日本 | 国产精品福利视频 | 中文字幕成人 | 超碰在线人人干 | 香蕉大人久久国产成人av | 亚洲在线视频 | 久久久久免费精品国产 | 狠狠撸在线视频 | 狠狠色网 | 男人天堂网址 | 精品欧美乱码久久久久久 | 色啪网| 久久国产欧美日韩精品 | 国产免费一区二区 | 成人一区二区在线 | 亚洲欧美综合精品另类天天更新 | 欧美精品一区二区三区在线 | 国产在线激情视频 | 9久9久9久女女女九九九一九 | 欧美a区 | 日韩视频 中文字幕 | 国产综合视频 | 国产乱一区二区三区视频 | 欧美激情精品久久久久久 | 精品久久香蕉国产线看观看亚洲 | 另类二区| 成人免费影院 |