Curso tutorial del PIC16F877

:cool:Hola mira te comparto estos tutos de dos profesores que mis respetos ahi encontraras los enlaces a sus pagina para que puedas investigar mas espero te sirva.

y un link para mi nuevo post de librerias.

Recomendacion para tu programa.

Si Vth y Vtl son demasiado grandes usa diodos para limitar su voltaje.

1 .- has primero un programa de lectura de un Voltaje de un potenciometro por ejemplo 100K de 0 a 5v.

2.- Arma tu Puente H y Pruebalo con un motor y un dipswitch que envie la combinacion.

3.- has un programa donde controles 1 motor con 4 señales:
Izquierda 1 0
Derecha 0 1
Paro 0 0
No aplica 1 1


4.- Despues has tu seudocodigo para tu robot y enlaza todo.

lectura de voltaje. AN0
si es menor arranca motor 1 IZQ
si es mayor arranca motor 1 DER

lectura de voltaje. AN1
si es menor arranca motor 2 IZQ
si es mayor arranca motor 2 DER

Claro es solo una idea muy general pero depende de tus condiciones espero te sirva dejame busco por ahi entre mis cachibaches a ver si tengo un codigo por que la verdad una vez hice uno bien sencillo solo que lo hice diferente sino te paso otro de la web jejejeje.:LOL:




Snakewather, primero que nada quiero felicitarte porque por personas como tu y otros sigue vivo este post por mas de 3 a~nos, estuve trabajando bastante con este pic hace algun tiemppo y desafortunadamente perdi todas mis librerias cuando se da~no mi disco duro, ahora me encuentro en un concurso de seguidores de linea y desidi utilizar el 16f877a, tenia pensado adquir los datos de los sensores(analogicos) mediante el 40106bcn, solo que los voltajes Vth y Vtl finalmente son demasiado grandes para mis mediciones, asi que decidi realizarlo mediante el convertidor analogico digital, recurro a ti porque me gustaria saber si tuvieras algun codigo o una idea que me pudiera servir, tanto para el acdc(manejo voltajes entre 0-1.9V) como para controlar el puente H( en este caso un lm293), te lo agradeceria enormemente y espero poder compartireste proyecto con uds. cuando lo tenga finalizado por si alguien mas se interesa en la robotica. Saludos
 

Adjuntos

  • 8_Modulo ADC PIC16F87xx.rar
    689.7 KB · Visitas: 45
  • Motores_EROPIC.rar
    105.6 KB · Visitas: 27
Hola, que tal ando realizando comunicacion en serie con labview, ya tengo mis programa de LV pero el del pic me esta dando problemas, lo que quiero hacer es que cuando llegue un dato de labview, en este caso un numero encienda un puerto del pic.
Mis datos a recibir son 128,64,32,16,8,4,2,1.

mi estructura es con if
if dat="1" then high portb.0
if dat="2" then high portb.1
if dat="4" then high portb.2
if dat="8" then high portb.3
if dat="16" then high portb.4

con los primeros numeros del 1 al 8 no tengo problemas, pero cuando meto un numero mayor al 10, me salen los siguientes errores:

ERROR Line 24: Bad expression.
ERROR Line 24: Bad expression or missing THEN.
ERROR Line 24: IF without a matching ENDIF.

a que se debe esto?
 
:LOL: Hola y bienvenido jejeje esto me pasaba cuando empezaba.

Podria ser por estas especificaciones si es que estas en Pic basic Pro:

'PARA ESPECIFICAR VALORES: prefijos usados.

% ' Valor Binario = ALT + 36 o Signo de porcentaje en teclado (5).
$ ' Valor Hexadecimal = ALT + 37 O Signo de peso en teclado(4).
16 ' Valor Decimal = sin prefijo
"A" ' Valor ASCII = puede ser tambien "H","O","L","A"


O tambien no estas terminando bien la sentencia:

IF() then...... : esta es una forma


If() then......ELSE.....ENDIF : esta es otra forma



Espero te sirva!!! :apreton:
 
Hola que tal, estoy aprendiendo a programa en ensamblador y no me queda claro eso de los retardos, que valores son los que tengo que cargar a mis registros para que logre un tiempo x??
podrian ayudarme
 
por el momento Te paso este programita para hacer retardos Lee el post desde el principio en los Docs viene una explicacion de como usar.:apreton:
 

Adjuntos

  • PicDeL_SP.rar
    83.7 KB · Visitas: 12
Atrás
Arriba