新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機音樂程序設計

        單片機音樂程序設計

        作者: 時間:2012-09-02 來源:網絡 收藏


        MOVC A,@A+DPTR ;查表取代碼
        JZ END0 ;是00H,則結束
        CJNE A,#0FFH,MUSIC5
        LJMP MUSIC3
        MUSIC5:
        NOP
        MOV R6,A
        INC DPTR
        MOV A,B
        MOVC A,@A+DPTR ;取節拍代碼送R7
        MOV R7,A
        SETB TR0 ;啟動計數
        MUSIC2:
        NOP
        CPL P1.0
        MOV A,R6
        MOV R3,A
        LCALL DEL
        MOV A,R7
        CJNE A,20H,MUSIC2 ;中斷計數器(20H)=R7否?
        ;不等,則繼續循環
        MOV 20H,#00H ;等于,則取下一代碼
        INC DPTR
        ; INC B
        LJMP MUSIC1
        MUSIC3:
        NOP
        CLR TR0 ;休止100毫秒
        MOV R2,#0DH
        MUSIC4:
        NOP
        MOV R3,#0FFH
        LCALL DEL
        DJNZ R2,MUSIC4
        INC DPTR
        LJMP MUSIC1
        END0:
        NOP
        MOV R2,#64H ;歌曲結束,延時1秒后繼續
        MUSIC6:
        MOV R3,#00H
        LCALL DEL
        DJNZ R2,MUSIC6
        LJMP MUSIC0
        DEL:
        NOP
        DEL3:
        MOV R4,#02H
        DEL4:
        NOP
        DJNZ R4,DEL4
        NOP
        DJNZ R3,DEL3
        RET
        NOP
        DAT:
        DB 18H, 30H, 1CH, 10H
        DB 20H, 40H, 1CH, 10H
        DB 18H, 10H, 20H, 10H
        DB 1CH, 10H, 18H, 40H
        DB 1CH, 20H, 20H, 20H
        DB 1CH, 20H, 18H, 20H
        DB 20H, 80H, 0FFH, 20H
        DB 30H, 1CH, 10H , 18H
        DB 20H, 15H, 20H , 1CH
        DB 20H, 20H, 20H , 26H
        DB 40H, 20H , 20H , 2BH
        DB 20H, 26H, 20H , 20H
        DB 20H, 30H , 80H , 0FFH
        DB 20H, 20H, 1CH , 10H
        DB 18H, 10H, 20H , 20H
        DB 26H, 20H , 2BH , 20H
        DB 30H, 20H , 2BH , 40H
        DB 20H, 20H , 1CH , 10H
        DB 18H, 10H, 20H, 20H
        DB 26H, 20H , 2BH, 20H
        DB 30H, 20H, 2BH , 40H
        DB 20H, 30H, 1CH , 10H
        DB 18H, 20H , 15H , 20H
        DB 1CH, 20H , 20H , 20H
        DB 26H, 40H, 20H , 20H
        DB 2BH, 20H, 26H , 20H
        DB 20H, 20H, 30H , 80H
        DB 20H, 30H, 1CH , 10H
        DB 20H, 10H, 1CH , 10H
        DB 20H, 20H, 26H , 20H
        DB 2BH, 20H, 30H , 20H
        DB 2BH, 40H, 20H , 15H
        DB 1FH, 05H, 20H , 10H
        DB 1CH, 10H, 20H , 20H
        DB 26H, 20H, 2BH , 20H
        DB 30H, 20H, 2BH , 40H
        DB 20H, 30H, 1CH , 10H
        DB 18H, 20H , 15H , 20H
        DB 1CH, 20H , 20H , 20H
        DB 26H, 40H, 20H , 20H
        DB 2BH, 20H, 26H , 20H
        DB 20H, 20H, 30H, 30H
        DB 20H, 30H, 1CH, 10H
        DB 18H, 40H, 1CH, 20H
        DB 20H, 20H, 26H, 40H
        DB 13H, 60H, 18H , 20H
        DB 15H, 40H, 13H , 40H
        DB 18H, 80H, 00H
        end

        本文引用地址:http://www.104case.com/article/170934.htm
        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 镇巴县| 桦甸市| 阳新县| 嘉黎县| 通渭县| 垦利县| 长乐市| 广平县| 鞍山市| 河北区| 楚雄市| 海兴县| 韶山市| 视频| 乌拉特后旗| 云龙县| 阳城县| 宽城| 林周县| 西乡县| 喀什市| 老河口市| 祁阳县| 五原县| 太仆寺旗| 南木林县| 昂仁县| 云南省| 溆浦县| 光山县| 甘德县| 乐陵市| 云林县| 靖边县| 黑龙江省| 镇雄县| 灵石县| 兴化市| 章丘市| 和硕县| 浦江县|