Вы находитесь на странице: 1из 24

INGENIERÍA ELECTRÓNICA

OBJETIVO: Utilizar el microcontrolador pic con Teclados Matricial y


PS2.
1. Visualizar en un Display LCD el valor ingresado por un teclado
matricial.
CÓDIGO:

ALGORITMO:

ENTRADA: Datos Ingresados por el Puerto C (Teclado).


SALIDA: Datos que serán Observados en el Puerto B (LCD).
PROCESO: Configuro los pines del puerto B como salida
Configuro los Pines del Puerto C como Entrada.
Inicializo el teclado en el Puerto C.
Comparación
Mientras sea Verdadero mostrar en el Puerto B los datos ingresados
desde el teclado y que serán almacenados en la memoria.
En el LCD mostrar los datos ingresados desde el teclado matricial.
Si es Falso termino el programa.

INGENIERÍA ELECTRÓNICA
DIAGRAMA DE FLUJO:

ESQUEMÁTICO:

INGENIERÍA ELECTRÓNICA
SIMULACIÓN:

INGENIERÍA ELECTRÓNICA
2. Escribir un programa para realizar las siguientes operaciones: suma,
resta, multiplicación, división y logaritmo base 10, de dos números o
un número según sea el caso. Para escoger la operación utilizar case-
select.

OPERACION SIMBOLO PARA NUMEROS DE


OPERACION OPERACION
SUMA 1 2
RESTA 2 2
MULTIPLICACION 3 2
DIVISION 4 2
Log 10 5 1

El LCD debe mostrar el siguiente mensaje ingrese el numero de la operación a


realizar.
Al ingresar el número por ejemplo 1
En el lcd aparece el mensaje Ingrese n1=2
Luego de ingresar el numero aparece el mensaje ingrese el N2=3
Luego aparece el mensaje 3+2=5
CODIGO:

INGENIERÍA ELECTRÓNICA
INGENIERÍA ELECTRÓNICA
INGENIERÍA ELECTRÓNICA
ALGORITMO:

ENTRADAS: Datos del PIC


SALIDAS: Escribir en el LCD

PROCESO: Declaro las variables asd, n1, n2, n1c, n2c, resultado, asd, n1f, n2f,
resf, op, sn1, sn2, b, num1, num2, sr como
Configuro el Puerto b como salidas
Configuro los registros internos del LCD
Apago el cursor
Inicializo el keypad_init con el puerto c
Realizo un lazo
Realizo un while asd=0
Presento en el lcd un mensaje “ingrese la operación a realizar”
Igualo la variable asd=keypad_realased
Convierto la palabra asd a string b
Cierro el while
Presento la variable b en el lcd
Realizo un retardo de 1500 ms
Voy a un subproceso operaciones
Igualo a cero a estas variables asd,n1c,n2c,n1,n2=0
Retorno al lazo
Subproceso leer numero 1
Subproceso leer Numero 2
Subproceso resultados o displayres

INGENIERÍA ELECTRÓNICA
Subproceso operaciones
Con el select case asd escojo la operación que deseo realizar
En el caso 1 tengo para la suma.
Borro el lcd
Voy a subproceso leer
Voy a subproceso leer2
Guardo en la variable op = “+”
En la variable resultado= n1c+n2c
Llamo a una subproceso displayres
En el caso 2 tengo para la resta
Borro el lcd
Voy a subproceso leer
Voy a subproceso leer2
Guardo en la variable op=”-”
En la variable resultado= n1c-n2c
Llamo a una subproceso displayres
En el caso 3 tengo para la multiplicación
Borro el lcd
Voy a subproceso leer
Voy a subproceso leer2
Guardo en la variable op=”*”
En la variable resultado= n1c*n2c
Llamo a una subproceso displayres
En el caso 4 tengo para la división
Borro el lcd
Voy a subproceso leer
Voy a subproceso leer2
Guardo en la variable op=”/”
En la variable resultado= n1c/n2c
Llamo a una subproceso displayres
En el caso 5 tengo para el Log10
Borro el lcd
Voy a subproceso leer
Voy a subproceso leer2
Guardo en la variable op=”log10”
En la variable resf= log10(n1f)
Llamo a una subproceso displayresf1
Case else
Borro el lcd

INGENIERÍA ELECTRÓNICA
Presento en el lcd el mensaje “no hay operaciones asignadas”
Retardo de 500ms
Borro el lcd
Termino el subproceso operaciones
Presento los datos en el LCD
ESQUEMÁTICO:

INGENIERÍA ELECTRÓNICA
SIMULACIÓN:

INGENIERÍA ELECTRÓNICA
INGENIERÍA ELECTRÓNICA
INGENIERÍA ELECTRÓNICA
3. Elaborar un programa para mostrar los caracteres ingresados
desde un teclado PS-2.
CÓDIGO:

ALGORITMO:

ENTRADAS: Datos que ingresan del teclado PS2

SALIDAS: Datos que serán visualizados en el LCD


PROCESO: Definir variables para almacenar los datos
Deshabilito todas las interrupciones
Configuro el del puerto B como salida
Configuro los registros internos del LCD
Apago el cursor
Configuro el Puerto C como Entrada
Retardo de tiempo para estabilizar el teclado.
Lazo while
Comandos PS” que leerán los caracteres que ingresan.
Configuro la barra espaciadora
Configuro el enter

INGENIERÍA ELECTRÓNICA
Mostrar los datos en el LCD
Tiempo de Anti Rebote
Fin de lazo
DIAGRAMA DE FLUJO:

ESQUEMATICO:

INGENIERÍA ELECTRÓNICA
RECOMENDACIONES:

Realizar las conexiones correctas entre la placa de Microcontroladores y los


dispositivos externos para realizar los ejercicios de una forma rápida.
Buscar información de los elementos a utilizar.

CONCLUSIONES:

El PIC16F877A nos permite controlar diferentes dispositivos como LCD.


Mediante las diferentes librerías de PIC para El teclado PS” podemos
realizar el tercer ejercicio y ver el proceso que se realiza en este
ejercicio.
Nos permite realizar diferentes Operaciones matemáticas como en
este caso utilizamos para realizar una calculadora con la utilización del
PIC.
El PIC nos permite el manejo de una gran cantidad de memoria que
utilizamos para los diferentes programas.

BIBLIOGRAFÍA:

Hojas de las Prácticas de Microcontroladores PIcs.


Ayuda del Programa Microbasic.
Manual del Microcontrolador 16F877A.
Ayuda del Programa Proteus 7.6. Para las simulaciones.

INGENIERÍA ELECTRÓNICA
INGENIERÍA ELECTRÓNICA
Ejercicio 1. Visualizar en un Display LCD el valor ingresado por un teclado
matricial.

INGENIERÍA ELECTRÓNICA
Ejercicio 2. Escribir un programa para realizar las siguientes operaciones:
suma, resta, multiplicación, división y logaritmo base 10, de dos números o
un número según sea el caso. Para escoger la operación utilizar case-select.

INGENIERÍA ELECTRÓNICA
INGENIERÍA ELECTRÓNICA
INGENIERÍA ELECTRÓNICA
Ejercicio 3. Elaborar un programa para mostrar los caracteres
ingresados desde un teclado PS-2.

INGENIERÍA ELECTRÓNICA
INGENIERÍA ELECTRÓNICA
INGENIERÍA ELECTRÓNICA