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

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

QQ登錄

只需一步,快速開始

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

萌新求助大佬如何做一個(gè)音樂門鈴

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:264629 發(fā)表于 2018-3-4 23:22 來(lái)自手機(jī) | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
400黑幣
要做一個(gè)帶音樂芯片的音樂門鈴,求大佬指點(diǎn)我,有原理圖最好不過(guò)了

最佳答案

查看完整內(nèi)容

之前嵌入式課上用C51單片機(jī)做的,這是之前寫的代碼,比較簡(jiǎn)單,樓主可以借鑒一下,希望樓主采納~#include #include #define uchar unsigned char #define uint unsigned int sbit K1=P3^2; sbit beep=P3^7; sbit beep2=P2^7; sbit p20=P2^0;//切換音樂 sbit p21=P2^1;//播放模式/鍵盤模式 sbit p22=P2^2;//(錄音) uchar i,ri; uchar song_Index=0,Tone_Index=0; uchar *song_Tone,*song_Time; const LED_tab[]={ ...
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:287622 發(fā)表于 2018-3-4 23:22 | 只看該作者
之前嵌入式課上用C51單片機(jī)做的,這是之前寫的代碼,比較簡(jiǎn)單,樓主可以借鑒一下,希望樓主采納~#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit K1=P3^2;
sbit beep=P3^7;
sbit beep2=P2^7;

sbit p20=P2^0;//切換音樂
sbit p21=P2^1;//播放模式/鍵盤模式
sbit p22=P2^2;//(錄音)

uchar i,ri;
uchar song_Index=0,Tone_Index=0;
uchar *song_Tone,*song_Time;
const LED_tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,
0x82,0xF8,0x80,0x90,0xFF};

uint code Tone_tab[]={
63773,63965,64137,64215,64360,64488,64603,
64654,64751,64836,63036,63148,63212,10,65535,64892,64952};
uint recordi[]={0,1,2,3,4,5,6,7};
unsigned keymode[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};


//矩陣式鍵盤
uchar buff;
void delay1ms(void){
uchar i;
for(i=200;i>0;i--);
}

void key_scan(void){
uchar hang,lie;
P1=0xf0;
if((P1&0xf0)!=0xf0) //行碼為0,列碼為1
{delay1ms();    //消抖動(dòng)
if((P1&0xf0)!=0xf0){//有鍵按下,列碼為0
hang=0xfe;     //逐行掃描

while((hang&0x08)!=0)//掃描完各行后跳出

//while((hang&0x10)!=0)//4X4
{
P1=hang;
if((P1&0xf0)!=0xf0)//本行有鍵按下

{lie=(P1&0xf0)|0x0f;
buff=((~hang)+(~lie));
switch(buff){
case 0x11:Tone_Index=0;break;
case 0x21:Tone_Index=1;break;
case 0x41:Tone_Index=2;break;
case 0x81:Tone_Index=3;break;

case 0x12:Tone_Index=4;break;
case 0x22:Tone_Index=5;break;
case 0x42:Tone_Index=6;break;
case 0x82:Tone_Index=7;break;

case 0x14:Tone_Index=8;break;
case 0x24:Tone_Index=9;break;
case 0x44:Tone_Index=15;break;
case 0x84:Tone_Index=16;break;

//case 0x18:Tone_Index=12;break;
//case 0x28:Tone_Index=0;break;
//case 0x48:Tone_Index=1;break;
//case 0x88:Tone_Index=2;break;
}
}
else hang=(hang<<1)|0x01;
}
}
}
}




/*
uint code Tone_tab[]={
62018,62401,62491,62895,63184,63441,63506,
63773,63965,64137,64215,64360,64488,64603,
64654,64751,64836,64876,64948,65012,65067,65535};

uchar code song1_Tone[]={
11,9,11,14,12,14,12,11,11,7,8,9,8,7,8,
11,9,11,14,13,12,14,11,11,7,8,9,6,7,
12,14,14,13,12,13,14,12,13,14,12,12,11,10,7,8,
11,9,11,14,13,12,14,11,11,8,9,10,6,7,0xff};
uchar code song1_Time[]={
4,2,2,8,4,2,2,8,4,2,2,4,2,2,12,
4,2,2,4,2,4,4,8,4,2,2,4,2,12,
4,4,8,4,2,2,8,2,2,2,2,2,2,2,2,16,
4,2,2,4,2,4,4,8,4,2,2,4,2,12,0xff};
*/
uchar code song1_Tone[]={//兩只老虎
13,0,13,1,13,2,13,0,13,0,13,1,13,2,13,0,13,2,13,3,13,4,13,13,13,2,13,3,13,4,13,13,13,4,5,4,3,2,13,0,13,4,5,4,3,2,13,0,13,2,13,11,13,0,13,13,2,13,11,13,0,13,13,0xff};
uchar code song1_Time[]={
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0xff};

uchar code song2_Tone[]={//小星星
13,0,0,4,4,5,5,4,13,3,3,2,2,1,1,0,13,4,4,3,3,2,2,1,13,4,4,3,3,2,2,1,0xff};
uchar code song2_Time[]={
3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0xff};

uchar code song3_Tone[]={//歡樂頌
13,2,2,3,4,4,3,2,1,0,0,1,2,2,1,1,13,2,2,3,4,4,3,2,1,0,0,1,2,1,13,0,0,13,1,1,2,0,1,3,2,0,1,3,2,1,0,1,12,13,0xff};
uchar code song3_Time[]={
3,3,3,3,3,3,3,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0xff};

uchar code song4_Tone[]={//生日快樂
13,4,4,5,13,4,13,7,13,6,13,13,4,4,5,13,4,13,8,13,7,13,13,0xff};
uchar code song4_Time[]={
2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0xff};

uchar code song5_Tone[]={//兩只老虎
13,0,13,1,13,2,13,0,13,0,13,1,13,2,13,0,13,2,13,3,13,4,13,13,13,2,13,3,13,4,13,13,13,4,5,4,3,2,13,0,13,4,5,4,3,2,13,0,13,2,13,11,13,0,13,13,2,13,11,13,0,13,13,0xff};
uchar code song5_Time[]={
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0xff};



void delayms(uint ms)
{uchar a;
while(ms--)
{
for(a=2300;a>0;a--);
}
}
void Timer0() interrupt 1  //中斷函數(shù)
{
TH0=Tone_tab[Tone_Index]/256;
TL0=Tone_tab[Tone_Index]%256;
beep=~beep;
}

void select(void)
{
if(song_Index==0)
{
song_Tone=song1_Tone;
song_Time=song1_Time;
}
if(song_Index==1)
{
song_Tone=song2_Tone;
song_Time=song2_Time;
}
if(song_Index==2)
{
song_Tone=song3_Tone;
song_Time=song3_Time;
}
if(song_Index==3)
{
song_Tone=song4_Tone;
song_Time=song4_Time;
}
if(song_Index==4)
{
song_Tone=song5_Tone;
song_Time=song5_Time;
}
}

void int_init(void){
TMOD=0X01;
ET0=1;
EX0=1;
IT0=1;
EA=1;
TR0=0;
}

void display(void){
delay1ms();
if(P1!=0xf0) TR0=1;
else TR0=0;

}

void recordplay(void){
uint i=0;
while(i<8&&p22==0){
Tone_Index=recordi[i];
TR0=1;
delayms(150);
TR0=0;
i++;
}
}

void record(void){
recordi[ri]=Tone_Index;
delayms(10);
ri++;

}


void main(void)
{
int_init();
song_Tone=song1_Tone;
song_Time=song1_Time;
i=0;
while(1)
{

if(p20==0){
delayms(100);
song_Index++;
i=0;
if(song_Index==5) song_Index=0;

select();
}

if(p21==0){

if(p22==0){
if(p20==1&&P1!=0xf0) record();//錄音
if(p20==0) {recordplay();ri=0;}//錄音播放
}

key_scan();
display();
}

else{
P0=LED_tab[song_Index];
TR0=1;
Tone_Index=song_Tone[i];

if(Tone_Index==0xff){
i=0;
TR0=0;}
TR0=1;
delayms(song_Time[Tone_Index]*60);
TR0=0;
i++;
}
}
}
回復(fù)

使用道具 舉報(bào)

板凳
ID:287575 發(fā)表于 2018-3-5 01:55 | 只看該作者
有音樂門鈴IC,買來(lái)加少量原件就可以了,很簡(jiǎn)單,如:9300音樂ic芯片,有很多這樣的IC不同的音樂。
回復(fù)

使用道具 舉報(bào)

地板
ID:95486 發(fā)表于 2018-3-5 08:41 | 只看該作者
簡(jiǎn)單的直接買個(gè)音樂片,加三極管 喇叭 按鍵即可
復(fù)雜的用單片機(jī)
回復(fù)

使用道具 舉報(bào)

5#
ID:273292 發(fā)表于 2018-3-5 09:13 | 只看該作者
單片機(jī)直接控制就可以啦,有那種特定音樂的編碼,只要用個(gè)地點(diǎn)器模擬門鈴就好啊
回復(fù)

使用道具 舉報(bào)

6#
ID:264629 發(fā)表于 2018-3-5 09:33 | 只看該作者
主要是用51單片機(jī)
回復(fù)

使用道具 舉報(bào)

7#
ID:287622 發(fā)表于 2018-3-5 09:36 | 只看該作者
直接C51 單片機(jī)就能做一個(gè)簡(jiǎn)單的音樂門鈴,我之前自己寫的,有代碼,希望樓主采取啊,謝謝~
回復(fù)

使用道具 舉報(bào)

8#
ID:82765 發(fā)表于 2018-3-5 09:53 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
回復(fù)

使用道具 舉報(bào)

9#
ID:287652 發(fā)表于 2018-3-5 10:25 | 只看該作者
有現(xiàn)成的音樂芯片,tb好像可以定制,,牛屎芯。片
回復(fù)

使用道具 舉報(bào)

10#
ID:264629 發(fā)表于 2018-3-6 08:39 來(lái)自手機(jī) | 只看該作者
songofjoy 發(fā)表于 2018-3-5 09:43
之前嵌入式課上用C51單片機(jī)做的,這是之前寫的代碼,比較簡(jiǎn)單,樓主可以借鑒一下,希望樓主采納~#include
...

多謝大佬
回復(fù)

使用道具 舉報(bào)

11#
ID:264629 發(fā)表于 2018-3-8 07:48 來(lái)自手機(jī) | 只看該作者
songofjoy 發(fā)表于 2018-3-4 23:22
之前嵌入式課上用C51單片機(jī)做的,這是之前寫的代碼,比較簡(jiǎn)單,樓主可以借鑒一下,希望樓主采納~#include
...

大佬有沒有原理圖之類的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: av一区二区三区 | 国产精品美女久久久 | 狠狠操狠狠操 | 久久久久久久久99 | 国产在线资源 | 亚洲一区二区三区四区五区午夜 | 成人a免费| 91看片| 精精国产xxxx视频在线野外 | 国产综合在线视频 | 国产精品av久久久久久毛片 | 不卡的av电影 | 国内久久| 免费一级欧美在线观看视频 | 九色av | 久草视 | 欧美一区二区三区 | 国产精品久久久久久久免费大片 | 狠狠干网站 | 琪琪午夜伦伦电影福利片 | 国产精品国产精品 | 成年人网站免费视频 | 亚洲成人一区二区 | 天堂亚洲| 欧美啊v在线观看 | 免费一级淫片aaa片毛片a级 | 在线免费观看毛片 | 精品视频在线观看 | 久久精品小视频 | 亚洲最新在线视频 | 一区二区在线观看免费视频 | 亚洲欧美日韩在线不卡 | 六月成人网| 亚洲精品乱码久久久久久蜜桃91 | 欧美黄色一级毛片 | 欧美在线观看一区二区 | 成人av一区 | 欧美视频一区二区三区 | 色综合网站 | 国产精品亚洲综合 | 蜜桃色网|