<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)電子設計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機 >> 正文

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

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

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

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

        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 ;查表取音調(diào)和節(jié)拍

        mov r2,a

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

        anl a,#0fh

        mov r5,a ;將節(jié)拍存入R5

        mov a,r2

        swap a

        anl a,#0fh

        jnz sing ;根據(jù)音調(diào)決定是否演奏.

        clr tr0

        jmp d1

        sing:dec a

        mov 22h,a ;將音調(diào)存入22H.

        rl a

        mov dptr,#table1

        movc a,@a+dptr ;根據(jù)音調(diào)決定定時器初值.

        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: ;決定音調(diào)的定時初值.

        dw 64260,64400,64524,64580

        dw 64684,64777,64820,64898

        dw 64968,65030,65058,65110

        dw 65157,65178,65217

        table: ;決定音調(diào)和節(jié)拍的表格,不同的歌曲只是此表不同

        ;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 個字
      [ 查看全部 ] 網(wǎng)友評論
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務 - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 色狠台湾色综合网站| 激情综合亚洲色婷婷五月| 色婷婷六月亚洲综合香蕉| 伊人色综合网一区二区三区| 亚洲日韩久久综合中文字幕| 一本一本久久a久久精品综合 | 亚洲综合另类小说色区色噜噜| 色综合婷婷在线观看66| 亚洲综合亚洲综合网成人| 久久99国产综合精品免费| 三级韩国一区久久二区综合| 久久99国产综合精品| 久久婷婷综合中文字幕| 色综合色国产热无码一| 亚洲综合一区二区精品导航| 国产91久久综合| 一本色道久久88亚洲精品综合| 久久综合一区二区无码| 热综合一本伊人久久精品| 在线综合亚洲欧洲综合网站| 狠狠色婷婷七月色综合| 国产亚洲综合久久系列| 国产色婷婷精品综合在线| 五月丁香六月综合缴清无码| 色婷婷综合中文久久一本| 亚洲a∨国产av综合av下载| 亚洲国产精品综合福利专区| 亚洲国产免费综合| 狠狠色丁香婷婷综合久久来来去 | 一本色综合网久久| 色狠狠色狠狠综合天天| 99久久亚洲综合精品成人网| 久久综合综合久久综合| 色欲色香天天天综合网站| 狼狼综合久久久久综合网| 久久久久AV综合网成人| 国产成人综合在线视频| 国产成人亚洲综合| 亚洲国产成人久久综合一| 亚洲综合色丁香婷婷六月图片| 亚洲国产日韩综合久久精品|