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).
Cuando se utiliza un potenciómetro y convierte una tensión es fácil
... Pero no puedo entender cómo convertir el ancho de pulso?
Tengo que multiplicar o dividir un valor a tener otro valor binario? Y almacenar en la variable?
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.