TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: seinkraft en 06 de Octubre de 2008, 14:45:52

Título: Problema con PIC16F876
Publicado 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

Código: [Seleccionar]
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.
Título: Re: Problema con PIC16F876
Publicado por: navaismo en 06 de Octubre de 2008, 14:50:41
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.
Título: Re: Problema con PIC16F876
Publicado por: seinkraft en 06 de Octubre de 2008, 14:57:32
Eh puesto CMCON = 7 pero aun asi sigue sin leer las entradas RA.

Código: [Seleccionar]
main:
         CMCON = 7
         TRISA = 1
         TRISB = 0
         TRISC = 0

         PORTB = 0
         PORTC = 0

    menu:
...
Es correcto no?
Título: Re: Problema con PIC16F876
Publicado por: navaismo en 06 de Octubre de 2008, 15:18:58
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
Título: Re: Problema con PIC16F876
Publicado por: seinkraft en 06 de Octubre de 2008, 15:23:05
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.
Título: Re: Problema con PIC16F876
Publicado por: navaismo en 06 de Octubre de 2008, 16:00:10
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.
Título: Re: Problema con PIC16F876
Publicado por: seinkraft en 06 de Octubre de 2008, 16:18:19
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:

Código: [Seleccionar]
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.
Título: Re: Problema con PIC16F876
Publicado por: navaismo en 06 de Octubre de 2008, 16:24:37
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??
Título: Re: Problema con PIC16F876
Publicado por: seinkraft en 06 de Octubre de 2008, 16:27:19
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 :/
Título: Re: Problema con PIC16F876
Publicado por: navaismo en 06 de Octubre de 2008, 16:51:58
Mira echale un ojo a este ejemplito que te hice y simula bien
Título: Re: Problema con PIC16F876
Publicado por: seinkraft en 06 de Octubre de 2008, 19:15:39
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.
Título: Re: Problema con PIC16F876
Publicado por: navaismo en 06 de Octubre de 2008, 20:01:37
Algunas veces el mkb no soporta el Copy&Paste lo que hace que den errores o no haga lo que deba hacer.