<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)演奏音樂實(shí)驗(yàn)

          單片機(jī)演奏音樂實(shí)驗(yàn)

          作者: 時(shí)間:2010-01-27 來源:網(wǎng)絡(luò) 收藏

          MCS51匯編程序

          ;標(biāo)題 '八月桂花香'發(fā)聲程序

          ORG 0000H

          LJMP START

          ORG 000BH

          INC 20H ;中斷服務(wù),中斷計(jì)數(shù)器加1

          MOV TH0,#0D8H

          MOV TL0,#0EFH ;12M晶振,形成10毫秒中斷

          RETI

          START:

          MOV SP,#50H

          MOV TH0,#0D8H

          MOV TL0,#0EFH

          MOV TMOD,#01H

          MOV IE,#82H

          MUSIC0:

          NOP

          MOV DPTR,#DAT ;表頭地址送DPTR

          MOV 20H,#00H ;中斷計(jì)數(shù)器清0

          MUSIC1:

          NOP

          CLR A ;A清零

          MOVC A,@A+DPTR;查表取代碼

          JZ END0 ;是00H,則結(jié)束

          CJNE A,#0FFH,MUSIC5 ;如果是休止符,往下執(zhí)行

          LJMP MUSIC3

          MUSIC5:

          NOP

          MOV R6,A ;R6=18H音符的頻率

          INC DPTR ;DPTR加一

          MOV A,#0

          MOVC A,@A+DPTR;取節(jié)拍代碼送R7

          MOV R7,A ;R7=30H音符發(fā)音的時(shí)間

          SETB TR0 ;啟動計(jì)數(shù)

          MUSIC2:

          NOP

          CPL P2.5 ;P2.5是輸出引腳

          MOV A,R6

          MOV R3,A ;R3=R6=18H

          LCALL DEL

          MOV A,R7

          CJNE A,20H,MUSIC2 ;中斷計(jì)數(shù)器(20H)=R7否?

          ;不等,則繼續(xù)循環(huán)

          MOV 20H,#00H ;等于,則取下一代碼

          INC DPTR

          LJMP MUSIC1

          MUSIC3:

          NOP ;休止100毫秒

          CLR TR0

          MOV R2,#0DH ;R2=13

          MUSIC4:

          NOP

          MOV R3,#0FFH ;R3=255

          LCALL DEL

          DJNZ R2,MUSIC4

          INC DPTR

          LJMP MUSIC1

          END0:

          NOP

          MOV R2,#0FFH ;歌曲結(jié)束,延時(shí)1秒后繼續(xù)

          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


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();