Documente Academic
Documente Profesional
Documente Cultură
QUITO - ECUADOR
PRCTICA 05 OBJETIVO: Utilizar el microcontrolador con teclado matricial y PS2. 1. Visualizar en un display LCD el valor ingresado por un teclado matricial. Entradas: El puerto C que se configurara para el teclado matricial. Procesos: Configuro el LCD en el puerto B Leo la posicin del teclado Salidas: La salida del puerto B hacia el LCD. CDIGO.
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 FLUJOS.
INICIO
Pulso en el teclado
NO
SI
Muestro en el LCD
ESQUEMTICO.
FOTOS.
2. Escribir un programa para realizar las siguientes operaciones suma, resta, multiplicacin, divisin, logaritmo base 10. Para escoger la operacin utilizar la operacin case-select. Operacin Suma Resta Multiplicacin Divisin Logo10 Smbolo para la operacin 1 2 3 4 5 Nmeros de la operacin 2 2 2 2 1
El LCD debe mostrar el siguiente mensaje ingrese el nmero de la operacin a realizar: Al ingresar el nmero por ejemplo 1 En el LCD aparece el mensaje ingrese N1=2 Luego de ingresar el nmero aparece el mensaje ingrese el N2=3 Luego aparece el mensaje 3+2=5
Entradas: El puerto C que se configurara para el teclado matricial. Procesos: Configuro el LCD en el puerto B Selecciono la operacin a realizarse Suma, resta, multiplicacin, divisin, o logaritmo base 10 Ingreso los datos
Salidas: La salida del puerto B hacia el LCD para visualizar el resultado de la operacin.
CDIGO.
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
sub procedure operaciones select case luis case 1 lcd_cmd(lcd_clear) leer op="+" resultado=n1+n2 displayres case 2 lcd_cmd(lcd_clear) leer op="-" resultado=n1-n2 displayres case 3 lcd_cmd(lcd_clear) leer op="*" resultado=n1*n2 displayres case 4
lcd_cmd(lcd_clear) leer op="/" resultado=n1f/n2f displayres case 5 lcd_cmd(lcd_clear) david op="log10" resf=log10(n1f) displayresf case else lcd_cmd(lcd_clear) lcd_out(1,1,"No hay operacio-") lcd_out(2,1,"nes asignadas") delay_ms(500) lcd_cmd(lcd_clear) end select 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
DIAGRAMA DE FLUJO
ESQUEMTICO.
FOTOS.
Procesos: Habilitar el display mediante el puerto B como salida. Configurar la LCD mediante el puerto B y la lectura del teclado a travs 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 alfanumrico.
CDIGO
program practicateclado2
'clock=portc.1 'data= portc.2 delay_ms(100) estabilizar teclado txt= " " 'retardo para que finalice de
while true if Ps2_Key_Read(keydata, special, down) <> 0 then if (down = 1) and (keydata = 16)<>0 then lcd_Cmd(LCD_move_cursor_left) 'backspace
else if((down=1) and (keydata=13)) <>0 then 'enter else if((down=1) and (special=0)and (keydata<>0)) <>0 then
'abtirebote
DIAGRAMA DE FLUJO
INICIO
VISUALIZAR EN EL LCD
ESQUEMTICO Y SIMULACIN
FOTOS
BIBLIOGRAFA
MICROCONTROLADORES PIC. Diseo prctico de aplicaciones SEGUNDA PARTE: PIC 16F87X PIC 18FXXXX. Segunda edicin. Segundo Angulo, Susana Romero, Mc Graw Hill. Espaa. Hojas guas de la prctica. Ayuda del software Mikrobasic.