Modo 1 - PoliformaT

Modo 1 - PoliformaT Modo 1 - PoliformaT

poliformat.upv.es
from poliformat.upv.es More from this publisher
08.12.2012 Views

Expansión de Entrada/Salida digital Expansión de E/S con lógica discreta • Expansión de las salidas – Ejemplo: Construir 3 salidas S0 a S2 de 4 bits cada una con menos de 8 líneas en el uC • C) Mapeando los latches – Sw para escribir en una salida s el dato d /* Supondremos que el decodificador activa las salidas /CS de los latches en las direcciones 0x8000, 0x8001 y 0x8002 */ xdata byte salidas[3] at 0x8000; void escribir_sal (int s, char dato) { /* Esto genera un “MOVX @DPTR, A” con A = dato y DPTR = 0x8000, 0x8001 ó 0x8002 (en función de s) */ salidas[s % 3] = dato; /* también “dato & 0x0F” */ } Contenidos sujetos a una Licencia Creative Commons 2.5: Reconocimiento – No comercial – Sin Obra Derivada 26 de 55

Expansión de Entrada/Salida digital Expansión de E/S con lógica discreta • Expansión de las salidas – Ejemplo: Construir 3 salidas S0 a S2 de 4 bits cada una con menos de 8 líneas en el uC • Ejercicio: Diseñar una nueva solución – Mapeando dos latches de 8 bits – S0 y S1 en el primer latch, S2 en el segundo latch – Sw para escribir en una salida s el dato d Contenidos sujetos a una Licencia Creative Commons 2.5: Reconocimiento – No comercial – Sin Obra Derivada 27 de 55

Expansión de Entrada/Salida digital<br />

Expansión de E/S con lógica discreta<br />

• Expansión de las salidas<br />

– Ejemplo: Construir 3 salidas S0 a S2 de 4 bits cada una<br />

con menos de 8 líneas en el uC<br />

• C) Mapeando los latches<br />

– Sw para escribir en una salida s el dato d<br />

/* Supondremos que el decodificador activa las<br />

salidas /CS de los latches en las<br />

direcciones 0x8000, 0x8001 y 0x8002 */<br />

xdata byte salidas[3] at 0x8000;<br />

void escribir_sal (int s, char dato) {<br />

/* Esto genera un “MOVX @DPTR, A” con A = dato y<br />

DPTR = 0x8000, 0x8001 ó 0x8002 (en función de s) */<br />

salidas[s % 3] = dato; /* también “dato & 0x0F” */<br />

}<br />

Contenidos sujetos a una Licencia Creative Commons 2.5:<br />

Reconocimiento – No comercial – Sin Obra Derivada<br />

26 de 55

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!