Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

PIC10F200 PWM kood

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    PIC10F200 PWM kood

    Äkki on keegi midagi sellist teinud?

    Nimelt oleks vaja pic10f200 jaoks jooksvalt muudetava intervalliga tarkvaralise PWM koodi. Ideaalis kahe väljundiga.

    Olen leidnud küll teiste kivide baasil koode, kuid ei ole suutnud enda loomal neid käima saada.
    Oota! Las ma teen seda natuke paremaks...

    #2
    Vs: PIC10F200 PWM kood

    Anna need koodi jupid, mis leidnud.
    Vaatab üle, äkki mõtleme midagi välja.

    Comment


      #3
      Vs: PIC10F200 PWM kood

      Hetkel olen suurema, 16f876 elukaga jännis ja pole selle 10f200-ga saanud tegeleda. Muidu selline kood on olemas, kuid süveneda pole jõudnud.

      Kood:
      ;M0 & M1 are the port numbers for the motors
      ;PWM1 is motor 1 speed (0-15)
      ;PWM2 is motor 2 speed (0-15)
       
      DoPWM        bsf    Shadow,M0    ;turn motor 0 on
              bsf    Shadow,M1    ;and motor 1
              movlw    1        ;preload W
      PwmLoop        subwf    PWM1,F        ;sub 1 from PWM1
              btfss    STATUS,DC    ;was there a borrow from bit 4
              bcf    Shadow,M0    ;yes so turn motor 0 off
              subwf    PWM2,F        ;now do second channel
              btfss    STATUS,DC
              bcf    Shadow,M1
              movfw    Shadow        ;copy shadow register
              movwf    GPIO        ;to I/O register
              movlw    1        ;reload W
              addwf    Count,F        ;inc count but set flags
              btfss    STATUS,DC    ;have we been around 16 times
              goto    PwmLoop        ;no, so go around inner loop
              btfss    STATUS,Z    ;have we done 256 times
              goto    DoPWM        ;no so repeat outer loop
              retlw    0        ;done
      Oota! Las ma teen seda natuke paremaks...

      Comment

      Working...
      X