Configuración de Pic16f88

Hola, he estado buscando información sobre el PIC16f88 (adicional a la del datasheet), en específico para programar en assembler, pues ya lo intenté en varias ocasiones y pese a que en mplab no marca errores, el circuito físico no funciona como debería.
Ya revisé mi circuito, todo está correcto, he buscado sobre todo información de las palabras de configuración, dónde creo que está el problema. Ya copié y pegué la parte de configuración de un programa que hallé en internet diseñado para el mismo pic, pero sigue sin funcionar. Adjunto el código fuente en el archivo de texto. La descripción del programa es:

PROGRAMA CON ENTRADAS DE (RA0 A RA7) Y SALIDAS EN (RB0 A RB3)
SUMA EL NIBBLE 1 Y EL 2 DEL PUERTO A, Y SEGÚN EKL RESULTADO: ;
-RESULTADO IMPAR ENCIENDE RB0
-RESULTADO PAR ENCIENDE RB1
-RESULTADO MENOR A 20 ENCIENDE RB2
-SI EL RESULTADO ES MAYOR A 20 ENCIENDE RB3

No sé si se deba desactivar alguna de las herramientas de las que dispone el pic, he revisado el datasheet, pero no he encontrado algo relacionado hasta ahora, espero que me puedan ayudar.
 

Adjuntos

  • prog.txt
    2.5 KB · Visitas: 18
Hola @userdaniel te comento que mas que la palabra de configuracion, el problema esta en tu programa.
dentro de asm no esta contemplado las estructuras If, while, for,...
asi que por ahi anda el error.

adjunto una correccion a tu programa mas silmulacion (proteus7.10, 7.10 no es la misma 7.1).
 

Adjuntos

  • pic_16f88.rar
    80.2 KB · Visitas: 9
Hola @userdaniel te comento que mas que la palabra de configuracion, el problema esta en tu programa.
dentro de asm no esta contemplado las estructuras If, while, for,...
asi que por ahi anda el error.

adjunto una correccion a tu programa mas silmulacion (proteus7.10, 7.10 no es la misma 7.1).



Muchas gracias por la respuesta, acabo de revisar el uso de IF y ahora entiendo que no es una instrucción, sino una directiva, lo estoy corrigiendo por medio de el uso de la instrucción btfsc y parece que todo va bien. Creo que fué un error muy obvio, pero pues apenas estoy iniciando con esto de los microcontroladores PIC, de nuevo, gracias.
 
Hola chicos:

Estoy usando un PIC16f88 en un circuito. Querría usar los puertos RB6, RB7 para salida, pero no se funcionan. Yo sé para mucha gente tenía problema para utilizar estos puertos de este tipo procesor, sin embargo no he encontrado la solución por internet. Lo que quiero hacer es muy simple: encender y apagar los puertos del codigo para controlar otro circuito. Los otros puertos se funcionan con la misma configuración.
Lo que he hecho para solucionar la problema, los bites TRISB6, TRISB7 he borrado, el register ANSEL tambien está borrado, porque todos los puertos son digitalicos. En la palabra de configuración el fuse DEBUG está apagado. (DEBUG_OFF) Pero tengo duda que este fuse se funcione.
Estoy usando compilador C de HTC.
Por desgracia no tengo más idea, por eso os pido ayudarme.

PD.: Disculpame por mi español.:oops:
 
Atrás
Arriba