• <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    技術(shù)熱線: 4007-888-234
    設(shè)計開發(fā)

    專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

    開發(fā)工具

    提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

    技術(shù)支持

    從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

    新品推廣

    提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

    新聞中心

    提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動態(tài)

    PIC單片機(jī)實現(xiàn)音樂播放

    更新時間: 2019-03-22
    閱讀量:3488

    單片機(jī)開發(fā)商深圳英銳恩分享PIC單片機(jī)實現(xiàn)音樂播放。

    PIC單片機(jī)實現(xiàn)音樂播放      *
    ********************************
    源程序:
    以下程序要用二個定時器資源,凡是有二個定時器的PIC單片機(jī)均可實現(xiàn),該范例需要的MCU是MICROCHIP PIC16C62
    INCLUDE "D:\PIC\P16XX.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
    ;**************************************************

    INTZ:
        PUSH ; Push ;中斷服務(wù)程序
        BTFSC PIR1,TMR2IF ;測試TMR2中斷標(biāo)志位
        b INT_TMR2 ;
        BTFSC INTCON,TOIF ;測試TMR0中斷標(biāo)志位
        GOTO INT_TMR0
    IntRet:
        POP ; Pop
        RETFIE
    ;**************************************************
    INT_TMR2:
        BCF PIR1,TMR2IF ;清TMR2中斷標(biāo)志位
        movf TmrBak,w
        movwf TMR2
        CPL BeepOut
    BeeperEnd:
        b IntRet
    ;**************************************************
    INT_TMR0: ;定時0中斷
        BCF INTCON,TOIF ; clear INTF
        MOVLW .255-.38 ;10ms
        MOVWF TMR0
        ;====================
        decfsz T100ms,f
        b int_tmr0_ret
        movlw CSTIME100MS
        movwf T100ms
        bsf Sflag,Fg_100ms
        ;=====================

    int_tmr0_ret:
        b IntRet
    ;**************************************************
    PlayPsWhisle:
        bsf Fg,FgBeep
        clrf BeepCnt
        movlw .0
        movwf BeepMode
        movlw CSTIME100MS
        movwf T100ms
        retlw 0
    ;**************************************************
    PlayPsOk:
        bsf Fg,FgBeep
        clrf BeepCnt

    movlw .1
        movwf BeepMode
        movlw CSTIME100MS
        movwf T100ms
        retlw 0
    ;**************************************************
    PlayPsHang:
        bsf Fg,FgBeep
        clrf BeepCnt
        movlw .2
        movwf BeepMode
        movlw CSTIME100MS
        movwf T100ms
        retlw 0
    ;**************************************************
    PlayPsWelcom:
        bsf Fg,FgBeep
        clrf BeepCnt
        movlw .3
        movwf BeepMode
        movlw CSTIME100MS
        movwf T100ms
        retlw 0
    ;**************************************************
    ;音樂播放程序
    ;BeepMode=0 : psWhisle

    BeepMode=1 : psOk
    ;BeepMode=2 : psHang
    ;BeepMode=3 : psWelcom
    ;**************************************************
    BeepFor:
        btfss Sflag,Fg_100ms
        b BeepForEnd
        bcf Sflag,Fg_100ms
        btfss Sflag,FgBeep
        b BeepForEnd
        MOVLW B'00000101' ;開TMR2 1:4分頻
        MOVWF T2CON
        movf BeepMode,w
        b BeepModeJmp
    psWhisle:
        call WhisleTab
        b BeepPlay
    psOk:

     call OkTab
        b BeepPlay
    psHang:
        call HangTab
        b BeepPlay
    psWelcom:
        call WelcomTab
        b BeepPlay
    BeepPlay:
        incf BeepCnt,f
        movwf TmrBak
        movf TmrBak,f
        btfsc status,z
        b BeepOff
        movlw .1
        xorwf TmrBak,w
        btfsc status,z
        b BeepStop
        b BeepForEnd
    BeepOff:
        clrf BeepCnt
        bcf Sflag,FgBeep
        bcf BeepOut
        bcf T2CON,TMR2ON
        b BeepForEnd
    BeepStop:
        bcf T2CON,TMR2ON ;stop

    bcf BeepOut
        BeepForEnd:
        retlw 0
    ;**************************************************
    END

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频
  • <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>
    久久草成人在线观看| 91renrenkan| 最新av地址| 亚洲一区无码高清| 中国毛茸茸的少妇| 女女同性女同区二区毛片| 日韩高清AAAA无码| 男人天堂免费东京热| 成人av免费日韩| 黄色日国产韩| 人人艹在线视频| 青青草五月天高清版| 亚洲无码青青草| 日韩性爱AV片| 97超碰成人在线| 乱论中文| 久久99久久99| 欧美精品三级片久射蜜臀| 大秀日韩精品在线| 成人A V在线视频| 免费看片A| 亚州无码A片| 欧美日韩国产成人| 一级无码视频| 欧美性爱一区| 国产A级大片| 免费在线观看av片| 97AV人人插人人操| av手机在线资源| 一区二区三区三区在线| 超碰色免费视| 可以免费观看av的网站| 无码AV色色| 超碰欧美色| 日本精品综合| 超碰国产在线97| 广州一区二区成人毛片| 日韩免费看av无码A片| 人人操AV在线| 欧美大香蕉网站| 91.avcom|