久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2227|回復: 1
打印 上一主題 下一主題
收起左側

音樂盒設計代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:464610 發表于 2019-1-8 15:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
        shuzhi EQU 3fh ; 選曲目的地址
        song EQU p1.2 ; 揚聲器播放
        play EQU p3.0 ; 播放停止鍵
        addone EQU p3.1 ; 曲目加一鍵
        subone EQU p3.2 ; 曲目減一鍵
        dul EQU P1 ;段選
        wel EQU P2 ;位選
        ORG 0000H
        LJMP START
        ORG 000BH ; 定時器 0 溢出中斷入口地址AJMP cont
        ORG 0013H ; 外部中斷一入口地址AJMP pause ; 指向外部中斷程序 ORG 0100H
START:
        MOV SP,#50H
        MOV TH0,#0DBH ; 定時器賦初值MOV TL0,#0FFH
        MOV TMOD,#01H ;設定 T1 工作于方式 2
        MOV IE,#86H ; 開中斷MOV TCON,#00H
        MOV R0,#00H
        MOV shuzhi,#00H ;( 是否順序播放音樂 )
MAIN:
          JNB play,first ; 判斷 P3.0 鍵是否按下SJMP MAIN
first:
        ACALL del20
        JNB play,first
        MOV shuzhi,#00H
        MOV dul,#06H ; 共陰數碼管顯示 1
        MOV wel,#80H
        MOV DPTR,#dat1 ;dat1 首地址賦給 DPTR
        ACALL music0
        ACALL next
        RET
next:
        INC shuzhi
        MOV A,shuzhi
        CJNE A,#01,LOOP3 ;A 是否=1, 不等就跳轉到 LOOP3  MOV DPTR,#dat2 ; 表 2 首地址送 DPTR
        MOV dul,#5BH ; 顯示數值 2
        MOV wel,#80H
        ACALL music0
        INC A
LOOP3:
        CJNE A,#02,LOOP4 ;A 是否=2, 不等就跳轉到 LOOP4 MOV DPTR,#dat3 ; 表 3 首地址送 DPTR
        MOV dul,#4FH ; 顯示數值 3
        MOV wel,#80H
        ACALL music0
        INC A
LOOP4:
        CJNE A,#03,next
        ACALL first
        RET
        ;(按鍵播放上一首音樂)
last:  
        DEC shuzhi
        MOV a,shuzhi
        CJNE a,#02,last1
        MOV dptr,#dat3
        MOV dul,#4Fh
        MOV wel,#80h
        ACALL music0
last1:
        cjne a,#01,last2
        MOV dptr,#dat2
        MOV dul,#5Bh
        MOV wel,#80h
        ACALL music0
last2:
        cjne a,#00,last
        MOV dptr,#dat1
        MOV dul,#06h
        MOV wel,#80h
        ACALL music0
        RET
music0:
        MOV 20h,#00h ; 中斷計數單元清 0
music1:
        clr a
        MOVC a,@a+dptr ; 查表取音階常數JZ end0 ; 累加器判 0 看是否是結束符單片機課程設計報告10
        CJNE a,#0ffh,music5 ; 是休止符 ?
        LJMP music3 ; 產生 100ms停頓
music5:
        NOP
key:  
        JNB play,k0 ; 判斷 P3.0 鍵是否按下JNB addone,k1 ; 判斷 P3.2 鍵是否按下JNB subone,k2 ; 判斷 P3.1 鍵是否按下MOV r6,a ; 音階常數送 R6
        INC dptr ;DPTR+1
        MOV a,#0
        MOVC a,@a+dptr ; 取常數送 R7
        MOV r7,a
        SETB tr0 ; 啟動定時器 T0
music2:
        nop
        CJNE r0,#0,$
        CPL song ; 輸出電平取反MOV a, r6
        MOV r3,a ; 音階常數送 R3 LCALL del20
        MOV a, r7 ; 節拍常數送 A
        CJNE a,20h,music2 ; 節拍時間到否MOV 20h,#00h ; 為取下一音階作準備INC DPTR
        LJMP music1
music3:
        NOP ; 休止 100ms
        CLR tr0 ; 關閉定時器MOV r2, #14h
music4:
        NOP
        MOV r3, #250 ;R3=250
        LCALL del20
        DJNZ r2, music4
        INC dptr ; 為取下一音階作準備LJMP music1 end0: MOV r2, #200 ; 歌曲結束后 , 延時 1s 后繼續
music6:
        MOV r3, #250
        LCALL del20
        DJNZ r2,music6 ;(按鍵選擇)
k1:
        ACALL del20 ; 調用延時子程序
        JNB addone,k1 ; 判斷 P3.2 鍵是否釋放ACALL next
k2:
        ACALL del20
        JNB subone,k2 ; 判斷 P3.1 鍵是否釋放ACALL last
k0:
        ACALL del20
        JNB play,k0 ;判斷 3.0 鍵是否釋放LJMP start
        RET
del20:
        MOV r4,#05h ;延時子程序
del4:
        NOP
        DJNZ r4,del4
        DJNZ r3,del20
        RET
cont:
        INC 20h ; 計數單元 +1
        MOV th0,#0dbh ; 重新 10ms定時初值MOV tl0,#0ffh
        RETI ; 跳出中斷(停止播放)pause: ACALL del20 JNB p3.0,pause ; 判斷 P3.0 鍵是否有釋放MOV a,r0 ; 把 R0的值給 A
        CPL a ;A 值取反MOV r0,a
        RETI
dat1:
        db 3bh,20h,3bh,20h,30h,20h,33h,20h,3bh,80h,0ffh
        db 3bh,20h,3bh,20h,26h,20h,2bh,20h,26h,80h,0ffh
        db 26h,20h,26h,20h,20h,20h,26h,20h,2bh,20h,2bh,20h,30h,20h,33h,10h,33h,10h
        db 3bh,60h,40h,20h,4ch,80h,0ffh
        db 3bh,20h,3bh,20h,30h,20h,33h,20h,3bh,80h,0ffh
        db 3bh,20h,3bh,20h,26h,20h,2bh,20h,26h,80h,0ffh
        db 26h,20h,26h,20h,20h,20h,26h,20h,2bh,20h,2bh,20h,2bh,20h,30h,20h
        db 33h,20h,3bh,20h,3bh,20h,40h,2bh,3bh,80h,0ffh
        db 19h,20h,1ch,40h,26h,20h,19h,20h,1ch,40h,26h,20h,0ffh
        db 20h,20h,1ch,20h,1ch,20h,20h,20h,26h,80h,0ffh
        db 19h,20h,1ch,40h,26h,20h,19h,20h,1ch,40h,26h,20h,0ffh
        db 20h,20h,1ch,20h,1ch,20h,20h,20h,26h,80h,0ffh
        db 2bh,20h,2bh,40h,3bh,20h,2bh,20h,2bh,40h,2bh,20h,0ffh
        db 26h,20h,2bh,20h,2bh,20h,30h,20h,2bh,80h,0ffh
        db 2bh,20h,2bh,40h,3bh,20h,30h,20h,30h,40h,2bh,20h,0ffh
        db 33h,20h,3bh,20h,3bh,20h,40h,20h,3bh,80h,0ffh,0ffh
dat2:
        db 18h,30h,1ch,10h,20h,40h,1ch,10h
        db 18h,10h,20h,10h,1ch,10h,18h,40h
        db 1ch,20h,20h,20h,1ch,20h,18h,20h
        db 20h,80h,0ffh,20h,30h,1ch,10h,18h
        db 20h,15h,20h,1ch,20h,20h,20h,26h
        db 40h,20h,20h,2bh,20h,26h,20h,20h
        db 20h,30h,80h,0ffh,20h,20h,1ch,10h
        db 18h,10h,20h,20h,26h,20h,2bh,20h
        db 30h,20h,2bh,40h,20h,20h,1ch,10h
        db 18h,10h,20h,20h,26h,20h,2bh,20h
        db 30h,20h,2bh,40h,20h,30h,1ch,10h
        db 18h,20h,15h,20h,1ch,20h,20h,20h
        db 26h,40h,20h,20h,2bh,20h,26h,20h
        db 20h,20h,30h,80h,20h,30h,1ch,10h
        db 20h,10h,1ch,10h,20h,20h,26h,20h
        db 2bh,20h,30h,20h,2bh,40h,20h,15h
        db 1fh,05h,20h,10h,1ch,10h,20h,20h
        db 26h,20h,2bh,20h,30h,20h,2bh,40h
        db 20h,30h,1ch,10h,18h,20h,15h,20h
        db 1ch,20h,20h,20h,26h,40h,20h,20h
        db 2bh,20h,26h,20h,20h,20h,30h,30h
        db 20h,30h,1ch,10h,18h,40h,1ch,20h
        db 20h,20h,26h,40h,13h,60h,18h,20h
        db 15h,40h,13h,40h,18h,80h,00h
dat3:
        db 26h,20h,20h,20h,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h
        db 30h,20h,39h,10h,30h,10h,30h,80h,26h,20h,20h,20h,20h,20h,1ch,20h
        db 20h,80h,2bh,20h,26h,20h,20h,20h,2bh,10h,26h,10h,2bh,80h,26h,20h
        db 30h,20h,30h,20h,39h,10h,26h,10h,26h,60h,40h,10h,39h,10h,26h,20h
        db 30h,20h,30h,20h,39h,10h,26h,10h,26h,80h,26h,20h,2bh,10h,2bh,10h
        db 2bh,20h,30h,10h,39h,10h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,20h
        db 20h,10h,20h,10h,2bh,10h,26h,30h,30h,80h,18h,20h,18h,20h,26h,20h
        db 20h,20h,20h,40h,26h,20h,2bh,20h,30h,20h,30h,20h,1ch,20h,20h,20h
        db 20h,80h,1ch,20h,1ch,20h,1ch,20h,30h,20h,30h,60h,39h,10h,30h,10h
        db 20h,20h,2bh,10h,26h,10h,2bh,10h,26h,10h,26h,10h,2bh,10h,2bh,80h
        db 18h,20h,18h,20h,26h,20h,20h,20h,20h,60h,26h,10h,2bh,20h,30h,20h
        db 30h,20h,1ch,20h,20h,20h,20h,80h,26h,20h,30h,10h,30h,10h,30h,20h
        db 39h,20h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,10h,40h,10h,20h,10h
        db 20h,10h,2bh,10h,26h,30h,30h,80h,00h
        END

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2019-1-9 03:44 | 只看該作者
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美aaa级 | 黄色一级视频 | 天天综合国产 | 欧美男人天堂 | 黄色一级视频 | 欧美a在线 | a级大毛片 | 一区二区三区国产 | 国产三级精品视频 | 成人av在线网站 | 一区二区三区中文字幕 | 三级黄视频在线观看 | 日韩在线精品 | 中文在线视频观看 | 国产精品亚洲精品久久 | 国产jizz女人多喷水99 | 福利视频网站 | 亚洲国产一区二区三区在线观看 | 青青操av | 久久婷婷国产香蕉 | 国产女人与拘做视频免费 | 亚洲一区二区精品视频在线观看 | 久久精品久久精品久久精品 | 亚洲一区二区在线视频 | 亚洲精品欧美一区二区三区 | 亚洲在线一区 | 色综合色综合 | 午夜影院网站 | 精品国产欧美一区二区三区成人 | 日韩日韩日韩日韩日韩日韩日韩 | 久久综合一区 | 午夜一级做a爰片久久毛片 精品综合 | 欧美激情在线精品一区二区三区 | 欧美视频 亚洲视频 | 亚洲国产一区在线 | 久久亚| 国产乱码久久久久久 | 国精产品一区一区三区免费完 | 久久久久国产一级毛片高清网站 | 成人国产精品视频 | 久艹网站 |