<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發(fā)網(wǎng)

      電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機(jī) >> 正文

      用單片機(jī)AT89C2051做音樂門鈴 AT89C2051 DOOR BELL

      作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2016/11/7

      家里門鈴壞了一個(gè)多月了,一直沒有時(shí)間去搞,過年前幾天剛好有點(diǎn)時(shí)間,拆出來看看發(fā)現(xiàn)由于電池漏液造成了電路板多處被腐蝕,修也是麻煩了,所以索性就自己重新設(shè)計(jì)一個(gè)出來。這個(gè)門鈴從電路設(shè)計(jì),程序設(shè)計(jì),調(diào)試及焊接都是我自己一手一腳完成,前后一共大概用了2天半時(shí)間。做出來的效果還是不錯(cuò)的。大家有興趣可以試一下。
      為了使門鈴更有個(gè)性化,我采用的是單片機(jī),用單片機(jī)來產(chǎn)生所需要的響聲。其電路原理是控制單片機(jī)的IO口產(chǎn)生適當(dāng)頻率的方波,經(jīng)過三極管放大后驅(qū)動(dòng)自藕變壓器的一次測(cè),這時(shí)在變壓器的二次測(cè)會(huì)產(chǎn)生相同頻率的高壓方波從而使壓電陶瓷片發(fā)生形變,發(fā)出較大的門鈴聲。電源使用的是4節(jié)干電池,共6V,單片機(jī)電源是6V電源通過二極管降壓0.7V后提供。
      程序的原理就是通過控制單片機(jī)的計(jì)時(shí)器T1和T2來產(chǎn)生不同頻率的PWM波,然后通過定義一個(gè)歌曲的數(shù)組,來控制不同音調(diào),音高,音長(zhǎng),音高,音長(zhǎng)。以下是曲譜的儲(chǔ)存格式:
      曲譜存貯格式 unsigned char code MusicName{音高,音長(zhǎng),音高,音長(zhǎng)...., 0,0};    末尾:0,0 表示結(jié)束(Important)
       
       音高由三位數(shù)字組成:
                   個(gè)位是表示 1~7 這七個(gè)音符
                   十位是表示音符所在的音區(qū):1-低音,2-中音,3-高音;
                   百位表示這個(gè)音符是否要升半音: 0-不升,1-升半音。
       
       音長(zhǎng)最多由三位數(shù)字組成:
                   個(gè)位表示音符的時(shí)值,其對(duì)應(yīng)關(guān)系是:
                          |數(shù)值(n):  |0 |1 |2 |3 | 4 | 5 | 6
                          |幾分音符: |1 |2 |4 |8 |16 |32 |64          音符=2^n
                   十位表示音符的演奏效果(0-2):  0-普通,1-連音,2-頓音
                   百位是符點(diǎn)位: 0-無符點(diǎn),1-有符點(diǎn)
       
       調(diào)用演奏子程序的格式
                   Play(樂曲名,調(diào)號(hào),升降八度,演奏速度);
             |樂曲名           : 要播放的樂曲指針,結(jié)尾以(0,0)結(jié)束;
             |調(diào)號(hào)(0-11)       :      是指樂曲升多少個(gè)半音演奏;
             |升降八度(1-3)        : 1:降八度, 2:不升不降, 3:升八度;
             |演奏速度(1-12000):     值越大速度越快;
       
      由于門鈴在沒有按下時(shí)候CPU是沒有工作任務(wù)的,所以在沒有按下門鈴時(shí),我令CPU進(jìn)入休眠狀態(tài),這樣能夠省下不少的電,使電池的工作壽命延長(zhǎng)。當(dāng)有人按下門鈴時(shí),就會(huì)產(chǎn)生外部中斷INT0,使CPU退出休眠狀態(tài),進(jìn)入全速運(yùn)行狀態(tài),當(dāng)歌曲演奏完畢,重新自動(dòng)進(jìn)入休眠狀態(tài)。下面是主程序和中斷服務(wù)程序
      void main()
      {
             IT0=1; //外中斷跳變產(chǎn)生中斷
             EX0=1;
             EA=1; //打開總中斷
             InitialSound();
             PCON |= 0x01;
             while(1)
             {
                  
                    if(Play_music==1)
                    {
                           P1_7=0;
                           Play(Music_happynewyear,0,3,360);
                           P1_7=1;
                           Delay1ms(1500);
                           P1_7=0;
                           Play(Music_yingchun,0,3,360);
                           P1_7=1;
                           Play_music=0;
                           PCON |= 0x01;
                    }
             }
      }
       
      void int0() interrupt 0 using 1
      {
             PCON &=~ 0x00;
             Play_music=1;
      }
       用單片機(jī)做音樂門鈴AT89C2051 DOOR BELL

      用單片機(jī)AT89C2051做音樂門電路原理圖 
                                                                                 電路原理圖
       
      由于當(dāng)時(shí)快要過年了,所以我編了一首“新年好”和“迎春花”應(yīng)一下節(jié),其實(shí)所有歌都可以寫,只要有樂譜就可以,這樣你就可以把自己喜歡的歌編成程序燒入芯片,打造個(gè)性化的音樂門鈴。下面我給出一些歌的編碼,由于2051里面的flash容量有限,通常只能裝下2首歌,所以如果想換歌時(shí)又要自己重新把代碼替換燒入芯片。
      //新年好
      unsigned char code Music_happynewyear[]={ 0x15,0x03, 0x15,0x03, 0x15,0x02, 0x0F,0x02, 0x17,0x03,0x17,0x03, 0x17,0x02, 0x15,0x02, 0x15,0x03, 0x17,0x03,0x19,0x02,0x19,0x02, 0x18,0x03,0x17,0x03,0x16,0x01,0x16,0x03,0x17,0x03,0x18,0x02,0x18,0x02,0x17,0x03,0x16,0x03, 0x17,0x02, 0x15,0x02, 0x15,0x03, 0x17,0x03, 0x16,0x02, 0x0F,0x02, 0x11,0x03, 0x16,0x03, 0x15,0x01, 0x00,0x00 };
      //迎春花
      unsigned char code Music_yingchun[]={ 0x1F,0x03, 0x1F,0x04, 0x1A,0x04, 0x20,0x04, 0x1F,0x04, 0x1A,0x03, 0x19,0x03, 0x19,0x04, 0x17,0x04, 0x1A,0x04, 0x19,0x04, 0x17,0x03, 0x20,0x04, 0x1F,0x04, 0x1B,0x04, 0x1A,0x04, 0x19,0x04, 0x18,0x04, 0x17,0x04, 0x16,0x04,
      0x15,0x03, 0x17,0x04, 0x19,0x04, 0x1A,0x04, 0x1A,0x04,0x1A,0x04, 0x1A,0x04, 0x1A,0x03, 0x19,0x03, 0x1A,0x03,0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1A,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x02, 0x16,0x03, 0x17,0x01, 0x17,0x67, 0x19,0x04, 0x1A,0x03, 0x1F,0x03, 0x19,0x02, 0x19,0x03, 0x17,0x03, 0x16,0x67, 0x17,0x04, 0x16,0x03, 0x15,0x03,0x15,0x03, 0x10,0x02, 0x0F,0x03,0x10,0x01,0x10,0x01,0x17,0x03,0x19,0x03,0x17,0x67,0x16,0x04,0x17,0x03,0x19,0x03, 0x17,0x67, 0x16,0x04, 0x17,0x03, 0x19,0x03,0x19,0x03, 0x10,0x03, 0x15,0x01, 0x17,0x03, 0x1F,0x03, 0x1A,0x67, 0x19,0x04, 0x17,0x03, 0x1F,0x03, 0x1A,0x67, 0x19,0x04, 0x1F,0x67, 0x1F,0x04, 0x20,0x04, 0x1F,0x04, 0x1A,0x03, 0x19,0x01, 0x19,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x04, 0x16,0x04, 0x19,0x03, 0x10,0x03, 0x15,0x17, 0x1F,0x03, 0x1F,0x02, 0x1A,0x04, 0x19,0x04, 0x1A,0x03, 0x1F,0x03, 0x17,0x17, 0x17,0x67, 0x19,0x04, 0x1A,0x03,0x1F,0x03, 0x19,0x02, 0x19,0x67, 0x17,0x04, 0x16,0x67,0x17,0x04, 0x16,0x03, 0x15,0x03, 0x15,0x03, 0x10,0x02, 0x0F,0x03, 0x10,0x01, 0x00,0x00 };
      //揮著翅膀的女孩
      unsigned char code Music_Girl[]={ 0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x03,
      0x16,0x03, 0x17,0x03, 0x17,0x03, 0x17,0x03, 0x18,0x03,0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x02, 0x18,0x03, 0x17,0x03, 0x15,0x02, 0x18,0x03, 0x17,0x03, 0x18,0x02,0x10,0x03, 0x15,0x03, 0x16,0x02, 0x15,0x03, 0x16,0x03,0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x1A,0x03, 0x1B,0x03, 0x1F,0x03, 0x1F,0x03, 0x17,0x03, 0x18,0x03,0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x03, 0x17,0x03, 0x18,0x03, 0x1F,0x03, 0x1F,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x03, 0x17,0x03, 0x18,0x03, 0x20,0x03, 0x20,0x02, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03, 0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03, 0x19,0x03, 0x15,0x03, 0x15,0x03, 0x17,0x03, 0x16,0x66, 0x17,0x04, 0x18,0x04, 0x18,0x03, 0x19,0x03,0x1F,0x03, 0x1B,0x03, 0x1F,0x66,0x20,0x03,0x21,0x03,0x20,0x03,0x1F,0x03,0x1B,0x03,0x1F,0x66,0x1F,0x03,0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,0x1A,0x03, 0x19,0x03, 0x19,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x00, 0x1A,0x03, 0x1A,0x03, 0x1A,0x03, 0x1B,0x03,0x1B,0x03, 0x1A,0x03, 0x19,0x03, 0x19,0x02, 0x17,0x03,0x15,0x17, 0x15,0x03, 0x16,0x03, 0x17,0x03, 0x18,0x03,
      0x17,0x04, 0x18,0x0E, 0x18,0x03, 0x17,0x04, 0x18,0x0E,0x18,0x66, 0x17,0x03, 0x18,0x03, 0x17,0x03, 0x18,0x03, 0x20,0x03, 0x20,0x02, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66,0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03, 0x1B,0x03,0x1F,0x66, 0x1F,0x04, 0x1B,0x0E, 0x1B,0x03, 0x19,0x03,0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03, 0x19,0x03, 0x15,0x03, 0x15,0x03, 0x17,0x03,0x16,0x66,0x17,0x04,0x18,0x04,0x18,0x03,0x19,0x03,0x1F,0x03,0x1B,0x03,0x1F,0x66, 0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03, 0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03, 0x19,0x03, 0x19,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x00, 0x18,0x02, 0x18,0x03, 0x1A,0x03, 0x19,0x0D, 0x15,0x03, 0x15,0x02,0x18,0x66, 0x16,0x02, 0x17,0x02, 0x15,0x00, 0x00,0x00};
      //同一首歌
      unsigned char code Music_Same[]={ 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x66, 0x18,0x03,
      0x17,0x02, 0x15,0x02, 0x16,0x01, 0x15,0x02, 0x10,0x02,0x15,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x02, 0x18,0x66, 0x17,0x03, 0x19,0x02, 0x16,0x03, 0x17,0x03, 0x16,0x00, 0x17,0x01, 0x19,0x02, 0x1B,0x02, 0x1B,0x70, 0x1A,0x03, 0x1A,0x01, 0x19,0x02, 0x19,0x03, 0x1A,0x03, 0x1B,0x02, 0x1A,0x0D, 0x19,0x03, 0x17,0x00,0x18,0x66,0x18,0x03,0x19,0x02,0x1A,0x02,0x19,0x0C,0x18,0x0D,0x17,0x03,0x16,0x01, 0x11,0x02, 0x11,0x03, 0x10,0x03, 0x0F,0x0C,0x10,0x02, 0x15,0x00, 0x1F,0x01, 0x1A,0x01, 0x18,0x66, 0x19,0x03, 0x1A,0x01, 0x1B,0x02, 0x1B,0x03, 0x1B,0x03,0x1B,0x0C, 0x1A,0x0D, 0x19,0x03,0x17,0x00,0x1F,0x01,0x1A,0x01,0x18,0x66,0x19,0x03,0x1A,0x01,0x10,0x02,0x10,0x03, 0x10,0x03, 0x1A,0x0C, 0x18,0x0D, 0x17,0x03,0x16,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x70, 0x18,0x03, 0x17,0x02, 0x15,0x03, 0x15,0x03, 0x16,0x66, 0x16,0x03, 0x16,0x02, 0x16,0x03, 0x15,0x03, 0x10,0x02, 0x10,0x01, 0x11,0x01, 0x11,0x66, 0x10,0x03, 0x0F,0x0C, 0x1A,0x02, 0x19,0x02, 0x16,0x03, 0x16,0x03, 0x18,0x66,0x18,0x03, 0x18,0x02, 0x17,0x03, 0x16,0x03, 0x19,0x00, 0x00,0x00 };        
      //兩只蝴蝶                                
      unsigned char code Music_Two[] ={ 0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03,
      0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x16,0x03,0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x15,0x03, 0x16,0x01, 0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x01, 0x19,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x01, 0x16,0x03, 0x16,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0D, 0x15,0x00, 0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03, 0x1B,0x03, 0x1A,0x03, 0x17,0x0D,0x16,0x03,0x16,0x03,0x16,0x0D,0x17,0x01,0x17,0x03,0x17,0x03,0x19,0x03,0x1A,0x02,0x1A,0x02,0x10,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03, 0x19,0x02, 0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03,
      0x17,0x0D, 0x16,0x03, 0x17,0x03, 0x19,0x01, 0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03, 0x1B,0x03, 0x1A,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x03, 0x16,0x03, 0x17,0x01, 0x17,0x03, 0x17,0x03, 0x19,0x03, 0x1A,0x02, 0x1A,0x02, 0x10,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03, 0x19,0x03, 0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,
      0x17,0x16, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03, 0x0F,0x02, 0x10,0x03, 0x15,0x00, 0x00,0x00 };

      Tags:AT89C2051|8951|音樂門鈴|單片機(jī)  
      責(zé)任編輯:admin
      相關(guān)文章列表
      沒有相關(guān)文章
      請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個(gè)字
      [ 查看全部 ] 網(wǎng)友評(píng)論
      最新推薦
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 精品综合一区二区三区| 区三区激情福利综合中文字幕在线一区| 狠狠色成人综合首页| 亚洲av日韩av综合| 激情综合婷婷丁香五月俺来也| 一本色道久久综合| 狠狠色婷婷狠狠狠亚洲综合 | 亚洲综合久久精品无码色欲| 一本色道久久综合| 国产成人麻豆亚洲综合无码精品| 人人妻人人狠人人爽天天综合网 | 天天干天天色综合| HEYZO无码综合国产精品| 久久综合精品不卡一区二区| 狠狠色成人综合网图片区| 狠色狠色狠狠色综合久久| 天天综合日日噜噜噜| 亚洲av无码国产综合专区| 亚洲另类激情综合偷自拍| 亚洲伊人久久综合影院| 狠狠色综合网久久久久久| 亚洲av日韩av综合| 久久综合色天天久久综合图片| 狠狠人妻久久久久久综合蜜桃| 国产成人综合久久精品亚洲| 亚洲国产成人综合精品| 麻豆久久婷婷综合五月国产| 久久综合给合久久国产免费 | 国内精品综合久久久40p| 天天躁日日躁狠狠躁综合| 小说区综合区首页| 国产精品综合一区二区三区| 一本久道综合在线无码人妻 | 综合三区后入内射国产馆| 精品久久综合1区2区3区激情| 国产成人亚洲综合一区| 久久综合久久久久88| 日日狠狠久久偷偷色综合0| 国产成人+综合亚洲+天堂| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 日韩亚洲综合精品国产|