<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. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

      單片機匯編:音樂盒DIY—生日快樂歌程序

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2012/1/12
      基于STC89C52單片機的七彩迷你音樂盒。在單片機最小系統的基礎上,對其他兩個I/O口連接硬件電路。P1.0接一個七彩快閃LED燈。P1.5口接一個NPN型三極管的放大電路,再連接一個無源蜂鳴器(用來播放樂曲)。

        這樣一個迷你音樂盒就完成了。硬件電路非常簡單,其中單片機任意一個I/O口都可以作為樂曲的輸出,信號經過NPN三極管放大驅動蜂鳴器發出電子樂曲。

        緊接著就是為單片機設計運行的程序了,這里我用匯編寫了一段《生日快樂》的程序。大家可以仿照,我的思路修改樂曲。

        DIY手記:用C52這么大塊頭的單片機,確實很浪費。因為一共有32個I/O引腳,設計音樂盒只用了其中的兩個,非常的浪費。大家可以用其他的單片機代替,例如16引腳的單片機。價格相對會便宜一點。

        單片機匯編源代碼分享:

        org 0000h

        ajmp main

        org 000bh

        jmp tim0

        org 0030h

        main: ;主程序

        setb p1.1

        clr p1.4

        setb p3.0

        mov tmod,#01h ;設定時方式

        mov ie,#82h ;開中斷

        start0:

        mov 30h,#00h ;

        next:mov a,30h

        mov dptr,#table

        movc a,@a+dptr ;查表取音調和節拍

        mov r2,a

        jz end0 ;為零,不進行處理.

        anl a,#0fh

        mov r5,a ;將節拍存入R5

        mov a,r2

        swap a

        anl a,#0fh

        jnz sing ;根據音調決定是否演奏.

        clr tr0

        jmp d1

        sing:dec a

        mov 22h,a ;將音調存入22H.

        rl a

        mov dptr,#table1

        movc a,@a+dptr ;根據音調決定定時器初值.

        mov th0,a ;放入TH0

        mov 21h,a

        mov a,22h

        rl a

        inc a

        movc a,@a+dptr

        mov tl0,a ;放入TL0

        mov 20h,a

        setb tr0 ;啟動定時

        d1: call delay

        inc 30h

        jmp next

        end0:clr tr0

        jmp start0

        tim0: ;定時器中斷服務程序

        push acc

        push psw

        mov tl0,20h ;重賦初值.

        mov th0,21h

        cpl p1.7

        pop psw

        pop acc

        retidelay:mov r7,#02h ;延時子程序

        d2: mov r4,#130

        d3: mov r3,#248

        djnz r3,$

        djnz r4,d3

        djnz r7,d2

        djnz r5,delay

        ret

        table1: ;決定音調的定時初值.

        dw 64260,64400,64524,64580

        dw 64684,64777,64820,64898

        dw 64968,65030,65058,65110

        dw 65157,65178,65217

        table: ;決定音調和節拍的表格,不同的歌曲只是此表不同

        ;1

        db 82h,01h,81h,94h,84h,0b4h,0a4h,04h,82h,01h,81h,94h,84h,0c4h,0b4h,04h

        ;2

        db 82h,01h,81h,0f4h,0d4h,0b4h,0a4h,94h,0e2h,01h,0e1h,0d4h,0b4h,0c4h,0b4h,04h

        ;3

        db 82h,01h,81h,94h,84h,0b4h,0a4h,04h,82h,01h,81h,94h,84h,0c4h,0b4h,04h

        ;4

        db 82h,01h,81h,0f4h,0d4h,0b4h,0a4h,94h,0e2h,01h,0e1h,0d4h,0b4h,0c4h,0b4h,04h,00

        end

      Tags:單片機,匯編,音樂程序  
      責任編輯:admin
    4. 上一篇文章:
    5. 下一篇文章:
    6. 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 亚洲另类激情综合偷自拍| 亚洲国产综合精品一区在线播放| 国产成人综合色视频精品| 精品久久综合1区2区3区激情| 综合国产精品第一页| 亚洲综合色婷婷在线观看| 久久综合五月丁香久久激情| 青青草原综合久久大伊人| 国产成人久久综合二区| 亚洲综合日韩中文字幕v在线| 九月婷婷亚洲综合在线| 亚洲综合欧美色五月俺也去| 久久婷婷五月综合尤物色国产| 香蕉99久久国产综合精品宅男自| 亚洲国产国产综合一区首页| 久久本道久久综合伊人| 色综合婷婷在线观看66| 亚洲AV综合永久无码精品天堂| 亚洲av一综合av一区| 五月天色婷婷综合| 狠狠色丁香婷婷综合| 天天综合久久一二三区| 国产婷婷综合在线视频| 婷婷亚洲综合五月天小说在线| 伊人久久大香线蕉综合热线| 久久婷婷五月综合色奶水99啪| 中文网丁香综合网| 久久婷婷五月综合国产尤物app| 97色伦图片97综合影院| 天天干天天色综合| 国产综合成人亚洲区| 久久91精品综合国产首页| 一本一本久久aa综合精品| 亚洲欧洲日产国产综合网| 亚洲人成在久久综合网站| 亚洲综合无码无在线观看| 五月综合色婷婷影院在线观看 | 狠狠色丁香婷婷综合久久来| 久久99亚洲综合精品首页| 亚洲综合久久综合激情久久| 婷婷综合激六月情网|