Autor Tema: pwm input en picc de hitech  (Leído 1789 veces)

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

Desconectado donpato

  • PIC10
  • *
  • Mensajes: 2
pwm input en picc de hitech
« en: 05 de Noviembre de 2008, 05:29:29 »
saludos a todos, he programado poco los microcontroladores, y el ensamblador no le entiendo ni mad... asi que buscando aprendi a programar micros en c con el compilador de hitech que me ha dado excelentes resultados, pero como no hay mucha documentacion habeces es dificil dar con la rutina adecuada, bueno ya sin tanto rollo nesesito de su ayuda jejeje, estoy programando un sistema de control de servos por pwm pero lo interesante del caso es que este control de pwm tiene que ser con otro control pwm jajaja, mediante un acelerometro que entrega salidas digitales por pwm a 100 hz que en este caso seria mi entrada al micro, y las salidas serian los servos que trabajan a 40 o 50 hz, la rutina de salida ya la tengo establecida con Delays y condicionales if, pero no tengo idea de como leer las señales del sensor en el micro, espero haberme expresado.

por cierto aqui les dejo un ejemplo sencillo de la rutina de control con delays y entradas sencillas para un 16f84a

#include<pic.h>
#include<delay.c>


void main()
{
TRISA=0x1f;
TRISB=0;
PORTA=0x1f;
PORTB=0;

if(RA0==0&&RA1==0&&RA2==0)// vamos a la izquierda
{
RB0=1;           // IZQUIERDO
DelayUs(50);
RB0=0;
DelayUs(25);
RB1=1;
DelayMs(50);
RB1=0;
DelayMs(25);
}
   

if(RA0==0&&RA1==0&&RA2==1) // vamos a la derecha
{
RB0=1;
DelayMs(25);
RB0=0;
DelayMs(50);
RB1=1;           //DERECHO
DelayUs(25);
RB1=0;
DelayUs(50);
}
if(RA0==0&&RA1==1&&RA2==0)
{
RB0=1;         //ADELANTE
RB1=1;
DelayUs(25);
RB0=0;
RB1=0;
DelayUs(50);
}
if(RA0==0&&RA1==1&&RA2==1)
{
RB0=1;         //ATRAS
RB1=1;
DelayMs(25);
RB0=0;
RB1=0;
DelayMs(50);

}
}

espero me puedan ayudar con las entradas de pwm para el micro en c con el compilador hitech


 

anything