Академический Документы
Профессиональный Документы
Культура Документы
Ingeniería Electrónica
Sistemas Microprocesados
INFORME DE LABORATORIO V
Integrantes:
Juan Villacís S.
Gabriela Chicaiza
Darío Valarezo
Sept./2009-feb/2010
Tema: Teclados
Ejercicio 1
Determinar:
Entradas:
Salidas:
Display LCD
Procesos:
o Definir variables
o Configuro mi LCD
o Configuro mi teclado
o Lee mis datos por teclado
o Displiega datos en el LCD
Diagrama de Flujo
INICIO
Defino variables A, B
Configuro teclado.LCD
Leo A=keypad_read
Visualizo # en el LCD
Fin
Codificación:
Esquemático
Simulación
2.- Escribir un programa para realizar las siguientes operaciones: suma resta ,
multiplicación ,división ,potencia de tres ,raíz cuadrada ,seno , tangente ,
logaritmo base 10, de los números o un números según sea el caso, Para
escoger al operador utilizar la opción case-select
Determinar:
Procesos:
Codificación:
program Practica5_2calculadora
dim a,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 leer1
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 displayresf
lcd_cmd(lcd_clear)
lcd_out(1,1,sn1)
lcd_out_cp(op)
lcd_out_cp(sn2)
lcd_out_cp("=")
floatTostr(resf,sr)
lcd_out(2,1,sr)
delay_ms(1500)
lcd_cmd(lcd_clear)
end sub
sub procedure displayresf1
lcd_cmd(lcd_clear)
lcd_out(1,1,op)
lcd_out_cp(" de")
lcd_out_cp(sn1)
lcd_out_cp("=")
floatTostr(resf,sr)
lcd_out(2,1,sr)
delay_ms(1500)
lcd_cmd(lcd_clear)
end sub
sub procedure operaciones
select case a
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="/"
resf=n1f/n2f
displayresf
case 5
lcd_cmd(lcd_clear)
leer
op="^"
resf=1.0
for j=1 to n2
resf=resf*n1f
next j
displayresf
case 6
lcd_cmd(lcd_clear)
leer1
op="raiz"
resf=sqrt(n1)
displayresf1
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 (a=0)
lcd_out(1,1,"Ingrese su")
lcd_out(2,1,"opcion: ")
a=keypad_released
wordtostr(a,b)
wend
lcd_out(2,8,b)
delay_ms(500)
operaciones
n1=0
n2=0
a=0
goto lazo
end.
Esquemático
Simulación
Ejercicio 3.-
Elaborar un programa para mostrar los caracteres ingresados desde un teclado PS2
El teclado PS/2 tiene un mapa de teclas a las que se las asigna un código, de uno o
dos bytes, para cada una de ellas y que son los códigos que nos va a trasmitir para
indicarnos que se está pulsando un tecla determinada. A estos códigos les vamos a
llamar códigos de rastreo de teclado. Más abajo se muestra una imagen de un
teclado estándar donde se muestra los códigos de rastreo de todas y cada una de las
teclas:
El teclado PS/2 envía el código de rastreo asociado a una tecla al ser ésta pulsada,
tantas veces como sea necesario si se mantiene pulsada con una cadencia tal como
indique su tiempo de repetición, que es programable, y el mismo código de rastreo con
el prefijo del byte F0h al ser soltada, también conocido como break code.
Por ejemplo: Para conseguir la letra G Mayúscula debemos pulsar la tecla shift y
mientras la mantenemos pulsada, pulsada, pulsar la tecla G, soltar la tecla G y soltar la
tecla shift. Esa secuencia de pulsaciones nos va a hacer que el teclado trasmita la
siguiente secuencia de Bytes:
El teclado PS/2 se conecta mediante cuatro hilos. Dos de ellos son para alimentación
Vcc a 5V y GND y otros dos para las señales Data y Clock. El pinout de los conectores
Midi-Din PS/2 tanto hembra, los del PC, como machos los del teclado, es tal como se
muestra en la imagen inferior
1-2
3-4
5-6
2-1
4-3
6-5
Determinar:
Entradas:
Salidas:
Procesos:
Diagrama de Flujo
INICIO
Configuro LCD
Configurar Puertos
Txt =“ “
Var<>0
Var=16
Var<>0
Move Cursor
enter
Var=<>0
0
Dato LCD
Retardo 10 ms
Codificación:
Conclusiones:
Recomendaciones: