Escolar Documentos
Profissional Documentos
Cultura Documentos
INFORME #05
ERICK PEÑAHERRERA
JOSE BUCHELI
XAVIER MUÑOZ
DATASHEETS
PIC16F877A
LCD 16x2
DESARROLLO PRÁCTICO
OBJETIVO: Utilizar el microcontrolador con teclado matricial y PS2
1. EJERCICIO 1
PROBLEMA:
Visualizar en un display LCD el valor ingresado por un teclado matricial.
ALGORITMO:
Entradas:
El puerto C que se configurara para el teclado matricial.
Procesos:
Configuro el LCD en el puerto B
Leo la posición del teclado
Salidas:
La salida del puerto B hacia el LCD.
CÓDIGO
program teclado1
dim a as byte
dim b as string[6]
main:
lcd_config(portb,7,6,5,4,portb,0,1,2)
lcd_cmd(lcd_cursor_off)
keypad_init(portc)
while true
a=keypad_read
wordtostr(a,b)
lcd_out(1,1,b)
wend
end.
DIAGRAMA DE FLUJO
INICIO
Configuro el puerto C
como entrada y el
puerto B como salida
Pulso en
el teclado
Muestro en el LCD
ESQUEMÁTICO
S
I
M
U
L
A
C
I
Ó
N
FOTOS
2. EJERCICIO 2
PROBLEMA:
ALGORITMO:
Entradas:
El puerto C que se configurara para el teclado matricial.
Procesos:
Configuro el LCD en el puerto B
Selecciono la operación a realizarse
Suma, resta, multiplicación, división, o logaritmo base 10
Ingreso los datos
Salidas:
La salida del puerto B hacia el LCD para visualizar el resultado de la
operación.
CÓDIGO
program calculadora
dim x1 as byte
dim luis,j as byte
dim n1,n2,resultado as integer
dim n1f,n2f,resf as float
dim op as string[6]
dim sn1 as String[6]
dim sn2 as String[6]
dim sr as String[12]
dim b as string[6]
sub procedure leer
while (n1=0)
lcd_out(1,1,"valor 1:")
n1=keypad_released
n1f=n1
intTostr(n1,sn1)
wend
lcd_out(1,10,sn1)
while (n2=0)
lcd_out(2,1,"valor 2:")
n2=keypad_released
n2f=n2
intTostr(n2,sn2)
wend
lcd_out(2,10,sn2)
delay_ms(500)
end sub
main:
lcd_config(portb,7,6,5,4,portb,0,1,2)
lcd_cmd(lcd_cursor_off)
keypad_init(portc)
lazo:
while (luis=0)
lcd_out(1,1,"Ingrese su")
lcd_out(2,1,"opcion: ")
luis=keypad_released wordtostr(luis,b)
wend
lcd_out(2,8,b)
delay_ms(500)
operaciones
n1=0
n2=0
luis=0
goto
lazo
end.
DIAGRAMA DE FLUJO
ESQUEMÁTICO
S
I
M
U
L
A
C
I
Ó
N
FOTOS
3. EJERCICIO 3
PROBLEMA:
Elaborar un programa para mostrar los caracteres ingresados desde un
teclado PS-2.
ALGORITMO:
Entradas:
Los datos que se van a guardar en el microcontrolador.
Ingresar los valores del teclado Ps_2 a través del puerto c.
Procesos:
Habilitar el display mediante el puerto B como salida.
Configurar la LCD mediante el puerto B y la lectura del teclado a través
del comando Ps2_Config(portC,1,0)
Enviar datos al puerto B para posteriormente enviarlos hacia el display.
Salidas:
Salida del puerto B hacia el display alfanumérico
DIAGRAMA DE FLUJO
INICIO
DECLARAR VARIABLES Y
DESHABILITAR
INTERRUPCIONES
VISUALIZAR EN EL
LCD
CÓDIGO
program practicateclado2
dim
keydata as byte
special as byte
down as byte
txt as string[20]
main:
INTCON = 0 ' deshabilita todas la interrupciones
lcd_config(portb,3,2,1,0,portb,4,6,5) 'Configura lcd
Ps2_Config(PortC,1,0) 'inicia teclado ps/2
‘en el puerto c
'clock=portc.1
'data= portc.2
delay_ms(100) 'retardo para que finalice de
‘estabilizar teclado
txt= " "
while true
if Ps2_Key_Read(keydata, special, down) <> 0 then
if (down = 1) and (keydata = 16)<>0 then 'backspace
lcd_Cmd(LCD_move_cursor_left)
else if((down=1) and (keydata=13)) <>0 then 'enter
else if((down=1) and (special=0)and (keydata<>0)) <>0 then
lcd_chr_CP(keydata)
end if
end if
end if
end if
delay_ms(10) ' abtirebote
wend
end.
ESQUEMÁTICO
CONCLUSIONES
Que la elaboración de esta práctica nos sirve para comprender un poco más la teoría de los
microcontroladores y su aplicación; de ahí la importancia del mismo, pues a través de él se
puede apreciar lo interesante que es la programación en nuestra vida cotidiana.
Que el microcontrolador utilizado en esta práctica el 16f877A, tienen una capacidad muy
grande para control de procesos básicos y complejos, aunque en algunos programas
ocupan extenso espacio de memoria es suficiente para la práctica para empezar a conocer
sobre microcontroladores.
La utilización del pic16f877a y teclado podemos realizar cualquier tipo de necesidad que en
este caso es una calculadora básica pero para hacer cálculos el pic18f452 reacciona mejor
a cálculos matematicos.
BIBLIOGRAFIA