Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTEGRANTES:
OSCAR AYALA
CRISTIAN IBARRA
ANDRÉS VALDIVIESO
1
UNIVERSIDAD POLITECNICA SALESIANA PRACTICA Nº5
PRACTICA Nº5
TEMA: TECLADOS.
MATERIALES:
PIC 16F877A.
Figura 3. LCD
2
UNIVERSIDAD POLITECNICA SALESIANA PRACTICA Nº5
Diagrama de flujo:
INICIO
Configurar el LCD
y el Teclado
SALIDA
Código
program practica4lcd1
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_red
wordTostr(a,b)
lcd_out(1,1,b)
wend
end.
3
UNIVERSIDAD POLITECNICA SALESIANA PRACTICA Nº5
Esquemático:
Grafico anexo:
4
UNIVERSIDAD POLITECNICA SALESIANA PRACTICA Nº5
ALGORITMO
Proceso:
* Defino las operaciones a realizar
* Inicializo y configuro el LCD
* Configuro la opción para teclado
* Realizo las operaciones por casos
* Despliego datos en el LCD
5
UNIVERSIDAD POLITECNICA SALESIANA PRACTICA Nº5
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
sub procedure david
while (n1=0)
lcd_out(1,1,"valor 1:")
n1=keypad_released
n1f=n1
intTostr(n1,sn1)
wend
lcd_out(1,10,sn1)
delay_ms(500)
end sub
sub procedure displayres
lcd_cmd(lcd_clear)
lcd_out(1,1,sn1)
lcd_out_cp(op)
lcd_out_cp(sn2)
lcd_out_cp("=")
intTostr(resultado,sr)
lcd_out(2,1,sr)
delay_ms(1500)
lcd_cmd(lcd_clear)
end sub
6
UNIVERSIDAD POLITECNICA SALESIANA PRACTICA Nº5
7
UNIVERSIDAD POLITECNICA SALESIANA PRACTICA Nº5
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:
8
UNIVERSIDAD POLITECNICA SALESIANA PRACTICA Nº5
Esquemáticos
Grafico Anexo
9
UNIVERSIDAD POLITECNICA SALESIANA PRACTICA Nº5
Algoritmo:
Entrada: Ingresar los valores del teclado Ps_2 a través del puerto c
Proceso: Configurar la LCD mediante el puerto B y la lectura del teclado a través
del comando Ps2_Config(portC,1,0)
Diagrama de flujos:
10
UNIVERSIDAD POLITECNICA SALESIANA PRACTICA Nº5
Código fuente
program tecladops2
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:
11
UNIVERSIDAD POLITECNICA SALESIANA PRACTICA Nº5
Grafico anexo:
4. CONCLUSIONES:
5. BIBLIOGRAFIA
12