• <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

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

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

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

    技術(shù)支持

    Using the PWM hardware

    更新時(shí)間: 2019-03-25

    16F876 PWM example code
    ;
    ; Device 16F876
        LIST P=16F876, W=2, X=ON, R=DEC
        #INCLUDE P16F876.INC
        __CONFIG    0x393A

    cblock 0x20 ;start of general purpose registers
    count ;used in delay routine
    count1 ;used in delay routine
    counta ;used in delay routine
    countb ;used in delay routine
    temp ;temp storage
    endc

    RL Equ 0x00 ;pin for left motor reverse
    FL Equ 0x03 ;pin for left motor forward
    RR Equ 0x04 ;pin for right motor reverse
    FR Equ 0x05 ;pin for right motor forward

    ;pins 1 and 2 are the 2 PWM channels



        ORG 0x0000
        NOP ;for bootloader compatibility
        NOP
        NOP
        GOTO START
        ORG 0x0010

    START CALL Initialise

    MainLoop:
    MOVLW d'64
    CALL SpeedL ;both half speed forwards
    CALL SpeedR
    CALL Long_Delay

    MOVLW d'64
    CALL SpeedL ;left half speed forwards

    MOVLW d'192
    CALL SpeedR ;right half speed reverse
    CALL Long_Delay

    MOVLW d'10
    CALL SpeedL ;slow speed forwards
    MOVLW d'228
    CALL SpeedR ;fast speed reverse
    CALL Long_Delay

    MOVLW d'228
    CALL SpeedL ;fast speed reverse
    MOVLW d'10
    CALL SpeedR ;slow speed forwards
    CALL Long_Delay

    GOTO MainLoop

    Initialise:

     BANKSEL  ADCON1 ;turn off A2D
        MOVLW    0x06
        MOVWF    ADCON1
        BANKSEL  PORTA
        BANKSEL  TRISC
        MOVLW    0 ;set PORTC as all outputs
        MOVWF    TRISC
        BANKSEL  PORTC

       MOVF     CCP1CON,W ;set CCP1 as PWM
        ANDLW    0xF0
        IORLW    0x0C
        MOVWF    CCP1CON

        MOVF     CCP2CON,W ;set CCP2 as PWM
        ANDLW    0xF0
        IORLW    0x0C
        MOVWF    CCP2CON

        MOVLW    126 ;set highest PWM value
        BANKSEL  PR2 ;over this (127) is permanently on
        MOVWF    PR2
        BANKSEL  TMR2

        MOVF     T2CON,W ;set prescaler to 16

    ANDLW    0xF8 ;PWM at 2500HZ
        IORLW    0x02
        MOVWF    T2CON

        MOVF     T2CON,W ;set postscaler to 1
        ANDLW    0x07
        IORLW    0x00
        MOVWF    T2CON
       
        CLRF CCPR1L ;set PWM to zero
        CLRF CCPR2L

        BSF      T2CON, TMR2ON ;and start the timer running
    RETURN

    SpeedL: ;use value in W to set speed (0-127)
        MOVWF temp
    BTFSC temp, 7 ;if more than 128 set speed in reverse
    CALL ReverseL ;so '1' is very slow forward
    BTFSS temp, 7 ;and '129' is very slow reverse
    CALL ForwardL

    ANDLW 0x7F
        MOVWF   CCPR1L
    RETURN

    SpeedR:
        MOVWF temp
    BTFSC temp, 7
    CALL ReverseR
    BTFSS temp, 7
    CALL ForwardR
    ANDLW 0x7F
        MOVWF   CCPR2L
    RETURN

    ReverseL:
    BSF PORTC, RL ;set pins for reverse
    BCF PORTC, FL
    RETURN

    ReverseR:
    BSF PORTC, RR
    BCF PORTC, FR
    RETURN

    ForwardL:
    BCF PORTC, RL ;set pins for forward
    BSF PORTC, FL
    RETURN

    ForwardR:
    BCF PORTC, RR
    BSF PORTC, FR
    RETURN

    ;Delay routines

    Long_Delay
    movlw d'50' ;delay 5 seconds
    call Delay100W
    return

    Delay100W movwf count ;delay W x 100mS
    d2 call Delay100 ;maximum delay 25.5 seconds
    decfsz count ,f
    goto d2
    return

    Delay255 movlw 0xff ;delay 255 mS
    goto d0
    Delay100 movlw d'100' ;delay 100mS
    goto d0
    Delay50 movlw d'50' ;delay 50mS
    goto d0
    Delay20 movlw d'20' ;delay 20mS
    goto d0
    Delay10 movlw d'10' ;delay 10mS
    goto d0
    Delay1 movlw d'1' ;delay 1mS
    goto d0
    Delay5 movlw 0x05 ;delay 5.000 ms (4 MHz clock)
    d0 movwf count1
    d1 movlw 0xE7
    movwf counta
    movlw 0x04
    movwf countb
    Delay_0 decfsz counta, f
    goto

    Using the PWM hardware

    點(diǎn)擊次數(shù):166次        更新時(shí)間:2017-12-12

    16F876 PWM example code
    ;
    ; Device 16F876
        LIST P=16F876, W=2, X=ON, R=DEC
        #INCLUDE P16F876.INC
        __CONFIG    0x393A

    cblock 0x20 ;start of general purpose registers
    count ;used in delay routine
    count1 ;used in delay routine
    counta ;used in delay routine
    countb ;used in delay routine
    temp ;temp storage
    endc

    RL Equ 0x00 ;pin for left motor reverse
    FL Equ 0x03 ;pin for left motor forward
    RR Equ 0x04 ;pin for right motor reverse
    FR Equ 0x05 ;pin for right motor forward

    ;pins 1 and 2 are the 2 PWM channels



        ORG 0x0000
        NOP ;for bootloader compatibility
        NOP
        NOP
        GOTO START
        ORG 0x0010

    START CALL Initialise

    MainLoop:
    MOVLW d'64
    CALL SpeedL ;both half speed forwards
    CALL SpeedR
    CALL Long_Delay

    MOVLW d'64
    CALL SpeedL ;left half speed forwards

    MOVLW d'192
    CALL SpeedR ;right half speed reverse
    CALL Long_Delay

    MOVLW d'10
    CALL SpeedL ;slow speed forwards
    MOVLW d'228
    CALL SpeedR ;fast speed reverse
    CALL Long_Delay

    MOVLW d'228
    CALL SpeedL ;fast speed reverse
    MOVLW d'10
    CALL SpeedR ;slow speed forwards
    CALL Long_Delay

    GOTO MainLoop

    Initialise:

     BANKSEL  ADCON1 ;turn off A2D
        MOVLW    0x06
        MOVWF    ADCON1
        BANKSEL  PORTA
        BANKSEL  TRISC
        MOVLW    0 ;set PORTC as all outputs
        MOVWF    TRISC
        BANKSEL  PORTC

       MOVF     CCP1CON,W ;set CCP1 as PWM
        ANDLW    0xF0
        IORLW    0x0C
        MOVWF    CCP1CON

        MOVF     CCP2CON,W ;set CCP2 as PWM
        ANDLW    0xF0
        IORLW    0x0C
        MOVWF    CCP2CON

        MOVLW    126 ;set highest PWM value
        BANKSEL  PR2 ;over this (127) is permanently on
        MOVWF    PR2
        BANKSEL  TMR2

        MOVF     T2CON,W ;set prescaler to 16

    ANDLW    0xF8 ;PWM at 2500HZ
        IORLW    0x02
        MOVWF    T2CON

        MOVF     T2CON,W ;set postscaler to 1
        ANDLW    0x07
        IORLW    0x00
        MOVWF    T2CON
       
        CLRF CCPR1L ;set PWM to zero
        CLRF CCPR2L

        BSF      T2CON, TMR2ON ;and start the timer running
    RETURN

    SpeedL: ;use value in W to set speed (0-127)
        MOVWF temp
    BTFSC temp, 7 ;if more than 128 set speed in reverse
    CALL ReverseL ;so '1' is very slow forward
    BTFSS temp, 7 ;and '129' is very slow reverse
    CALL ForwardL

    ANDLW 0x7F
        MOVWF   CCPR1L
    RETURN

    SpeedR:
        MOVWF temp
    BTFSC temp, 7
    CALL ReverseR
    BTFSS temp, 7
    CALL ForwardR
    ANDLW 0x7F
        MOVWF   CCPR2L
    RETURN

    ReverseL:
    BSF PORTC, RL ;set pins for reverse
    BCF PORTC, FL
    RETURN

    ReverseR:
    BSF PORTC, RR
    BCF PORTC, FR
    RETURN

    ForwardL:
    BCF PORTC, RL ;set pins for forward
    BSF PORTC, FL
    RETURN

    ForwardR:
    BCF PORTC, RR
    BSF PORTC, FR
    RETURN

    ;Delay routines

    Long_Delay
    movlw d'50' ;delay 5 seconds
    call Delay100W
    return

    Delay100W movwf count ;delay W x 100mS
    d2 call Delay100 ;maximum delay 25.5 seconds
    decfsz count ,f
    goto d2
    return

    Delay255 movlw 0xff ;delay 255 mS
    goto d0
    Delay100 movlw d'100' ;delay 100mS
    goto d0
    Delay50 movlw d'50' ;delay 50mS
    goto d0
    Delay20 movlw d'20' ;delay 20mS
    goto d0
    Delay10 movlw d'10' ;delay 10mS
    goto d0
    Delay1 movlw d'1' ;delay 1mS
    goto d0
    Delay5 movlw 0x05 ;delay 5.000 ms (4 MHz clock)
    d0 movwf count1
    d1 movlw 0xE7
    movwf counta
    movlw 0x04
    movwf countb
    Delay_0 decfsz counta, f
    goto {D_L_技術(shù)支持_內(nèi)容瀏覽}2

    decfsz countb, f
    goto Delay_0

    decfsz count1 ,f
    goto d1
    return

    ;end of Delay routines

        END


    2

    decfsz countb, f
    goto Delay_0

    decfsz count1 ,f
    goto d1
    return

    ;end of Delay routines

        END


    404
    返回首頁(yè) |  返回上一頁(yè)
    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频
  • <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>
    高清不卡亚洲| 美女av网站在线| 国产97AV在线| 亚洲爱在线爱视频| 东北黄色特级毛片| 欧美日本有码| 亚洲AV日韩AV一级毛| 激情综合网,激情四月色| 亚州精典第四页| 成人网导航| 91性爱视频欧美| 777777成人片| 日韩无码AV三级片| 亚洲欧美性爱小说| 久久最新Av| 极品中文字幕精品| 黄色毛毛片| 91超碰91| 久操91| 久久久黄色视频| 找av导航| 亚洲一区二区在线播放| 大香蕉久草在线| 久操资源网| 亚洲美女色图| 中日韩A級黄色电影网站| 日韩无码白虎| 日韩黄色明星AV电影网| 一级黄色AV片| 黄色毛片A级片| 91夜色在线| 日韩激情AV| 在线观看免费AV网址| 成人片一级片| 在线看黄色毛片| 日韩色情| 无码www.| 黄色毛片3级| 老熟妇一区二区| 成人黄色A级视频| 性爱视频A级|