色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

          用PIC單片機(jī)實現(xiàn)音樂播放的實例程序

          作者: 時間:2011-05-17 來源:網(wǎng)絡(luò) 收藏


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

          本文引用地址:http://cafeforensic.com/article/172783.htm

          以下要用二個定時器資源,凡是有二個定時器的均可,該范例需要的MCU是MICROCHIP PIC16C62
          INCLUDE D:PICP16XX.EQU ;該文件在MICROCHIP光盤中可找到
          ;**************************************************
          #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' ;開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 ;開所有中斷
          CLRWDT ; Clear WDT
          call BeepFor
          B MAINLOOP
          ;**************************************************


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉