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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1555|回復: 1
打印 上一主題 下一主題
收起左側

單片機音樂盒 求教?

[復制鏈接]
跳轉到指定樓層
樓主
ID:269398 發表于 2017-12-31 09:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#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, 下載次數: 8

音樂盒

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

使用道具 舉報

沙發
ID:269398 發表于 2017-12-31 09:30 | 只看該作者
調不出顯示
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品九九在线 | 毛片黄片免费看 | 欧美亚洲另类在线 | 韩日av在线| 日韩亚洲一区二区 | 成人免费一区二区 | 久久精品一区 | 国产99久久| 欧美日韩一区二区三区四区 | 日韩欧美一级 | 一级少妇女片 | 欧美在线一区二区三区 | 日韩精品一区二区三区 | 久久久福利 | 国产在线观看福利 | 亚洲在线一区 | 成人精品一区二区三区中文字幕 | 欧美午夜精品理论片a级按摩 | 91精品国产综合久久久久久首页 | 欧美大片黄 | 中文字幕成人av | 精品久| 久久久久久毛片免费观看 | 亚洲欧美日韩精品久久亚洲区 | 久久国产日韩欧美 | 毛片av免费看 | 欧美视频精品 | 在线色网| 欧美一区二区三区四区五区无卡码 | 久久久久久网站 | 操操日| 综合伊人 | 国产 日韩 欧美 制服 另类 | 成人片免费看 | 日韩中文字幕 | 精品粉嫩超白一线天av | 午夜爱爱毛片xxxx视频免费看 | 欧美精品一区在线 | 麻豆视频在线看 | 丁香婷婷久久久综合精品国产 | 男女污污网站 |