Autor Tema: ayuda motor dc pic  (Leído 2344 veces)

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

Desconectado edacopa

  • PIC10
  • *
  • Mensajes: 1
ayuda motor dc pic
« en: 09 de Octubre de 2011, 12:58:36 »
Hola, el siguiente codigo hace girar un motor dc a una detrminada velocidad, lo que deseo es que no gire infinitamente sino que gire durante determinado tiempo y pare....

#include <16f876.h>
#fuses XT, NOWDT, NOPROTECT, NOLVP
#use delay(clock=4000000)
#define use_portb_kbd TRUE
#include <kbd.c>
#use standard_io (a)

void main (){
char k, KANT='0'; // ka valor del teclado, kant valor anterior del teclado
char PWMH=0, PWML=0;// semiperiodo alto y bajo
kbd_init();
port_b_pullups(true);


while (1){ //bucle infinito (siempre consulta el teclado)
k=kbd_getc(); // Lee en ASCII el valor dela tecla pulsada
if(k=='\0') k=kant; // sino se pulsa la tecla (\0) se usa el valor anterior
if((k=='*')||(k=='#')) k='0'; //si se pulsa * o # se asigna un valor cero

kant=k; // se guarda tecla pulsada
k=k-48; // se convierte de ASCII a valor numerico
PWMH=k*28; // proporcion en tre valor tecla y semi periodo Alto
PWML=255-PWMH; // semi periodo bajo

for(PWMH;PWMH>0;PWMH--){
output_HIGH(PIN_A0);

for(PWML;PWML>0;PWML--){
output_low(PIN_A0);
}
}

}
}

Desconectado korpaztk

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 202
Re: ayuda motor dc pic
« Respuesta #1 en: 25 de Octubre de 2011, 15:16:16 »
lo que deberías hacer simplemente es utilizar un timer con su debida interrupción para el manejo de este circuito, en el foto hay muchísima información sobre como implementar los timer.

Saludos.-
Korpaz.
Técnico Electronico.

El Papel Es Mi Mejor Psicologo


 

anything