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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PIC單片機(jī)實(shí)現(xiàn)音樂(lè)播放的實(shí)例程序

          基于PIC單片機(jī)實(shí)現(xiàn)音樂(lè)播放的實(shí)例程序

          作者: 時(shí)間:2012-08-18 來(lái)源:網(wǎng)絡(luò) 收藏

          ********************************
          * *
          ********************************

          本文引用地址:http://www.ex-cimer.com/article/171027.htm

          以下要用二個(gè)定時(shí)器資源,凡是有二個(gè)定時(shí)器的均可,該范例需要的MCU是MICROCHIP 16C62
          INCLUDE D:PICP16XX.EQU ;該文件在MICROCHIP光盤(pán)中可找到
          ;**************************************************
          #define BeepOut RC,4
          ;**************************************************
          W_TEMP EQU 0X20 ;(0XA0)
          STATUS_TEMP EQU 0X21
          BeepCnt equ 30h
          TmrBak equ 31h
          BeepMode equ 32h
          Sflag equ 33h
          ;**************************************************
          CSTIME100MS equ .8;
          ;**************************************************
          ;Sflag
          Fg_100ms equ 0
          FgBeep equ 1
          ;**************************************************
          ORG 000H;
          GOTO MAIN ; Skip over interrupt vecter
          ORG 04H ; Interrupt Vector
          GOTO INTZ

          ;**************************************************
          OkTab:
          movf BeepCnt,w
          addwf PCL,f
          retlw .255-.130;0xf6 ;1 ;
          retlw .255-.126;0xfa ;2 ;
          retlw .255-.119; 0xfd ;3 ;
          retlw 0
          ;**************************************************
          WhisleTab:
          movf BeepCnt,w
          addwf PCL,f
          retlw .255-.239;523Hz ;0 ;
          retlw .255-.179;698Hz ;1 ;
          retlw .255-.159;784Hz ;2 ;
          retlw .255-.119;1046Hz ;3 ;
          retlw .0
          ;**************************************************
          HangTab:
          movf BeepCnt,w
          addwf PCL,f
          retlw .255-.159; 784Hz ;0 ;
          retlw .255-.119; 1046Hz ;1 ;
          retlw .255-.150; 830Hz ;2 ;
          retlw .255-.112 ;1109Hz ;3 ;
          retlw .255-.142 ;880Hz ;4 ;
          retlw .255-.106;1174Hz ;5 ;
          retlw .255-.134;932Hz ;6 ;
          retlw .255-.100;1244Hz ;7
          retlw .255-.126;988Hz ;8;
          retlw .255-.94;1318Hz ;9;
          retlw .255-.119;1046Hz ;10 ;
          retlw .255-.89;1397Hz ;11 ;
          retlw .0

          ;**************************************************
          WelcomTab:
          movf BeepCnt,w
          addwf PCL,f
          retlw .255-.89;1397Hz ;11 ;
          retlw .255-.119;1046Hz ;10 ;
          retlw .255-.94;1318Hz ;9;
          retlw .255-.126;988Hz ;8;
          retlw .255-.100;1244Hz ;7
          retlw .255-.134;932Hz ;6 ;
          retlw .255-.106;1174Hz ;5 ;
          retlw .255-.142 ;880Hz ;4 ;
          retlw .255-.112 ;1109Hz ;3 ;
          retlw .255-.150; 830Hz ;2 ;
          retlw .255-.119; 1046Hz ;1 ;
          retlw .255-.159; 784Hz ;0 ;
          retlw .0
          ;**************************************************
          BeepModeJmp:
          addwf PCL,f
          b psWhisle ;0
          b psOk ;1
          b psHang ;2
          b psWelcom ;3
          ;**************************************************
          IO_SET:
          BANK1_
          MOVLW B'11001011'
          MOVWF TRISA
          MOVLW B'00001100'
          movwf TRISB
          MOVLW B'00000011'
          movwf TRISC ; Set Port_C to all outputs
          BANK0_
          RETURN
          ;**************************************************
          SYS_SET:
          BANK1_
          MOVLW B'00000111' ; 1:256 TMR0分頻
          MOVWF OPTION_R
          BSF PIE1,TMR2IE ;TMR2中斷允許
          BANK0_
          MOVLW B'00000001' ;開(kāi)TMR1
          MOVWF T1CON
          bsf INTCON,TOIE ;TMR0中斷允許
          BSF INTCON,PEIE ;允許所有未被屏蔽之外圍接口中斷
          RETURN
          ;**************************************************
          MAIN: ; Main rotation
          CALL IO_SET
          MOVLW B'00000000' ;關(guān)所有中斷
          MOVWF INTCON
          ;****************************
          CALL SYS_SET
          ;****************************
          call PlayPsWelcom ;上電提示音
          MAINLOOP:
          bsf INTCON,GIE ;開(kāi)所有中斷
          CLRWDT ; Clear WDT
          call BeepFor
          B MAINLOOP
          ;**************************************************


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();