TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: JoseLuis2801 en 16 de Mayo de 2014, 20:07:22

Título: registro LAT
Publicado por: JoseLuis2801 en 16 de Mayo de 2014, 20:07:22
Hola, para que sirve ese registro ? , el Lat de un puerto . p.ej. LATA , mas que nada un ejemplo practico para que me entere mejor.


Gracias

Un saludo
Título: Re: registro LAT
Publicado por: HJG en 16 de Mayo de 2014, 20:20:14
Es el registro donde debes escribir si quieres cambiar el estado de uno o varios pines de ese puerto

bsf   LATA,0 ; pone a "1" el bit 0 del puerto A

clrf   LATA   ; Pone a cero todo el Puerto A

Para leer un puerto utilizar PORT y para escribirlo el LAT.
Título: Re: registro LAT
Publicado por: JoseLuis2801 en 17 de Mayo de 2014, 04:51:23
Ya, si no digo que no, pero es que si yo pongo

BSF    PORTA,0

Lo mismo,  me saca un 1 por la patita del bit 0.

Luego entonces, para algo más servirá.........

Título: Re: registro LAT
Publicado por: MerLiNz en 17 de Mayo de 2014, 07:46:10
Sirve solamente para lo que te ha explicado HJG la diferencia entre cambiar los valores en PORT y LAT es que en LAT lees el valor que tiene el pin, mientras que en PORT lees el valor de voltaje actual del pin.

Es una buena practica usar PORT para leer y LAT para escribir a pesar de que con port tambien "funcione" pero no es lo correcto.
Título: Re: registro LAT
Publicado por: JoseLuis2801 en 17 de Mayo de 2014, 10:54:16
Sirve solamente para lo que te ha explicado HJG la diferencia entre cambiar los valores en PORT y LAT es que en LAT lees el valor que tiene el pin, mientras que en PORT lees el valor de voltaje actual del pin.

Es una buena practica usar PORT para leer y LAT para escribir a pesar de que con port tambien "funcione" pero no es lo correcto.

Pero que diferencia hay entre leer el valor que tiene el pin  (el valor del pin en otro momento, en cual :roll:), y leer el valor de voltaje actual del pin  :?:

Vale, si yo si tengo que poner LAT para escribir lo pongo, pero yo sigo sin ver la diferencia.......... :roll:

Título: Re: registro LAT
Publicado por: BrunoF en 17 de Mayo de 2014, 11:04:50
Que el estado lógico (LAT) del pin no tiene por qué necesariamente coincidir con su lectura de voltaje (PORT). Sea por demoras en la propagación del estado lógico a voltaje presente, o bien debido a un cortocircuito, etc.
Título: Re: registro LAT
Publicado por: MerLiNz en 17 de Mayo de 2014, 12:23:07
El estado lat es el que tu le pones por ejemplo 1 y el port es el estadi real del pin si por ejemplo en poner el pin en 1 tarda un tiempo determinado si lees port justo despues de lat entonces te marcara 0 hasta que este tome el estado real de 1. Lo mismo ocurre si por ejemplo tienes un cortocircuito tu pones el lat a 1 sin embargo el voltaje corresponde a 0 pues por mucho q pongas a 1 el estado de port sera 0.
Otra cosa que recuerdo tambien es que lat te cambia el pin directamente sin comprobar el estado de este y port si lo cambias primero comprueba su estado y luego escribe el estado:
Lat: cambia estado
Port: lee estado, comprueba estado, lo escribe en caso que sea  necesario.
Si escribes en port 1 y este detecta que esta en 1 no cambia el estado.  Sin embargo lat la cambia independiente de su estado.
Espero q lo hayas comprendido, suele ser complejo al principio sin embargo no te compliques utilizas lat parq cambiar el estado y port para leer el estado del pin.
Título: Re: registro LAT
Publicado por: JoseLuis2801 en 17 de Mayo de 2014, 19:20:53
Ahora si, vale muchas gracias, es que al texto en ingles del datasheet no le sacaba el sentido.

Bueno, PORT para leer y LAT para escribir. 8)

 ;-)