中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PIC16F84的兩組PWM輸出的實(shí)例源程序

        基于PIC16F84的兩組PWM輸出的實(shí)例源程序

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

        產(chǎn)生兩組

        本文引用地址:http://www.antipu.com.cn/article/171049.htm

        ;**********************************************************************
        list p=16F84 ; list directive to define processor
        #i nclude p16F84.inc> ; processor specific variable definitions

        __CONFIG _CP_OFF _WDT_OFF _PWRTE_OFF _RC_OSC

        ; '__CONFIG' directive is used to embed configuration data within .asm file.
        ; The lables following the directive are located in the respective .inc file.
        ; See respective data sheet for additional information on configuration word.


        ;********************** CONST DEFINITIONS******************************
        FULL_WORK = 10 ;
        DEF_WORK1 = 2 ;
        DEF_WORK2 = 8 ;
        PORT_OUT = PORTB ;
        PIN_1 = 0 ;
        PIN_2 = 1 ;
        ;********************** VARIABLE DEFINITIONS***************************
        CBLOCK 0x0C
        w_temp ; variable used for context saving
        status_temp ; variable used for context saving
        PWM_FULL ;
        PWM_WORK_CFG1 ;
        PWM_WORK_CFG2 ;
        PWM_WORK_CNT1 ;
        PWM_WORK_CNT2 ;
        ENDC
        ;**********************************************************************
        ;****************** ***********************
        ;**********************************************************************
        ORG 0x000 ; processor reset vector
        ResetStart
        goto main ; go to beginning of program
        ;**********************************************************************
        ;****************** *************************
        ;**********************************************************************
        ORG 0x004 ; interrupt vector location
        movwf w_temp ; save off current W register contents
        movf STATUS,w ; move status register into W register
        movwf status_temp ; save off contents of STATUS register

        bsf STATUS,RP0
        bcf INTCON,T0IF ;
        bcf STATUS,RP0

        decfsz PWM_FULL,F ;
        goto ISR_PWM1
        bsf PORT_OUT,PIN_PWM1 ;
        bsf PORT_OUT,PIN_PWM2
        movlw FULL_WORK ;
        movwf PWM_FULL
        movf PWM_WORK_CFG1,W
        movwf PWM_WORK_CNT1
        movf PWM_WORK_CFG2,W
        movwf PWM_WORK_CNT2
        goto ISR_EXIT
        ISR_PWM1
        decfsz PWM_WORK_CNT1,F ;
        goto ISR_PWM2
        bcf PORT_OUT,PIN_PWM1 ;
        ISR_PWM2
        decfsz PWM_WORK_CNT2,F ;
        goto ISR_EXIT
        bcf PORT_OUT,PIN_PWM2 ;
        ISR_EXIT
        movf status_temp,w ; retrieve copy of STATUS register
        movwf STATUS ; restore pre-isr STATUS register contents
        swapf w_temp,f
        swapf w_temp,w ; restore pre-isr W register contents
        retfie ; return from interrupt
        ;**********************************************************************
        ;**********************************************************************
        InitPWM
        bsf STATUS,RP0 ;
        bcf PORT_OUT,PIN_PWM1
        bcf PORT_OUT,PIN_PWM2
        bcf STATUS,RP0
        bsf PORT_OUT,PIN_PWM1 ;
        bsf PORT_OUT,PIN_PWM2
        movlw FULL_WORK ;
        movwf PWM_FULL
        movlw DEF_WORK1
        movwf PWM_WORK_CFG1
        movwf PWM_WORK_CNT1
        movlw DEF_WORK2
        movwf PWM_WORK_CFG2
        movwf PWM_WORK_CNT2
        retlw 0

        pwm相關(guān)文章:pwm是什么


        pwm相關(guān)文章:pwm原理



        上一頁 1 2 下一頁

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉