Professional Documents
Culture Documents
Un teclado matricial dispone sus teclas en una configuración fila-columna, de forma que
cada tecla se corresponde a la intersección de una fina con una columna.
Modo de operación
La exploración de las pulsaciones en el
teclado se basa en colocar
sucesivamecnte a nivel bajo una sola de
las columnas, y explorar si se recibe
dicho nivel bajo en alguna de las filas
(tecla pulsada de esa fila en la columna
que actualmente está a 0).
ORG 01300h
Tecla0 nop ; Aquí iría el código de la tecla 0
ret ; Vuelve al programa principal
ORG 01400h
Tecla1 nop ; Aquí iría el código de la tecla 1
ret ; Vuelve al programa principal
ORG 01500h
Tecla2 nop ; Aquí iría el código de la tecla 2
ret ; Vuelve al programa principal
ORG 01600h
Tecla3 nop ; Aquí iría el código de la tecla 0
ret ; Vuelve al programa principal
; ------------------------------------------------------------------------------
; DEFINICION VARIABLES
; ------------------------------------------------------------------------------
ORG 0240h ; Dirección en RAM
Teclas DW 01300h,01400h,01500h,01600h ; Variable en RAM con valor inicial
; ------------------------------------------------------------------------------
; VECTORES INTERRUPCIÓN
; ------------------------------------------------------------------------------
ORG 0FFE0h+RESET_VECTOR ; Reset
DW Main
END Main
Inicialización MSP430
Espera de pulsación
Entrada en modo LPM4 Determinar la tecla
pulsada
INT
P1 Espera de despulsación
Entrada en modo LPM4
Anti-rebote SW
INT
Testeo teclado Anti-rebote SW P1
Testeo teclado
NO Tecla
pulsada? Tecla
pulsada?
NO
Δt
180Ω
Paso 1 : PX.Y0
180Ω
PX.Y3
180Ω
Δt
Paso 2 : PX.Y0
180Ω
PX.Y3
180Ω
Δt
Paso 3 : PX.Y0
180Ω
PX.Y3
180Ω
Δt
Paso 4 : PX.Y0
180Ω
PX.Y3
1. Si Δt es pequeño, el LED
180Ω
lucirá con poca intensidad. PX.Y2