to get the file - OCW UPM
to get the file - OCW UPM
to get the file - OCW UPM
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
EJERCICIO 5)<br />
El diagrama de bloques de la figura muestra un teclado hexadecimal que se ha<br />
conectado al puer<strong>to</strong> 1 de un sistema basado en el microcontrolador 80c552 funcionando<br />
a una frecuencia de 12 Mhz. El teclado está dispues<strong>to</strong> en forma de matriz de modo que<br />
con 2N líneas digitales pueden leerse N 2 teclas, siendo N el tamaño del lado de la matriz<br />
(N=4 en este caso). El funcionamien<strong>to</strong> de dicho teclado es el siguiente:<br />
- Las columnas de la matriz del teclado están conectadas a las líneas P1[0..3] del<br />
puer<strong>to</strong> 1 configuradas como salidas.<br />
- Las filas de la matriz del teclado están conectadas a las líneas P1[4..7] del<br />
mismo puer<strong>to</strong> configuradas como entradas. Por estas líneas se lee el teclado.<br />
Si no hay ninguna tecla pulsada, se leerá un nivel al<strong>to</strong> en las cuatro debido a<br />
las resistencias de pull-up.<br />
P1_0<br />
Vcc<br />
P1_1<br />
Vcc<br />
P1_2<br />
R<br />
Vcc<br />
P1_3<br />
0 1 2 3<br />
R<br />
Vcc<br />
P1_4<br />
P1_5<br />
P1_6<br />
P1_7<br />
4 5 6 7<br />
8 9 A B<br />
C D E F<br />
R<br />
R<br />
- Cuando no hay ninguna tecla pulsada, las filas, P1[4..7], no están unidas a las<br />
columnas, P1[0..3].<br />
- El funcionamien<strong>to</strong> de este teclado se basa en que al pulsar una tecla se<br />
establece la conexión entre la fila y la columna correspondientes. Por ejemplo,<br />
mientras se mantenga pulsada la tecla 5, la línea P1_2 y la P1_5 permanecen<br />
cor<strong>to</strong>circuitadas.<br />
- Si se escribe un cero en una columna y se ha pulsado una tecla de esa columna,<br />
dicho cero se leerá por alguna de las filas. Conociendo en qué columna se<br />
escribió el cero y por qué fila se ha leído, se puede identificar la tecla pulsada.<br />
- Por tan<strong>to</strong>, para detectar si se ha pulsado alguna tecla y cuál de ellas, el<br />
algoritmo necesario es el siguiente: escribir un cero en una de las columnas y<br />
leer las filas; si ninguna es cero, no hay tecla pulsada o no pertenece a esa<br />
columna; en<strong>to</strong>nces, se escribe el cero en la siguiente columna, volviendo a leer<br />
las filas y así sucesivamente hasta haber escri<strong>to</strong> el cero en <strong>to</strong>das las columnas.<br />
Se pretende diseñar el sistema para que se comporte del siguiente modo:<br />
4