TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: seinkraft en 06 de Octubre de 2008, 14:45:52
-
Eh empezado a probar Mikrobasic con el pic 16F876 ya que necesito controlar 12 servomotores, pero no logro hacer que me lea la entradas de RA0, 1 y 2.
Con el 16F84 lo habia echo funcionar pero con este no.
Que estoy haciendo mal?
http://img243.imageshack.us/my.php?image=16f876nf9.png
Program tail
main:
TRISA = 1
TRISB = 0
TRISC = 0
PORTB = 0
PORTC = 0
menu:
if PORTA.0 = 1 then
PORTB.0 = 1
else
PORTC.0 = 1
end if
if PORTA.1 = 1 then
PORTB.1 = 1
else
PORTC.1 = 1
end if
if PORTA.2 = 1 then
PORTB.2 = 1
else
PORTC.2 = 1
end if
goto menu
end.
-
Supongo que tienes los canales adc's activados prueba con cmcon=7 para hacerlos digitales. Y de paso lee la hoja de datos del 16F876 para que veas que es ese registro. O si es algun otro.
-
Eh puesto CMCON = 7 pero aun asi sigue sin leer las entradas RA.
main:
CMCON = 7
TRISA = 1
TRISB = 0
TRISC = 0
PORTB = 0
PORTC = 0
menu:
...
Es correcto no?
-
si existe ese registro si, ademas de que en el TRISA tendrias que declararlo como TRISA=7 porque tienes 1 y eso solo aplica a RB0 la entrada
-
Disculpame pero eh echo los cambios que me has dicho y sigue sin guncionar, le eh cambiado TRISA=1 a TRISA=7 y sigue sin leer las entradas :(
Disculpame soy muy nuevo.
-
Entonces date una vuelta por el tema de comenzando con Mikrobasic, y dale un ojo a las mimiguias si solo programas en una nueva hoja sin generar el Proyecto no va a funcionar.
-
Si, se compilarlo al proyecto y estube viendo los miitutoriales y me sirvieron bastante.
En otro foro de programacion de pics encontre un tema en el cual usan el PIC16F876 ytienen el siguiente codigo para RA:
main:
ADCON1 = 6 'Seteamos las esntradas como digitales
CMCON = 7 'Deshabilitamos los comaradores
TRISA = 1 'Seteamos RA para entradas
TRISB = 0
TRISC = 0
PORTA = 0 'Ponemos RA en 0
PORTB = 0
PORTC = 0
Pero aun asi no lee las entradas o no corre el programa, la verdad no se que pasa.
-
OK por eso decia que revisaras la hoja de datos en este caso usan Adcon1 y cmcon. Ahora lo del TRIS asi como lo declaran solo esta activa como entrada el RA0 las demas son salidas. Lo estas simulando o en la realidad, que cristal usas tienes la mclr a vdd??
-
No, por el momento lo estoy simulando en ISIS de proteus v.7 y el esquema lo podes ver en el primer post en la imagen.
El cristal esta a 4Mhz en la simulacion y el hex cargado en el pic. por eso no entiendo que esta fallando :/
-
Mira echale un ojo a este ejemplito que te hice y simula bien
-
Oh, muchisimas gracias!
Sinceramente le di la vuelta a todo el codigo y no lo pude adaptar, no se porque la verdad asi que termine renombrando el proyecto.
Gracias nuevamente.
-
Algunas veces el mkb no soporta el Copy&Paste lo que hace que den errores o no haga lo que deba hacer.