Forum: Mikrocontroller und Digitale Elektronik PIC 16F684 PWM


von Ma B. (drumstick)


Lesenswert?

Hallo Zusammen!

Ich möchte mit dem PIC16F684 ein PWM Signal erzeugen und habe mir das 
Datenblatt angeschaut.

Die Register habe ich so gesetzt:
1
      movlw  b'00001100'
2
      movwf  CCP1CON
3
      movlw  b'10000001'
4
      movwf  PWM1CON
5
      movlw  b'00110010'
6
      ;movwf  CCPR1H
7
      movwf  CCPR1L
8
      movlw  b'00000000'
9
      movwf  ECCPAS
10
      movlw  b'01100100'
11
      movwf  PR2
12
      movlw   b'01111100'
13
      movwf   T2CON

Was benötige ich sonst noch? Das Signal sollte am Port C Pin 5 erzeugt 
werden!

Vielen Dank und freundliche Grüsse

M.B

von Ma B. (drumstick)


Lesenswert?

So, ich habe meinen Code erweitert und jetzt wird der gewünschte PIN 
gesetzt. Müsste dieser nicht wieder mit dem Interrupt zurückgesetzt 
werden??

Erweiterter Code:
1
Interrupt                      bcf  T2CON,TMR2ON
2
                               bcf  PIR1,1
3
                               bsf  T2CON,TMR2ON
4
                               retfie



Kann mir jemand sagen was noch fehlt?? Muss PR2 neu geladen werden, oder 
CCPR1l ???

Vielen Dank und freundliche Grüsse

M.B.

von Martin S. (drunkenmunky)


Lesenswert?

schau dir mal das hier an:
Beitrag "Re: mit pic18f4550 2 PWM signale getrennt erzeugen"

oder such mal selber.

Du brauchst mit einer Hardware PWM keine Interrupts. Einmal einstellen 
und die rennt von alleine. Nur wenn du duty_cycle oder Frequenz ändern 
willst musst du Register neu einstellen.

von tt2t (Gast)


Lesenswert?

schau mal hier, da ist PWM bei PICs beschrieben
Beitrag "Re: LED Fading mir PIC"

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.