buenas a todos!! llevo poco tiempo en esto y mis conocimientos sobre electronica no son muy altos pero me llama mucho el tema y siempre ando haciendo cosillas, hace poco descrubri los pic en concreto el 16f84a y me decidi a trastearlo un poco. He de decir que este foro me ha ayudado muchisimo a ir comprendiendo terminos y a como hacer programas (si les puedo llamar asi) con un poquito de esto y un poquito de aquello aunque a veces me sigo liando como una calabaza. Bueno el tema esta enque copie un programa para mover un servo con 2pulsadores, lo retoque un poco con microcode studio y lo compile con pbp 246 hasta ahi ningun fallo. creo que el programa es para 16f84 y yo uso el A con cuarzo de 4Mhz . Las conexiones estan bien porque las he comprobado con otros programas y no me dan fallo ahora bien.. la estare liando con los tiempos? el servo es de un avion que desmonte y en su radio original si funciona bien, pero no se ni marca ni nada solo que Negro gnd Rojo +5 y Blanco es señal, Tamb he estado buscando por ahi pero casi todo lo que encuentro es en ASM y si ya me lio con pbp...
bueno aqui ta el codigo a ver si alguien me comenta algo
GRACIAS!!
'PicBasic Pro
'Control Manual servomotor usando 2 pulsadores
'Variables
b1 var byte
p1 var porta.0 ' el porta.0 pasa a llamarse p1 (pulsador 1)
p2 var porta.1 ' el porta.1 pasa a llamarse p2 (pulsador 2)
ser var portb.0 ' el portb.0 pasa a llamarse ser (servo)
'Inicia variables
b1 = 150 'inicia el servo en posicion central
start:
'posicion de salida de servomotor
pulsout ser, b1 'pone el servo en posicion de salida
'estado de pulsadores (p1 y p2)
if p1 = 0 then left1 'esta el pulsador de la izquierda activo?
if p2 = 0 then right1 'esta el pulsador de la derecha activo?
'Rutina para ajustar el valor de pausa (nom 18) para generar aprox 50hz
'de actualización
pause 18
goto start
'Rutinas para servomotor 1
left1:
b1 = b1 + 1 'aumenta el ancho de pulso
if b1 > 254 then max1 'Maximo 2.54 milisegundos
goto start
right1:
b1 = b1 - 1 'Desciende el ancho de pulso
if b1 < 75 then min1 'minimo .75 milisegundo
goto start
max1:
b1 = 254 'Cap max b1 at 2.54 milliseconds
goto start
min1:
b1 = 75 'Cap min b1 at .75 millisecond
goto start