You are on page 1of 13

INSTITUTO TECNOLOGICO DE TOLUCA

INGENIERA ELECTRNICA

TECLADO MATRICIAL

REPORTE PPRCTICA

PRESENTA:
LUIS VIDAL ALVA DE LA CRUZ
RACIEL ANGELES SALAZAR
FRANCISCO RIVERA ALBA

METEPEC, ESTADO DE MXICO, 9 DE SEPTIEMBRE DEL 2016


INTRODUCCION
Los microcontroladores son dispositivos electrnicos capaces de llevar a cabo procesos
lgicos esto gracias a su estructura interna puesto que posee en su interior las tres unidades
funcionales de una computadora: CPU, memoria y unidades de E/S. Programados en
lenguajes de alto nivel como: programacin en c, c++, ensamblador, etc.
En un inicio los microcontroladores adoptaron una arquitectura Von Newmann en la cual la
unidad central de procesamiento (CPU) est conectada a una memoria nica donde se
guardan las instrucciones del programa y de los datos. Actualmente muchos
microcontroladores utilizan esta arquitectura, pero la arquitectura Harvard la cual tiene la
unidad central de procesamiento (CPU) conectada a dos memorias por medio de dos buses
diferentes.
En todo proceso de programacin se requiere realizar constantemente operaciones,
asignacin de valores a registros y extraer valores existentes en otros registros, para
transferirlos y/o procesarlos con otros datos a este proceso se le conoce como
direccionamiento.
El microcontrolador sigue la lgica del programa almacenado en memoria por consiguiente
requiere memoria de programa, memoria de datos y registros internos. La memoria del
programa mantiene la secuencia de instrucciones a ejecutar, la memoria de datos conocida
como RAM es la unidad de almacenamiento temporal.
El dispositivo dispone de un cierto nmero de bits para configurarse, estos bits estn
disponibles en la memoria EEPROM cuando este se programa, pero no son accesibles
durante el funcionamiento normal del microcontrolador.

Las caractersticas que se programan en los bits de configuracin son las siguientes:
El tipo de oscilador
On-off del perro guardin
Proteccin de la memoria de programa
Proteccin de la memoria EEPROM
Caractersticas del RESET y la alimentacin del dispositivo

Los puertos de entrada/salida son los medios con los cuales el microcontrolador tiene la
capacidad de realizar interfaces con el entorno estos se pueden conectar desde dispositivos
simples como switches y teclados.
Uno de los componentes fundamentales de la CPU es la unidad aritmtica y lgica (ALU) y
como su nombre lo indica realiza operaciones aritmticas y lgicas previstas en el repertorio
de instrucciones.
Materiales
- Microcontrolador PIC 18F4550
- Teclado matricial 4x4
- Display de 7 segmentos (catodo comn)
- Resistencias de 330
- Protoboard
- Fuente de alimentacin
- Software Proteus
*Nota: Es recomendable trabajar con ese valor de resistencia debido a que un valor alto
demandara ms corriente al circuito y el funcionamiento del PIC podra ser inestable.

Desarrollo
Se plantea de manera general la estructura del programa a realizar mediante diagrama de flujo
como se muestra a continuacin:

Inicio

Configuraciones C Imprime valor


Inicio
cargado

Configuracin
puertos

Enva 1

Pines de entrada

si No
Testeo de bit

Carga valor
de teclado
Programa
El programa consiste en desplegar un numero hexadecimal de 0 a F a travs de un display
de 7 segmentos conectado al puerto A del microcontrolador, el nmero se mostrar segn
el botn presionado de un teclado matricial el cual estar conectado al puerto D, para que
esto sea posible es necesario trabajar con coordenadas, dividiendo as el puerto D en 2
partes. Puesto que el puerto D trabaja con 8 bits, podemos usar 4 bits para entrada y 4 para
salida, de esta forma podemos trabajar las coordenadas por fila/columna, como se muestra
en la siguiente tabla.

Entradas\Salidas BIT 4 BIT 5 BIT 6 BIT 7


BIT 3 NUMERO 1 NUMERO 2 NUMERO 3 LETRA A
BIT 2 NUMERO 4 NUMERO 5 NUMERO 6 LETRA B
BIT 1 NUMERO 7 NUMERO 8 NUMERO 9 LETRA C
BIT 0 LETRA E NUMERO 0 LETRA F LETRA D
TABLA 1. Representacin de las coordenadas del teclado matricial

Cdigo

- Se declara el microcontrolador que se va a utilizar y despus se llaman sus


libreras.
list p=18f4550
#include <p18f4550.inc>

- Se hacen las configuraciones de las instrucciones de propsito especfico.

CONFIG FOSC=INTOSCIO_EC
CONFIG PWRT=ON
CONFIG BOR=OFF
CONFIG WDT=OFF
CONFIG LVP=OFF
CONFIG PBADEN=OFF
CONFIG CP0=OFF
CONFIG CP1=OFF
CONFIG CP2=OFF
CONFIG CP3=OFF
CONFIG CPB=OFF
CONFIG CPD=OFF
CONFIG MCLRE=OFF

- Inicio de programa, y configuraciones de puertos de salida y de entrada; como el


microcontrolador contiene diferentes funciones en los puertos a utilizar se
realizaran las configuraciones necesarias como son deshabilitar los comparadores y
tener solo entradas digitales como se describe a continuacin:

ORG 00H ; ORIGEN DEL PROGRAMA


MOVLW 0FH
MOVWF ADCON1 ;DESABILITA CANALES ANALGICOS
MOVLW 0FH
MOVWF CMCON ;DESHABILITA MODO DE COMPARADORES
CLRF TRISA
MOVLW 0F0H
MOVWF TRISD ;SE CONFIGURAN 4 BITS DE ENTRADA Y 4 DE SALIDA
CLRF PORTA

- Cdigo de verificacin de bit y manda una salida si se cumple la condicin, manda


un bit y lee los siguientes cuatro, si alguno de los bits recibe un estado alto del bit,
el microcontrolador mandar una salida especificada.

LINEA4
CLRF PORTD ;ELIMINA POSIBLES ENTRADAS Y SALIDAS ACTIVOS
BSF PORTD,0 ;PONE EN ESTADO ALTO EL BIT 0 DEL PUERTO D
BTFSC PORTD,7 ;VERIFICA SI SE ESTA RECIBIENDO UN ESTADO ALTO EN EL BIT 7
GOTO LETRAA ;SI ES ESTADO BAJO, SALTA LA LINEA, SI NO, LE LA SIGUENTE LINEA
BTFSC PORTD,6 ;VERIFICA SI SE EST RECIBIENDO UN ESTADO BAJO EN EL BIT 6
GOTO NUM3 ;SI ES ESTADO BAJO, SALTA LA LINEA, SI NO, LE LA SIGUIENTE LINEA
BTFSC PORTD,5 ;SE REPITE EL MISMO PROCESO HASTA EL BIT 4 DEL PUERTO D
GOTO NUM2
BTFSC PORTD,4
GOTO NUM1
LINEA3
BCF PORTD,0 ;PONE EN ESTADO BAJO EL BIT 0 DEL PUERTO D
BSF PORTD,1 ;Y PONE EN ESTADO ALTO EL BIT 1 DEL PUERTO D
BTFSC PORTD,7 ;REPITE LAS VERIFICACIONES DEL LOS BIT 7 AL 4
GOTO LETRAB
BTFSC PORTD,6
GOTO NUM6
BTFSC PORTD,5
GOTO NUM5
BTFSC PORTD,4
GOTO NUM4
LINEA2
BCF PORTD,1 ;PONE EN ESTADO BAJO EL BIT 1 DEL PUERTO D
BSF PORTD,2 ;Y PONE EN ESTADO ALTO EL BIT 2 DEL PUERTO D
BTFSC PORTD,7 ;REPITE LAS VERIFICACIONES DE LOS BIT 7 AL 4
GOTO LETRAC
BTFSC PORTD,6
GOTO NUM9
BTFSC PORTD,5
GOTO NUM8
BTFSC PORTD,4
GOTO NUM7
LINEA1
BCF PORTD,2 ;PONE EN ESTADO BAJO EL BIT 2 DEL PUERTO D
BSF PORTD,3 ;Y PONE EN ESTADO ALTO EL BIT 3 DEL PUERTO D
BTFSC PORTD,7 ;REPITE LAS VERIFICACIONES DE LOS BIT 7 AL 4
GOTO LETRAD
BTFSC PORTD,6
GOTO LETRAE
BTFSC PORTD,5
GOTO NUM0
BTFSC PORTD,4
GOTO LETRAF
GOTO LINEA4 ;REGRESA AL PRINCIPIO DE LAS VERIFICACIONES PARA REINICIAR
;LAS VERIFICACIONES

- Salidas que se Mandan al Puerto A si es que se cumple la condicin por cada bit de
entrada y de salida.
NUM0
MOVLW B'0111111' ;MANDA LA COMBINACIN BINARIA QUE REPRESENTA AL CERO EN UN
MOVWF PORTA ;DISPLAY DE 7 SEGMENTOS POR EL PUERTO A
GOTO LINEA4 ;REGRESA AL PRINCIPIO DE LA VERIFICACIN DE BITS
NUM1
MOVLW B'0000110' ;MANDA LA COMBINACIN BINARIA QUE REPRESENTA AL 1
MOVWF PORTA
GOTO LINEA4
NUM2
MOVLW B'1011011' ; DOS
MOVWF PORTA
GOTO LINEA4
NUM3
MOVLW B'1001111' ;TRES
MOVWF PORTA
GOTO LINEA4
NUM4
MOVLW B'1100110' ;CUATRO
MOVWF PORTA
GOTO LINEA4
NUM5
MOVLW B'1101101' ;CINCO
MOVWF PORTA
GOTO LINEA4
NUM6
MOVLW B'1111101' ;SEIS
MOVWF PORTA
GOTO LINEA4
NUM7
MOVLW B'0000111' ;SIETE
MOVWF PORTA
GOTO LINEA4
NUM8
MOVLW B'1111111' ;OCHO
MOVWF PORTA
GOTO LINEA4
NUM9
MOVLW B'1101111' ;NUEVE
MOVWF PORTA
GOTO LINEA4
LETRAA
MOVLW B'1110111' ;DIEZ, EN HEXADECIMAL ES A
MOVWF PORTA
GOTO LINEA4

LETRAB
MOVLW B'1111100' ;ONCE EN HEXADECIMAL ES B
MOVWF PORTA
GOTO LINEA4
LETRAC
MOVLW B'0111001' ;DOCE EN HEXADECIMAL ES C
MOVWF PORTA
GOTO LINEA4
LETRAD
MOVLW B'1011110' ;TRECE EN HEXADECIMAL ES D
MOVWF PORTA
GOTO LINEA4
LETRAE
MOVLW B'1111001' ;CATORCE EN HEXADECIMAL ES E
MOVWF PORTA
GOTO LINEA4
LETRAF
MOVLW B'1110001' ;QUINCE EN HEXADECIMAL ES F
MOVWF PORTA
GOTO LINEA4

END ;FIN DEL PROGRAMA


Resultados

Dentro de los resultados previos se realizaron pruebas tales como la simulacin de la practica a
realizar esto para poder corroborar que el cdigo realizado funcionaba de manera correcta
se simulo con el software proteus; realizando las conexiones necesarias en la interfaz y
cargando el cdigo realizado se corroboro que funcionaba correctamente. Las
simulaciones en el software se muestran en la figura1 y 2.

Figura1. Conexin al C de teclado matricial y display 7 seg.


Figura2. Simulacin ejecutando el cdigo programado.

Resultados obtenidos en el laboratorio una vez realizada la simulacin se realiz el circuito


fsico utilizando una tablilla de pruebas como se muestra en la Figura 3.

Figura 3. Circuito ensamblado en protoboard


Al obtener el circuito ensamblado se realizaron las acciones correspondientes para obtener
mostrar en el display el valor de la tecla que se oprimiera como se muestra en la Figura 4 y
5.

Figura 4. Muestra como al oprimir el valor del teclado se muestra en el display de 7


segmentos.

Figura 5. Muestra el un numero diferente seccionado mediante el teclado matricial.


Figura 7. Se presiona la tecla C, el programa lee el cdigo de comparacin a velocidad mquina por
lo que es posible que solo en un instante pueda detectar el pulso, hace la comparacin
correspondiente y por consiguiente muestra el valor indicado a dicha comparacin.

En esta imagen se muestra que no es necesario mantener presionado el botn para que la
comparacin se lleve a cabo, solo se presiona una vez y el programa lo detecta sin problemas en
cuestin de ms.
Comentarios
En el apartado de los materiales se anota que fue necesario usar valores de resistencias
menores o iguales a 330 Ohms para el teclado matricial puesto que, en nuestro caso, el
microcontrolador pareca tener rebotes en las salidas y no hacia los cambios de salida con
precisin, esto se debi a que previamente habamos utilizado resistencias de 10K Ohms lo
que provocaba que el circuito demandara ms corriente de la necesaria y que posiblemente
el microcontrolador se saturara.
Posteriormente del cambio al valor adecuado de las resistencias, el microcontrolador
funcionaba de forma ms estable y desplegaba las salidas que se programaron segn el
botn presionado en el teclado matricial sin problemas.
El funcionamiento es simple pero sus aplicaciones podran varar puesto que se podra usar
un teclado matricial de NxM, o manipular a otro dispositivo como motores o relevadores.

Referencias bibliogrficas
- Microcontroladores Motorola-Freesclae: Programacin, familias y sus distintas
aplicaciones en la industria
Juan Carlos Vesga Ferreira
Primera Edicin
Alfaomega Grupo Editor, S.A. de C.V., Mxico
Freescale Semiconductor

-
-
Microcontroladores: Fundamentos y aplicaciones con PIC
Fernando E. Valds Prez, Ramon Palls Areny
Primera Edicin
Alfaomega Grupo Editor, S.A. de C.V., Mxico
Freescale Semiconductor

- Fundamentos de diseo lgico


Charles H. Roth Jr.
Quinta Edicin
International Thomson Editores, S.A. de C.V.
Thomson Learning

You might also like