Autor Tema: ahora el pwm al pelo pero el led no!!  (Leído 1538 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado fastyx

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 353
ahora el pwm al pelo pero el led no!!
« en: 06 de Enero de 2006, 18:12:00 »
Amigos: alguien podria decirme porque en proteus no parpadea el led en rc5
el pwm anda fantastico(0 a 5 volts aplicados a ano,salida por pin 13 del pwm)

// CONFIGURACIÓN
#include <16F873A.h>
#device adc=8
#fuses NOWDT, hs, PUT, NOPROTECT, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG
#use delay(clock=10000000)
#ZERO_RAM

// VARIABLES
// definiciones básicas

#byte porta= 0x05
#byte portb= 0x06
#byte portc= 0x07

#byte trisa= 0x85
#byte trisb= 0x86
#byte trisc= 0x87


////////////////////////////////////////////////////////////////////////////////
#bit  led= 0x07.5//aca define al bit del led con la direccion de memoria 0x07
                 // del puerto c y despues del punto indica que es el pin 5!
//////////////////////////////////////////////////////////////////////////////////////////////


// FUNCIONES

main()
{
   setup_adc_ports (AN0);                      
   setup_adc (ADC_CLOCK_DIV_16);      
   setup_ccp1 (CCP_PWM);  
   while (true)
   {
      led= 1; delay_ms(1000);led= 0; delay_ms(500);
      set_pwm1_duty (read_adc ());
   }
}


Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: ahora el pwm al pelo pero el led no!!
« Respuesta #1 en: 07 de Enero de 2006, 01:02:00 »
Prueba a poner esto trisc=0 antes de entrar al bucle.

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: ahora el pwm al pelo pero el led no!!
« Respuesta #2 en: 10 de Enero de 2006, 00:20:00 »
Yo pondría para lo del LED set_tris_c(0x00)

Para lo del pwm, ¿no programas el TMR2 cargando el PR2? Creo que faltaría setup_timer_2(.....)

Un saludo

Desconectado fastyx

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 353
RE: ahora el pwm al pelo pero el led no!!
« Respuesta #3 en: 10 de Enero de 2006, 09:51:00 »
perfecto: funciono lo del led

en cuanto a colocar el timer 2 ,me parece que si estoy tomando el duty en funcion de una entrada analogica que inyecto en an0,no haria falta.

es esto correcto?

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: ahora el pwm al pelo pero el led no!!
« Respuesta #4 en: 10 de Enero de 2006, 10:45:00 »
Creo que no.

El pwm siempre lo tienes que usar para un determinado periodo (frecuencia) fijo, y a partir de este periodo cargar Dutys variables.

Ejemplos:

setup_timer_2(T2_DIV_BY_16,124,1);       //f=500Hz (T=2ms)
set_pwm1_duty(62);                                 // Duty=1ms

setup_timer_2(T2_DIV_BY_16,30,1);       //f=2kHz (T=0,5ms)
set_pwm1_duty(16);                                // Duty=250us

Un saludo

Desconectado fastyx

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 353
RE: ahora el pwm al pelo pero el led no!!
« Respuesta #5 en: 12 de Enero de 2006, 12:32:00 »
entiendo.

lo que me confundio fue que fui comentando partes del programa en proteus y me fijaba que hacia el simulador.Cuando saqué la directiva del timer 2, siguio andando.
pienso que es probable que el compilador elija alguna frecuencia de trabajo por defecto.

gracias por la ayuda!!