Problema usando lenguaje micro code

Lo que pasa es que configuro solo los puertos para que sean salidas o entradas, y le doy compilar. Pero en proteus me muestra como si hubiera configurado para que se prendieran algunos pines, y pues obviamente no lo he hecho (para que me entiendan subo pantallazos de mi problema) , no se si a alguien ya le a sucedido esto, pero en caso de que no, me podrían ayudar con esto?, se los agradecería mucho ...

estos son los pantallazos
 

Adjuntos

  • error.png
    error.png
    78.2 KB · Visitas: 14
  • error2.png
    error2.png
    79.9 KB · Visitas: 5
Última edición:
Eso es normal porque estás configurando algunos puertos como salidas y están tomando valores por defecto.

En esta tabla se observan los valores iniciales de los puertos en el Power On Reset y Brown-Out Reset.

PORTS On POR & BOR.jpg

Allí se observa que los puertos B, C, D y E inician con un valor desconocido (x)
Para que eso no ocurra, debes establecer un estado inicial al iniciar el programa.

Nota:
Los pines de los puertos que no estén configurados con TRISX por defecto serán entradas.
Es decir, si quieres todo el puerto A como entradas, da igual no especificarlo o escribir TRISA = $FF

Aquí se observa lo que menciono; los registros TRIS tienen el valor 0xFF por defecto.

TRISX On POR & BOR.jpg

Por cierto, no tiene sentido que pongas 8 ceros si estableces el valor en modo decimal.
Eso se hace cuando usas el operador % para usar bits en modo binario.

Así que, TRISB = 0 es lo mismo que TRISB = 00000000 o que TRISB = %00000000

Suerte.
 
Última edición:
ok, muchas gracias bro, me fue de gran ayuda



posdata
la verdad es que venia de trabajar con assembler y este microcode es mucho mas simplificado.
 
Atrás
Arriba