Salida DC con señal PWM

#1
Bueno, la pregunta es lo siguiente, estoy implementando una tarjeta de adquisicion de datos con el PIC16F877A, y necesito generar una señal DC, con un codigo que se transmite desde el computador en formato serial, ya me salio a mil maravillas la recepcion y todo lo demas, pero no he podido generar la señal DC porque el modulo PWM no funciona, mas especificamente no lo he podido hacer funcionar.

Por favor si alguien ha trabajado con la señal PWM del PIC16F877A por favor ayudeme. O
cualquier otra ayuda me sera de utilidad.

PD. Ya revice www.microchip.com pero nada......

Gracias por la ayuda.
 
#2
Evjair dijo:
Bueno, la pregunta es lo siguiente, estoy implementando una tarjeta de adquisicion de datos con el PIC16F877A, y necesito generar una señal DC, con un codigo que se transmite desde el computador en formato serial, ya me salio a mil maravillas la recepcion y todo lo demas, pero no he podido generar la señal DC porque el modulo PWM no funciona, mas especificamente no lo he podido hacer funcionar.

Por favor si alguien ha trabajado con la señal PWM del PIC16F877A por favor ayudeme. O
cualquier otra ayuda me sera de utilidad.

PD. Ya revice www.microchip.com pero nada......

Gracias por la ayuda.
En este mismo foro hay un tutorial buenísimo de pwm creo que lo hizo mamu, pero no recuerdo donde esta, búsquelo y seguro le servirá.

Saludos
 
#3
Si EinSoldiatGott, gracias pero ya revice ese mensaje, pero trabaja con el 16f84a y yo lo necesito pero con el 877a, pues porque se debe incluir en el mismo pic donde va el resto de la programacion de la tarjeta de adquisicion de datos..

Pero gracias por ayuda...
 
#4
yo tengo un problema con el 877a pero en configuracion de entradas porque no me capta los pulsos de entrada no se que mas hacer esta es mi configuracion de entradas y donde no me lo capta es en btfsc porta,0 no capta el pulso ni en simulacion ni en la vida real.
LIST p=16f877a
include "p16f877a.INC"
radix hex
conteo equ 0x20
reg1 equ 0x21
reg2 equ 0x22
reg3 equ 0x23
org 0x00
goto inicio
;---------configuracion----;
inicio bsf STATUS,5
movlw 0x06
movlw b'0000000'
movwf PORTC
movlw b'0000000'
movwf PORTD
bcf STATUS,5
clrf PORTA


;-------programa--------------;sc=1 ss=0

continue movlw b'1000000';anodo PORTC cero
movwf PORTC
movlw b'0111111';catodo PORTD cero
movwf PORTD
start movf PORTA
btfsc PORTA,0
goto pro
goto start
 
#6
Hola evjair:

Yo uso el PIC 18F6620 pero por lo que he visto es igual. De todass formas aqui te dejo una sesion tipica para el PWM de tu PIC que lo he cogido del datasheet: PAG 68.

8.3.3 SETUP FOR PWM OPERATION
The following steps should be taken when configuring
the CCP module for PWM operation:
1. Set the PWM period by writing to the PR2 register.
2. Set the PWM duty cycle by writing to the
CCPR1L register and CCP1CON<5:4> bits.
3. Make the CCP1 pin an output by clearing the
TRISC<2> bit.
4. Set the TMR2 prescale value and enable Timer2
by writing to T2CON.
5. Configure the CCP1 module for PWM operation.

Te adjunto mi programa , pero cuidado que los registros pueden que esten cambiados de direccion con respecto a tu PIC no lo se. Tendrias que mirarlo.

Saludos.
 

Adjuntos