<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 個字
      [ 查看全部 ] 網友評論
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 国产一区二区三区亚洲综合| 99久久国产综合精品女图图等你| 色综合99久久久无码国产精品| 亚洲欧美熟妇综合久久久久| 国产尹人香蕉综合在线电影| 久久综合精品视频| 91色综合综合热五月激情| 国产精品亚洲综合网站| 久久老色鬼天天综合网观看| 香蕉综合在线视频91| 久久综合丝袜长腿丝袜| 狠狠色综合久色aⅴ网站| 伊人久久久大香线蕉综合直播 | 色综合久久一本首久久| 人人狠狠综合久久亚洲婷婷| 国产成人综合久久精品亚洲 | 伊人亚洲综合青草青草久热| 狠狠色综合一区二区| 亚洲综合伊人久久综合| 伊人激情久久综合中文字幕| 亚洲av无码兔费综合| 91精品一区二区综合在线| 人人狠狠综合久久亚洲婷婷| 99综合电影在线视频好看| 伊人久久大香线蕉综合5g| 亚洲狠狠婷婷综合久久| 亚洲欧美综合精品成人导航| 色综合视频一区二区三区44| 色噜噜狠狠色综合欧洲| 久久综合亚洲色hezyo| 国产精品成人免费综合| 精品综合一区二区三区| 久久影视综合亚洲| 国产成人亚洲综合| 综合在线视频精品专区| 亚洲综合精品香蕉久久网| 亚洲综合久久综合激情久久| 亚洲综合av一区二区三区| 国产成人综合久久精品亚洲| 色婷婷五月综合丁香中文字幕| 一本色道久久88亚洲综合|