• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 邊顯示滾動漢字邊播放音樂的匯編程序

    邊顯示滾動漢字邊播放音樂的匯編程序

    作者: 時間:2012-08-18 來源:網絡 收藏


    //=======第四首==================================
    MAIN5:MOV P0,#0FFH
    MOV P1,#0FH
    MOV P2,#00H
    MOV 30H,#00H //奏第四首循環
    MOV A,R7
    CJNE A,#04H,LMAIN5
    LOO2P:SETB TR0
    MOV A,30H
    MOV DPTR,#TAB16
    MOVC A,@A+DPTR ;取定時器高八位數據
    JZ RERT3
    LOO21: MOV R0,A
    MOV A,30H
    MOV DPTR,#TAB17
    MOVC A,@A+DPTR ;取定時器低八位數據
    MOV R1,A
    MOV TH0,R0
    MOV TL0,R1
    ANL A,R0
    CJNE A,#0FFH,NCA5 ;遇0FFH歌曲結束
    LJMP ENDD5
    NCA5: MOV A,30H
    MOV DPTR,#TAB18
    MOVC A,@A+DPTR ;取節拍時值
    MOV R2,A
    DELA41:ACALL DELAY100
    DEL41:DJNZ R2,DELA41
    INC 30H
    LJMP LOO2P

    RERT3:CLR TR0 ;休止
    SETB YY
    LJMP LOO21

    ENDD5:CLR TR0
    ACALL DELAY1000
    LJMP MAIN5 ;奏完返回
    LMAIN5:LJMP MAIN6

    //=======第五首==================================
    MAIN6:MOV P0,#0FFH
    MOV P1,#0FH
    MOV P2,#00H
    MOV 30H,#00H //奏第五首循環
    MOV A,R7
    CJNE A,#05H,LMAIN6
    LOO4P:SETB TR0
    MOV A,30H
    MOV DPTR,#TAB19
    MOVC A,@A+DPTR ;取定時器高八位數據
    JZ RERT4
    LOO31: MOV R0,A
    MOV A,30H
    MOV DPTR,#TAB20
    MOVC A,@A+DPTR ;取定時器低八位數據
    MOV R1,A
    MOV TH0,R0
    MOV TL0,R1
    ANL A,R0
    CJNE A,#0FFH,NCA6 ;遇0FFH歌曲結束
    LJMP ENDD6
    NCA6: MOV A,30H
    MOV DPTR,#TAB21
    MOVC A,@A+DPTR ;取節拍時值
    MOV R2,A
    DELA51:ACALL DELAY100
    DEL51:DJNZ R2,DELA51
    INC 30H
    LJMP LOO4P

    RERT4:CLR TR0 ;休止
    SETB YY
    LJMP LOO31

    ENDD6:CLR TR0
    ACALL DELAY1000
    LJMP MAIN6 ;奏完返回
    LMAIN6:CLR TR1
    LJMP MAIN3

    //======流動漢字=================================
    MAIN3:
    MOV A,R7
    CJNE A,#06H,LMA3
    SJMP XIAN
    LMA3:LJMP MAKK
    XIAN:CLR TR0
    MOV A,30H
    MOV DPTR,#TAB7
    MOVC A,@A+DPTR
    MOV P0,A
    MOV A,30H
    MOV DPTR,#TAB8
    MOVC A,@A+DPTR
    MOV P1,A
    MOV A,30H
    MOV DPTR,#TAB9
    MOVC A,@A+DPTR
    MOV P2,A
    //--------------------------------------
    MA3D://掃描按鍵延時
    MOV 53H,#5
    MA3D2:
    JB P3.2,LMA03 ;按鍵
    LCALL WDELAY
    INC R7
    CJNE R7,#04H,MA32
    MOV R7,#00H
    MA32:LJMP MAKK
    LMA03:JB P3.3,MA3D1
    LCALL WDELAY
    LCALL SIMAIN1 ;跳到顯示死循環子程序
    MA3D1:DJNZ 53H,MA3D2
    //---------------------------------------
    MOV P0,#0FFH
    MOV P1,#0FH
    MOV P2,#00H
    DJNZ 31H,XIAN
    MOV 31H,#24
    INC 30H
    MOV A,30H
    CJNE A,#13,XIAN1
    DJNZ 40H,XIA1
    MOV 40H,#100
    LJMP XIAN1
    XIA1:MOV 30H,#0
    LJMP MAIN3
    XIAN1:
    CJNE A,#25, XIAN2
    MOV 36H,#13
    DJNZ 40H,XIA2
    MOV 40H,#100
    LJMP XIAN2
    XIA2:MOV 30H,#13
    LJMP MAIN3
    XIAN2:
    CJNE A,#37,XIAN3
    MOV 36H,#25
    DJNZ 40H,XIA3
    MOV 40H,#100
    LJMP XIAN3
    XIA3:MOV 30H,#25
    LJMP MAIN3
    XIAN3:
    CJNE A,#49,XIAN4
    MOV 36H,#37
    DJNZ 40H,XIA4
    MOV 40H,#100
    LJMP XIAN4
    XIA4:MOV 30H,#37
    LJMP MAIN3
    XIAN4:
    CJNE A,#61,XIAN5
    MOV 36H,#49
    DJNZ 40H,XIA5
    MOV 40H,#100
    LJMP XIAN5
    XIA5:MOV 30H,#49
    LJMP MAIN3
    XIAN5:
    CJNE A,#73,XIAN6
    MOV 36H,#61
    DJNZ 40H,XIA6
    MOV 40H,#100
    LJMP XIAN6
    XIA6:MOV 30H,#61
    LJMP MAIN3
    XIAN6:
    CJNE A,#85,XIAN7
    MOV 36H,#73
    DJNZ 40H,XIA7
    MOV 40H,#100
    LJMP XIAN7
    XIA7:MOV 30H,#73
    LJMP MAIN3
    XIAN7:
    CJNE A,#97,XIAN8
    MOV 36H,#85
    DJNZ 40H,XIA8
    MOV 40H,#100
    LJMP XIAN8
    XIA8:MOV 30H,#85
    LJMP MAIN3
    XIAN8:
    CJNE A,#109,XIAN9
    MOV 36H,#97
    DJNZ 40H,XIA9
    MOV 40H,#100
    LJMP XIAN9
    XIA9:MOV 30H,#97
    LJMP MAIN3
    XIAN9:
    CJNE A,#121,XIAN10
    MOV 36H,#109
    DJNZ 40H,XIA10
    MOV 40H,#100
    LJMP XIAN10
    XIA10:MOV 30H,#109
    LJMP MAIN3
    XIAN10:
    CJNE A,#133,XIAN11
    MOV 36H,#121
    DJNZ 40H,XIA11
    MOV 40H,#100
    LJMP XIAN11
    XIA11:MOV 30H,#121
    LJMP MAIN3
    XIAN11:
    CJNE A,#145,END30
    /* MOV 36H,#133
    DJNZ 40H,XIA12
    MOV 40H,#100
    LJMP XIAN12
    XIA12:MOV 30H,#133
    LJMP MAIN3
    XIAN12:
    CJNE A,#157,XIAN13
    MOV 36H,#145
    DJNZ 40H,XIA13
    MOV 40H,#100
    LJMP XIAN13
    XIA13:MOV 30H,#145
    LJMP MAIN3
    XIAN13:
    CJNE A,#169,XIAN14
    MOV 36H,#157
    DJNZ 40H,XIA14
    MOV 40H,#100
    LJMP XIAN14
    XIA14:MOV 30H,#157
    LJMP MAIN3
    XIAN14:
    CJNE A,#181,END30 */
    MOV 36H,#0
    MOV 30H,#0

    END30:LJMP MAIN3

    //=======顯示死循環子程序========================
    SIMAIN1:MOV 30H,36H
    MOV 37H,#12
    SIMAIN2:MOV A,30H
    MOV DPTR,#TAB7
    MOVC A,@A+DPTR
    MOV P0,A
    MOV A,30H
    MOV DPTR,#TAB8
    MOVC A,@A+DPTR
    MOV P1,A
    MOV A,30H
    MOV DPTR,#TAB9
    MOVC A,@A+DPTR
    MOV P2,A
    //-----------------
    YANSI:MOV 38H,#200
    YANS1:JB P3.3,YANS2
    LCALL WDELAY
    LJMP SIMRET
    YANS2:DJNZ 38H,YANS1
    //-----------------
    INC 30H
    MOV P0,#0FFH
    MOV P1,#0FH
    MOV P2,#00H
    DJNZ 37H,SIMAIN2
    LJMP SIMAIN1
    SIMRET:RET

    //=====定時器中斷服務子程序======================
    T00:MOV TH0,R0
    MOV TL0,R1
    CPL YY
    RETI


    //==========定時器T1溢出中斷服務子程序============
    T11:MOV TH1,#15H
    MOV TL1,#0A0H
    CJNE R3,#1,NET10
    MOV P2,#06H
    MOV P0,#55H
    NET10:CJNE R3,#10,NET11
    MOV P2,#09H
    MOV P0,#0AAH
    NET11:CJNE R3,#20,NET12
    MOV R3,#0
    NET12:
    INC R3
    // INC 30H //下一顯示值
    RETI


    //======延時子程序================================
    //-------含按鍵------------
    DELAY1000:MOV R4,#10
    DELAY100: MOV R5,#6
    DELAY1: MOV R6,#10
    DELAY2: JB P3.2,DJNN
    ACALL WDELAY
    INC R7
    CJNE R7,#08h,LJ
    MOV R7,#00H
    LJ: LJMP MAIN0
    DJNN: JB P3.3,DJNN1
    ACALL WDELAY
    LCALL YINYEXI
    DJNN1: DJNZ R6,DELAY2
    DJNZ R5,DELAY1
    DJNZ R4,DELAY100
    RET
    //-------500MS--------------
    WDELAY:MOV 50H,#5
    WDELA1:MOV 51H,#250
    WDELA2:MOV 52H,#100
    WDELA3:NOP
    NOP
    DJNZ 52H,WDELA3
    DJNZ 51H,WDELA2
    DJNZ 50H,WDELA1
    RET

    //======音樂暫停等待==============================
    YINYEXI:
    CLR TR0
    MOV P0,#0F6H
    MOV P1,#0FH
    MOV P2,#3FH
    JB P3.3,YINYEXI
    ACALL WDELAY
    MOV P0,#0FFH
    MOV P2,#00H
    SETB TR0
    RET
    //===========================================================
    //月亮代表我的心>> 數據表
    TAB1: //定時器高八位數據
    DB 00H,0FBH,0FCH,0FDH,0FDH,0FCH,0FCH,0FDH,0FDH,00H
    DB 0FDH,0FDH,0FEH,0FEH,0FDH,0FDH,0FDH,0FDH,0FCH,0FCH
    DB 0FCH,0FCH,0FDH,0FCH,0FCH,0FCH,0FCH,0FCH,0FDH,0FCH
    DB 0FCH,0FBH,0FCH,0FDH,0FCH,00H,0FBH,0FCH,0FDH,0FDH
    DB 0FCH,0FCH,0FDH,0FDH,00H,0FDH,0FDH,0FEH,0FEH,0FDH
    DB 0FDH,0FDH,0FDH,0FCH,0FCH,0FCH,0FCH,0FDH,0FCH,0FCH
    DB 0FCH,0FCH,0FCH,0FDH,0FCH,0FBH,0FCH,0FCH,0FCH,0FCH
    DB 0FDH,0FDH,0FDH,0FCH,0FCH,0FDH,0FCH,0FBH,0FCH,0FBH
    DB 0FCH,0FBH,0FBH,0FDH,0FDH,0FDH,0FCH,0FCH,0FDH,0FCH
    DB 0FBH,0FCH,0FCH,0FCH,0FCH,0FCH,0FDH,0FCH,00H,0FBH
    DB 0FCH,0FDH,0FDH,0FCH,0FCH,0FDH,0FDH,0FDH,0FDH,0FEH
    DB 0FEH,0FDH,0FDH,0FDH,0FDH,0FCH,0FCH,0FCH,0FCH,0FDH
    DB 0FCH,0FCH,0FCH,0FCH,0FCH,0FDH,0FCH,0FBH,0FCH,0FCH
    DB 0FCH,0FCH,0FFH
    TAB2: //定時器低八位數據
    DB 00H,04H,44H,09H,82H,44H,0CH,09H,82H,00H
    DB 82H,0CDH,06H,22H,0CDH,0CDH,82H,09H,0ACH,44H
    DB 44H,44H,09H,0ACH,44H,44H,44H,0ACH,09H,0ACH
    DB 44H,8FH,0ACH,09H,0ACH,00H,04H,44H,09H,82H
    DB 44H,0CH,09H,82H,00H,82H,0CDH,06H,22H,0CDH
    DB 0CDH,82H,09H,0ACH,44H,44H,44H,09H,0ACH,44H
    DB 44H,44H,0ACH,09H,0ACH,90H,0CH,44H,0ACH,44H
    DB 09H,82H,09H,0ACH,44H,82H,0CH,90H,0CH,90H
    DB 0CH,90H,05H,09H,82H,09H,0ACH,44H,82H,0CH
    DB 90H,0CH,44H,44H,44H,0ACH,09H,0ACH,00H,05H
    DB 44H,09H,82H,44H,0CH,09H,82H,82H,0C8H,06H
    DB 22H,0C8H,0C8H,82H,09H,0ACH,44H,44H,44H,09H
    DB 0ACH,44H,44H,44H,0ACH,09H,0ACH,90H,0CH,44H
    DB 0ACH,44H,0FFH
    TAB3: //節拍時值表
    db 4,4,12,4,12,4,12,4,8,4
    db 4,4,8,12,4,4,28,4,4,12
    db 4,8,4,4,12,4,8,4,4,8
    db 4,8,4,4,24,4,4,12,4,12
    db 4,12,4,8,4,4,4,8,12,4
    db 4,28,4,4,12,4,8,4,4,12
    db 4,8,4,4,8,4,8,4,4,24
    db 4,4,12,4,8,8,24,4,4,12
    db 4,12,8,24,8,12,4,8,8,24
    db 4,4,12,4,8,4,4,24,4,4
    db 12,4,12,4,12,4,12,4,12,4
    db 12,4,4,20,4,4,12,4,8,4
    db 4,12,4,8,4,4,12,4,8,4
    db 4,24


    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 拜城县| 凤冈县| 临夏县| 大竹县| 武冈市| 兴海县| 宝坻区| 太康县| 项城市| 山东省| 福清市| 丰宁| 会东县| 霍邱县| 陕西省| 株洲县| 贵南县| 房产| 如皋市| 凌云县| 万盛区| 平凉市| 兰考县| 汉川市| 云浮市| 靖边县| 噶尔县| 桂东县| 浦县| 宁都县| 塔城市| 河源市| 天镇县| 固始县| 仁寿县| 额济纳旗| 筠连县| 洱源县| 岗巴县| 奉新县| 孝昌县|