Autor Tema: Novato en el mando a distancia!?!  (Leído 1559 veces)

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

Desconectado NEWTOYBRAZIL

  • PIC10
  • *
  • Mensajes: 20
Novato en el mando a distancia!?!
« en: 13 de Julio de 2009, 21:36:36 »
Hola a todos, tengo un control remoto (transmisor / receptor) en 72mhz y quisiera convertir lo señal de (1 ms - 2 ms) a un valor binario y almacenar en una variable de ocho bits (byte) valores (0-255). :lol:
 
Cuando se utiliza un potenciómetro y convierte una tensión es fácil :D... Pero no puedo entender cómo convertir el ancho de pulso?   :roll:

Tengo que multiplicar o dividir un valor a tener otro valor binario? Y almacenar en la variable?  :shocked:

Voy a utilizar este valor para controlar la velocidad de un pequeño motor conectado en (PORTC.2)... Y el pulso se lee en (PORTB.0)... PIC16F877 se utiliza.

Mira el código que estoy tratando de usar:

DEFINE OSC 10
DEFINE CCP1_REG PORTC     ' Hpwm 1 pine 17 rc2 ccp1
DEFINE CCP1_BIT 2          ' Hpwm 1 pine bit
ADCON1 = 2      ' Configura. porta es analogas y porte es digitales

TRISA = %11111111          ' todo porta es entrada (analogas)
TRISB = %11111111          ' todo portb es entrada
TRISC = %00000011         ' todo portc es salida excepto RC0 y RC1
TRISD = %00000000         ' todo portd es salida
TRISE = %00000000          ' todo porte es salida

rx_sp VAR PORTB.0      ‘Pine del puerto donde estas conectado lo control remoto RX
speed VAR BYTE      ‘ Mi var para almacenamiento del valor del pulso????????????

led1 VAR PORTD.0      ‘ Pinos del portD para LED’s ahora no se utiliza
.
led2 VAR PORTD.1
led3 VAR PORTD.2
led4 VAR PORTD.3
my_pwm VAR BYTE                   ‘Utiliza para actualizar el valor del commando (HPWM)

start:
PULSIN rx_sp,1,speed
My_pwm = speed
HPWM 1,my_pwm,1000
GOTO start
END


Gracias por la ayuda. :-/