Sunteți pe pagina 1din 26

UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA

FACULTAD DE SISTEMAS Y TELECOMUNICACIONES


CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

CARRERA CICLO CODIGO NOMBRE DE LA ASIGNATURA


Electronica y 2017-1 Microprocesadores
Telecomunicaciones

PRACTICAS Microprocesadores DURACION


NOMBRE DE LA PRACTICA Interrupciones, teclado matricial, retardos. 2h

PRACTICA 8

1 OBJETIVOS

 Relacionarse con el uso del simulador 8051 usando el subsistema de conteo


y temporizaciòn del 8051.
 Explotar las posibilidades que Brinda el Kit de desarrollo para el trabajo con el
Sistema de conteo y temporizaciòn segùn los conocimientos adquiridos.
 Aprender el manejo del teclado 4x4 con el microcontrolador AT89C52.
 Estudiar las subrutinas de gestión de un teclado matricial 4x4.
 Estas subrutinas detectan la tecla pulsada, la identifica y le asigna un código
hexadecimal.
 El código HEX de la tecla pulsada se visualiza en un display de 7 segmentos
por un lapso de 255 milisegundos.
 Entender el uso de la directiva INCLUDE.
 Utilizar rutinas para la eliminación de rebotes mecánicos en el teclado.

2 FUNDAMENTO TEORICO

Subsistemas fundamentales
El 8051 tiene 2 temporizadores/contadores de 16 bits cada uno, llamados Timer 0 y Timer 1
respectivamente. Ambos pueden ser configurados para operar como temporizadores (timers) o
como contadores (counters). Cuando se trabaja como temporizador, el registro contador se
incrementa cada ciclo de máquina (la temporización se produce contando los ciclos de máquina
hasta “sobrepasar” el valor prefijado).
¿Qué es una interrupción?

Una interrupción en Microprocesadores, es como lo dice su palabra una interrupción que se


realiza al proceso que está realizando en ese momento el procesador de tal manera que el
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

procesador debe dejar la labor que estaba ejecutando para atender la interrupción solicitante, una
vez atendida puede retornar al proceso donde lo dejo.

Es como un subprograma, pero puede ser llamado vía una interrupción por hardware y detiene
al programa principal en cualquier ejecución permitiéndole luego retornar a la labor que se
estaba ejecutando.

INTERRUPCIONES DEL MICROCONTROLADOR

Dependiendo del modelo de microcontrolador se tienen distintas interrupciones, pues esto


depende de los recursos con los cuales cuenta el microcontrolador, esto varía de modelo a
modelo. Por ejemplo en el microcontrolador AT89c51 también de la familia 8051, este posee
los siguientes recursos que solicitan interrupción.

 Interrupción Externa 0
 Timer 0
 Interrupción Externa 1
 Timer 1
 Puerto serie Rx y Tx

Adicionalmente el microcontrolador AT89c52 posee un recurso adicional al at89c51, posee un:

 Timer 2

Además de poseer más memoria de programa y memoria de datos.

¿Qué es un teclado matricial?

Un teclado matricial es un
dispositivo que agrupa varios
pulsadores y permite
controlarlos empleando un
número de conductores inferior
al que necesitaríamos al usarlos
de forma individual. Podemos
emplear estos teclados como un
controlador para un autómata o
un procesador como Arduino.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

Estos dispositivos agrupan los pulsadores en filas y columnas formando una matriz, disposición
que da lugar a su nombre. Es frecuente una disposición rectangular pura de NxM columnas,
aunque otras disposiciones son igualmente posibles.

Los teclados matriciales son frecuentes en electrónica e informática. De hecho, los teclados de
ordenador normales son teclados matriciales, siendo un buen ejemplo de teclado matricial con
disposición no rectangular.

Una de las desventajas de usar un teclado matricial es que pueden causar problemas cuando se
pulsa más de una tecla simultáneamente. Este es uno de los motivos por el que los teclados de
ordenador usan una disposición no rectangular, agrupando ciertas teclas en circuitos diferentes
(Ctrl, Alt, Shift).

ESQUEMA DE CONEXIÓN

El esquema de conexión es sencillo.


Simplemente conectamos todos los pines a
entradas digitales de Arduino. Por ejemplo, en
el ejemplo de un teclado de 4×4 el esquema
quedaría de la siguiente forma.

FUNCIONAMIENTO DEL TECLADO MATRICIAL

RETARDOS

Retardo por programa de 256 instrucciones DJNZ. El tiempo de un retardo por programa no
tiene un valor fijo, este depende de las instrucciones que forman parte del bucle (los ciclos
máquina utilizados) y de la velocidad del reloj del microprocesador (CPU).
El bucle se realiza sobre la instrucción DJNZ, la cual necesita dos ciclos máquina para su
ejecución. Cada ciclo máquina utiliza 12 periodos de reloj. Si la frecuencia de la CPU es de
12MHz, el tiempo empleado en realizar las 256 iteraciones es de 512 μs (microsegundos).
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

3 PROCEDIMIENTO
3.1 EQUIPO
EQUIPO NECESARIO MATERIAL DE APOYO
 Computadora.  Practica digital
 Software DosBox  Pizarrón
 Software emu8086.  Marcadores

3.2 DESARROLLO DE LA PRACTICA

Reconocer los diferentes esquemas se pueden utilizar en la práctica.

La Figura 3.3 muestra el esquema que contiene el hardware para la


simulación de esta práctica de laboratorio.

Empleando este hardware:


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

1.
Figura 2.3. Esquema para la simulación del hardware de la práctica de
laboratorio Nº 3.

3. Escriba un programa para que los LEDs conectados a la salida del


Puerto 2 (P2) permanezcan apagados mientras no se presione la tecla
SW1. Al presionar SW1 el encendido de los LEDs debe producirse
como se describe en el ejercicio 1. A partir de aquí cada vez que se
presione SW1 el encendido de los LEDs se producirá en el sentido
contrario al que llevaba. Para la realización del programa emplee las
subrutinas escritas en los ejercicios anteriores y ten en cuenta los
siguientes segmentos de programas.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

Solución al ejercicio:
;******************************************
;** SUBSISTEMA DE CONTEO Y TEMPORIZACIÓN **
;******************************************

$MOD51

PDATOS EQU P2
SW1 EQU P0.0

; Vector RESET
ORG 0000H
;LJMP INICIO

; programa principal
; ORG 50H
INICIO:
MOV TMOD, #01H ;configuración del timer o en modo1
MOV PDATOS,#00H

LAZO:JNB SW1,DERECHO ;si SW1 está presionada salta a DERECHO


JMP LAZO
; subrutina que muestra el encendido de los leds de izq. a der. de
; forma continua
; .

ORG 80H
DERECHO:CLR A
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1; verifica el estado de la tecla SW1. Si
; está presionada salta a INVERSO.
MOV A,#01H
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
MOV A,#03H
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
MOV A,#07H
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
MOV A,#0FH
MOV PDATOS,A
LCALL DEMORA_1S
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

LCALL TECLA1
MOV A,#1FH
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
MOV A,#3FH
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
MOV A,#7FH
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
MOV A,#0FFH
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
lJMP DERECHO ;subrutina que muestra el encendido de
;los leds de der a izq de forma
;contiuna.

ORG 150H
INVERSO:CLR A
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2

MOV A,#80H
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2 ; verifica el estado de la Tecla SW1, Si
; està presionada salta a DERECHO.

MOV A,#0C0H
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2
MOV A,#0E0H
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2
MOV A,#0F0H
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2
MOV A,#0F8H
MOV PDATOS,A
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

LCALL DEMORA_1S
LCALL TECLA1
MOV A,#0FCH
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2
MOV A,#0FEH
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2
MOV A,#0FFH
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2
JMP INVERSO

; subrutina de demora de 1
segundo ORG 230H

DEMORA_1S:MOV R0,#14 ; inicializo un contador


INI_TIMER:SETB TR0 ; habilito el timer 0
; espero por flag activado por
SAL1:JNB TF0,SAL1 desborde
CLR TF0 ; limpio el bit activado
CLR TR0 ; deshabilito el timer 0
; repito el procedimiento hasta
DJNZ R0,INI_TIMER R0=0
RET

ORG 250H
TECLA1:JNB SW1,SAL2
JMP FIN1
SAL2:LCALL INVERSO
FIN1:RET

; subrutina para comprobar el estado de SW1 cuando los leds encienden


; en la dirección INVERSO.
ORG 300H
TECLA2:JNB SW1,SAL3
JMP FIN2
SAL3:LCALL DERECHO
FIN2:RET
END
Para realizar la conexión de cada una de las secciones del kit de desarrollo
que se emplean en esta práctica:
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

Utilice un cable multicolor F-F de 8 pines para realizar la conexión de los


conectores CON 3 y CON 23, pertenecientes a las secciones 2 y 9
respectivamente. De igual forma emplee otro cable multicolor F-F de 8 pines
para conectar los conectores CON 4 y CON 5, pertenecientes a las secciones
2 y 3 respectivamente.
Utilice un cable multicolor F-F de 2 pines para la conexión entre los bits del 0
y 1 del Puerto 0 (P0) correspondientes a los pines del 1 y 2 del conector CON
26 en la sección 9 y los pines 1 y 2 del conector CON 6 en la sección 4 (Figura
3.6).

Figura 3.4. Esquema para la conexión de las secciones necesarias para la


práctica de laboratorio Nº 3.

Verifique que el cable multicolor F-F de 6 pines permanezca conectado entre los
conectores CON 27 en la sección 9 y CON 41 en la sección 12. Recuerde que
este cable es imprescindible para la programación del microcontrolador.
PARTE A)
1. INTRODUCCION
2. DIAGRAMA DE FLUJO DEL TECLADO
3. ESPECIFICACIONES
4. PROGRAMA PRINCIPAL
5. ARCHIVOS INCLUDE
6. SIMULACION EN PROTEUS
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

1) INTRODUCCION

Para eliminar los rebotes es necesario introducir un retardo por software de aproximadamente 20
milisegundos cuando se pulsa una tecla de la siguiente manera:

SIN CON
ANTIREBOTE ANTIREBOTE

TECLA TECLA

APRETADA APRETADA
NO
NO
SI SI

SOLTADA
NO RETARDO 20
MILISEGUNDOS
SI

SOLTADA
CONTINUA NO
PROCESO
SI

CONTINUA
PROCESO

2. DIAGRAMA DE FLUJO DE EXPLORACION DE TECLADO


De igual manera cuando se utiliza un teclado para evitar molestias se emplea un antirebote por
software para cada tecla. Observe el uso de un retardo DELAY20MS de 20 milisegundos en las
subrutinas EXPTECLADO y DEJEPULSAR. Observe que si el usuario no aprieta ninguna tecla
la exploración continua indefinidamente.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

EXPLORAR
TECLADO

HABILITAR FILA 0

LEER
COLUMNAS

TECLA
APRETADA
EN ESTA
FILA?

no

si
HABILITAR FILA 1

LEER
COLUMNAS

TECLA
APRETADA
si
EN ESTA
FILA?

no no

HABILITAR FILA 2
ELIMINAR
REBOTES

LEER
COLUMNAS IDENTIFICA FILA
Y COLUMNA DE
TECLA
si
APRETADA
TECLA
APRETADA
EN ESTA
FILA?
SALIR
no

HABILITAR FILA 3

LEER
COLUMNAS
si

TECLA
APRETADA
EN ESTA
FILA?
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

3) ESPECIFICACIONES
PRACTICA # 09
P2.0
R1
P2.1
R2
P2.2
R3
330R
P2.3
R4
330R
P2.4
R5
330R
R6
330R

AT89C52 P2.5
P2.6
R7
330R
330R
330R
U1
19 39
XTAL1 P0.0/AD0
38
P0.1/AD1
C1 37 P2.7
P0.2/AD2
22u 18 36
XTAL2 P0.3/AD3
35
P0.4/AD4
34
P0.5/AD5
33
P0.6/AD6
9 32
RST P0.7/AD7

R8 21 P2.0
P2.0/A8
22 P2.1
200R P2.1/A9
23 P2.2
P2.2/A10
29 24 P2.3
PSEN P2.3/A11
30 25 P2.4
ALE P2.4/A12
31 26 P2.5
EA P2.5/A13
27 P2.6 P1.0
P2.6/A14
P2.7/A15
28 P2.7
A 7 8 9
P1.0 1 10
P1.0 P3.0/RXD
P1.1 2 11 P1.1
P1.2 3
P1.1
P1.2
P3.1/TXD
P3.2/INT0
12
B 4 5 6
P1.3 4 13
P1.3 P3.3/INT1
P1.4 5 14
P1.4 P3.4/T0
P1.5 6 15 P1.2
P1.6 7
P1.5
P1.6
P3.5/T1
P3.6/WR
16
C 1 2 3
8 17
P1.7 P3.7/RD
P1.7

ON
80C51 P1.3
D
C 0 = +

4
P1.7

P1.6

P1.5

P1.4

a. Guardar en esta carpeta el archivo “include” de nombre


GESTIONTECLADO.ASM, es decir en el mismo directorio donde creará su
programa principal para que puedan ser detectados por el ensamblador.
b. Comprenda la función de la directiva INCLUDE.
c. Construya el circuito indicado arriba con el microcontrolador 8051.
d. Es su obligación entender cada detalle de la práctica.

4) EL PROGRAMA PRINCIPAL ES EL SIGUIENTE

;=========================================================
; PRACTICA # 08
;==============================================================
;
; PROPOSITO:
; Estudiar las subrutinas de gestión de un teclado matricial 4x4.
; Estas subrutinas detectan la tecla pulsada, la identifica y
; le asigna un código Hexadecimal. El código HEX de la tecla pulsada se
; visualiza en un display de 7 segmentos por un lapso de 255 milisegundos.
;
; Usar la directiva INCLUDE para incorporar al programa fuente el archivo
; GESTIONTECLADO.ASM que contiene las subrutinas de gestión del teclado,
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

; también las subrutinas DELAY20ms y DELAY255ms para la eliminación de


; rebotes y pausa para el display respectivamente.
; Observe la posición en este programa fuente de la directiva INCLUDE.
; Procesador: AT89C52 de Intel
;
; Crystal: 12 MHz
;
;==============================================================
; PROGRAMA PRINCIPAL
; Este programa permite visualizar momentáneamente en el display de 7 segmentos el
; valor hexadecimal de la tecla pulsada.
;==============================================================
ORG 000H
INICIO: NOP
MOV A,#0
MOV P2,A ;PUERTO P2 SALIDA
SETB P2.7
MOV A,#0F0H
MOV P1,A ;P1.0, P1.1, P1.2 y P1.3 salida - filas
NOP ;P1.4, P1.5, P1.5 y P1.7 entradas -colum
NOP
LAZO: LCALL EXPTECLADO ;explora teclado
LCALL BUSCAHEX ;busca codigo hex asociado
MOV DPTR,#HEXA7SEG ;direcc tabla 7seg
MOVC A,@A+DPTR ;lee codigo de 7 segmentos
MOV P2,A ;codigo 7 seg a display
CLR P2.7 ;habilita display
CALL DELAY255MS ;pausa
SETB P2.7 ;deshabilita display
CALL DEJEPULSAR ;dejar de pulsar tecla actual
SJMP LAZO ; repite proceso

$INCLUDE (GESTIONTECLADO.ASM)
END ; FIN
;==============================================================
5) EL ARCHIVO “INCLUDE” ES EL SIGUIENTE

; GESTIONTECLADO.ASM
;
; CONTIENE SUBRUTINAS PARA GESTION DE UN TECLADO MATRICIAL
; 4X4
;
; SUBRUTINA DEJEDEPUSAR.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

; SUBRUTINA EXPTECLADO
; SUBRUTINA BUSCAHEX
; SUBRUTINA DELAY20MS para eliminar rebotes en teclado
; SUBRUTINA DELAY255MS para una pausa en display de 7 segmentos

;==============================================================
; TABLA DE CODIGO HEX PARA CADA FILA DEL TECLADO MATRICIAL 4X4
;
; CODIGO_F0: DB 7H, 8H, 9H, 0FH
; CODIGO_F1: DB 4H, 5H, 6H, 0EH
; CODIGO_F2: DB 1H, 2H, 3H, 0DH
; CODIGO_F3: DB 0H ,0AH,0BH,0CH

DEJEPULSAR:
; PERMANECE EN ESTA SUBRUTINA HASTA QUE EL USUARIO LEBERE LA
; TECLA APRETADA Y VUELVA A APRETAR UNA SEGUNDA TECLA, CON
; ESTA ULTIMA ACCION SE SALE DE LA SUBRUTINA.
; ESTO CON LA FINALIDAD DE NO REPETIR LA MISMA TECLA SI FUERA EL
; CASO.
;
K1: NOP
MOV P1,#0F0H
MOV A,P1
ANL A,#0F0H
CJNE A,#0F0H,K1
K2: ACALL DELAY20MS
MOV A,P1
ANL A,#0F0H
CJNE A,#0F0H,OVER
SJMP K2
OVER: ACALL DELAY20MS
MOV A,P1
ANL A,#0F0H
CJNE A,#0F0H,OVER1
SJMP K2
OVER1: RET;
;==============================================================
EXPTECLADO:
; Esta subrutina explora contínuamente el teclado matricial 4x4. Si encuentra
; una tecla apretada sale de la subrutina con la dirección en DPTR de la
; Fila de Tabla de código HEX, y además en el nibble alto del registro A se tiene la
; información (un cero) de la columna en la que se encuentra la tecla apretada.
;
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

MOV P1,#0FEH;habilita fila 0.


MOV A,P1
ANL A,#0F0H
CJNE A,#0F0H,FILA0
;-----------------------------------------------------------------
MOV P1,#0FDH;habilita fila 1.
MOV A,P1
ANL A,#0F0H
CJNE A,#0F0H,FILA1
;-----------------------------------------------------------------
MOV P1,#0FBH;habilita fila 2.
MOV A,P1
ANL A,#0F0H
CJNE A,#0F0H,FILA2
;-----------------------------------------------------------------
MOV P1,#0F7H;habilita fila 3.
MOV A,P1
ANL A,#0F0H
CJNE A,#0F0H,FILA3
LJMP EXPTECLADO
;-----------------------------------------------------------------
FILA0: ACALL DELAY20MS ; ELIMINA REBOTES
MOV DPTR,#CODIGO_F0 ;apunta a fila 0
RET
FILA1: ACALL DELAY20MS
MOV DPTR,#CODIGO_F1 ; apunta a fila 1
RET
FILA2: ACALL DELAY20MS
MOV DPTR,#CODIGO_F2 ; apunta a fila 2
RET
FILA3: MOV DPTR,#CODIGO_F3 ; apunta a fila 3
RET
;==============================================================

BUSCAHEX:
; ESTA SUBRUTINA BUSCA EL CODIGO HEX DE TECLA PULSADA EN LA
; TABLA.
; DPTR APUNTA A LA FILA DE LA TECLA APRETADA.
; EL NIBBLE ALTO DE REGISTRO A REGISTRA LA COLUMNA (UN 0) DE FILA
; CORRESPONDIENTE QUE IDENTIFICA A LA COLUMNA DE LA TECLA
; PULSADA.
;
; SALIDA: SALE CON CODIGO HEX DE TECLA PULSADA EN REGISTRO A
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

RLC A
JNC HEX
INC DPTR
SJMP BUSCAHEX
HEX: CLR A
MOVC A,@A+DPTR
RET
;==============================================================
; TABLA DE CODIGO HEX PARA CADA FILA DEL TECLADO MATRICIAL 4X4
ORG 90H
CODIGO_F0: DB 7H, 8H, 9H, 0FH
CODIGO_F1: DB 4H, 5H, 6H, 0EH
CODIGO_F2: DB 1H, 2H, 3H, 0DH
CODIGO_F3: DB 0H ,0AH,0BH,0CH
;==============================================================
; SUBRUTINA RETARDO DE 20 MILISEGUNDOS usada para eliminar rebotes
DELAY20MS: MOV R2,#20
LAZO2: MOV R3,#250
LAZO1: NOP
NOP
DJNZ R3,LAZO1
DJNZ R2,LAZO2
RET
;==============================================================
; SUBRUTINA RETARDO DE 255 MILISEGUNDOS PARA PAUSA EN DISPLAY
DELAY255MS: MOV R2,#255
LAZO4: MOV R3,#250
LAZO3: NOP
NOP
DJNZ R3, LAZO3
DJNZ R2, LAZO4
RET
;==============================================================
; TABLA CON CODIGO DE 7 SEGMENTOS PARA DISPLAY CATODO COMUN.
ORG 0C8H
HEXA7SEG:
DB 3FH ;0
DB 06H ;1
DB 5BH ;2
DB 4FH ;3
DB 66H ;4
DB 6DH ;5
DB 7CH ;6
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

DB 07H ;7
DB 7FH ;8
DB 6FH ;9
DB 77H ;A
DB 7CH ;B
DB 39H ;C
DB 5EH ;D
DB 79H ;E
DB 71H ;F
;==============================================================

6) SIMULACION EN PROTEUS.

Figura 8.1. Simulacion del teclado matricial

==============================================================
PARTE B)
1. ESPECIFICACIONES

Modifique el programa principal de tal forma que rote en el sentido contrario a las manecillas
del reloj cada uno de los 7 leds (g f e d c b a) del display de 7 segmentos conectado a P2. El
número de rotaciones completas depende del valor de la tecla pulsada. Inicialmente el display
está apagado. Para iniciar las rotaciones el programa espera hasta que el usuario apreté
cualquier tecla. Por ejemplo, si se aprieta la tecla 4, entonces el display ejecuta 4 vueltas
completas en el sentido de las manecillas del reloj y apaga el display.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

La subrutina para realizar esta tarea de rotación la vamos a llamar ROTAR que debe incorporarse
al fichero GESTIONTECLADO.ASM.

PROGRAMA PRINCIPAL

Figura 8. 2. Código implementado en el programa


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

GESTIONTECLADO2.ASM.

Figura 8. 3. Código implementado en el programa


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

Figura 8. 4. Código implementado en el programa


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

Figura 8. 5. Código implementado en el programa


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

Figura 8. 6. Código implementado en el programa


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

Figura 8. 7. Código implementado en el programa

Simule esta práctica usando Proteus, verifique las conexiones como se


muestra en la figura 8.5 y 8.6Figura 8. 5Simulación del programa
efectuado.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

Figura 8. 8. Simulación del programa efectuado


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

Figura 8. 9. Simulación del programa efectuado

5 Conclusiones y Bibliografia
6.1 Conclusiones

-En esta practica logramos relacionarnos con el uso del simulador 8051 usando el subsistema de
conteo y temporizacióndel 8051 también aprender el manejo del teclado 4x4 con el
microcontrolador AT89C52, aplicando el teclado matricial X4 que se compone por filas y columnas
de cables,de tal forma que al momento de pulsar una tecla se pone en contacto alguna fila con
alguna columna. Para el el encendido aletorio del led habra que generar subrutinas y lazos.
Cuando se usa el teclado habra que tener en cuenta que tambien hay que configurar los segmentos
del display que se encenderá y tambien un lazo que permita buscar que este se esta
presionando.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

Recomendaciones
-Se recomienda investigar por su propia centa sobre el uso del simulador 8051 usando el subsistema
de conteo y temporización del 8051 también aprender el manejo del teclado 4x4 con el
microcontrolador AT89C52.

6.2 Bibliografia
https://sites.google.com/site/cursodemicrocontroladores8051/inicio/teoria/11-interrupciones
http://www2.elo.utfsm.cl/~lsb/elo311/labs/2002/lab08.pdf
https://www.geekfactory.mx/tutoriales/tutoriales-pic/teclado-matricial-con-pic/

S-ar putea să vă placă și