INFORME5f
-
Upload
juan-suasnavas -
Category
Documents
-
view
238 -
download
0
Transcript of INFORME5f
-
8/8/2019 INFORME5f
1/19
15-Dic-2010
SISTEMAS MICROPROCESADOS I
INFORME 5TECLADO
DOCENTE:
Ing. Electrnico.
Luis Oate
ESTUDIANTES:
Fernando PazmioJuan SuasnavasGustavo Caiza
Septiembre-
Febrero 11
U N I V E R S I D A D P O L I T C N I C A S A L E S I A N A
-
8/8/2019 INFORME5f
2/19
UIVERSIDAD POLITCICA SALESIAA
Ing. Electrnica
DESARROLLO OBJETIVO: Utilizar el microcontrolador con teclados matricial.
Ejercicio 1.Visualizar en un display LCD el valor ingresado por un teclado matricial.
ALGORITMO
Entrada:Ingresar datos por medio de un teclado matricial
Proceso:Configurar la salida del LCD en el Puerto BConfigura el Teclado en el Puerto C
Leer el Ingreso del teclado matricialEscribir en el LCD el valor de la posicin del botn en la matriz colocado en el tecladomatricial
Salida:Visualizar en un LCD el valor de la posicin de la matriz correspondiente a cada
pulsador
DIAGRAMA DE FLUJO
Configurar PuertoB LCD
Pue rto C Teclado
-
8/8/2019 INFORME5f
3/19
UIVERSIDAD POLITCICA SALESIAA
Ing. Electrnica
CODIGO
program teclado1dim 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 truea=keypad_read
wordtostr(a,b)lcd_out(1,1,b)wend
end.
DIAGRAMA ESQUEMATICO
-
8/8/2019 INFORME5f
4/19
UIVERSIDAD POLITCICA SALESIAA
Ing. Electrnica
SIMULACION
FOTOS TOMADAS EN LA PRACTICA
-
8/8/2019 INFORME5f
5/19
UIVERSIDAD POLITCICA SALESIAA
Ing. ElectrnicaSistemas M icroprocesados I
Ejercicio 2.Problema:
Escribir un programa para realizar las siguientes operaciones suma, resta , multiplicacin,
divisin y Log base 10 de dos nmeros o un nmero segn sea el caso.Para escoger la operacin utilizar la opcin case-select
Operacin Smbolo de la operacin meros de la operacin
Suma 1 2Resta 2 2
Multiplicacin 3 2Divisin 4 2
Log10 5 1
El LCD debe mostrar el siguiente mensaje ingrese el nmero de la operacin a realizar:Al ingresar por ejemplo el numero 1En el LCD aparece el mensaje ingrese N1Luego de ingresar el nmero aparece el mensaje ingrese el N2
Luego aparece el mensaje 3+2=5
ALGORITMO
Entrada:Ingreso de datos por medio de un teclado matricial
Proceso:Configuro el LCD en e l Puerto BConfiguro la entrada del teclado matricial en el Puerto C
Comparo el valor 1 Ingresado para determinar que operacin debe realizarRealizar la operac in de Suma si es 1Realizar la operacin de Resta si es 2Realizar la operacin de Multiplicacin si es 3Realizar la operacin de Divisin si es 4
Realizar la operacin de Log10 si es 5Desplegar en el LCD el resultado de cada operacin
Salida:Visualizar en el LCD el resultado de cada operacin
-
8/8/2019 INFORME5f
6/19
UIVERSIDAD POLITCICA SALESIAA
Ing. Electrnica
DIAGRAMA DE FLUJO
INICIO
Configurar Puerto B LCD
Puerto C Teclado
Definir variables a y b
Leer datos del teclado
A=keypad_read
If A
A=1
Ingresar N1 y N 2
Res= N1+N2
Resultado=R
A=2
Ingresar N1 y N2
Res= N1-N2
Resultado=R
A=3
Ingresar N1 y N2
Res= N1*N2
Resultado=R
A=4
Ingresar N1 y N2
Res= N1/N2
Resultado=R
A=5
Ingresar N1
Res= Log10 N1
Resultado=R
Visualizar en el LCD Resultado
-
8/8/2019 INFORME5f
7/19
UIVERSIDAD POLITCICA SALESIAA
Ing. ElectrnicaSistemas M icroprocesados I
CODIGO
program calculadoratekladodim x1 as byte
dim juan ita, j as bytedim n1,n2,resultado as integerdim 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 leerwhile (n1=0)
lcd_out(1,1, "valor 1:")n1=keypad_releasedn1f=n1
intTostr(n1,sn1)wend
lcd_out(1,10,sn1)while (n2=0)lcd_out(2,1, "valor 2:")
n2=keypad_releasedn2f=n2intTostr(n2,sn2)
wendlcd_out(2,10,sn2)
delay_ms(1000)end subsub procedure juanwhile (n1=0)lcd_out(1,1, "valor 1:")
n1=keypad_releasedn1f=n1
intTostr(n1,sn1)wendlcd_out(1,10,sn1)delay_ms(1000)
end subsub 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 subsub procedure displayresf
lcd_cmd(lcd_clear)lcd_out(1,1,sn1)
-
8/8/2019 INFORME5f
8/19
UIVERSIDAD POLITCICA SALESIAA
Ing. ElectrnicaSistemas M icroprocesados I
lcd_out_cp(op)
lcd_out_cp("=")floatTostr(resf,sr)lcd_out(2,1,sr)delay_ms(800)
lcd_cmd(lcd_clear)end sub
sub procedure operacionesselect case juanita
case 1lcd_cmd(lcd_clear)leer op="+"resultado=n1+n2displayres
case 2lcd_cmd(lcd_clear)leer op="-"
resultado=n1-n2displayrescase 3
lcd_cmd(lcd_clear)leer op="*"
resultado=n1*n2displayrescase 4
lcd_cmd(lcd_clear)leer op="/"resultado=n1f/n2f
displayrescase 5lcd_cmd(lcd_clear)juan op="log10"
resf=log10(n1f)displayresfcase else
lcd_cmd(lcd_clear)lcd_out(1,1, "No hay operac io-")lcd_out(2,1, "nes asignadas")
delay_ms(1000)lcd_cmd(lcd_clear)
end selectend submain:
lcd_config(portb,7,6,5,4,portb,0,1,2)lcd_cmd(lcd_cursor_off)keypad_init(portc)
lazo:while (juanita=0)lcd_out(1,1,"Ingrese su")lcd_out(2,1,"opcion: ")juanita=keypad_released wordtostr(juanita,b)
wendlcd_out(2,8,b)
-
8/8/2019 INFORME5f
9/19
UIVERSIDAD POLITCICA SALESIAA
Ing. Electrnica
delay_ms(1000)operaciones
n1=0n2=0juanita=0gotolazo
end.
DIAGRAMA ESQUEMATICO
SIMULACIONES
-
8/8/2019 INFORME5f
10/19
UIVERSIDAD POLITCICA SALESIAA
Ing. Electrnica
-
8/8/2019 INFORME5f
11/19
UIVERSIDAD POLITCICA SALESIAA
Ing. Electrnica
-
8/8/2019 INFORME5f
12/19
UIVERSIDAD POLITCICA SALESIAA
Ing. Electrnica
FOTOGRAFIA TOMADAS EN LA PRACTICA
-
8/8/2019 INFORME5f
13/19
UIVERSIDAD POLITCICA SALESIAA
Ing. Electrnica
Ejercicio 3.
Problema:
Elaborar un programa para mostrar los caractere s ingresados desde un teclado PS2
Descripcin y funcionamie nto a alto nivel
Un teclado PS/2 de 104 teclas para PC es un dispositivo razonablemente inteligente.
Esto quiere decir que l mismo se encarga de la parte hardware del rastreo de teclas,
evitar los insufribles rebotes y de trasmitirnos, mediante una trama perfectamenteestablecida, de los resultados, de los resultados de nuestras manipulaciones sobre sus
teclas. El teclado PS/2 tiene un mapa de teclas a las que se las asigna un cdigo, de
uno o dos bytes, para cada una de ellas y que son los cdigos que nos va a trasmitir
para indicarnos que se est pulsando un tecla determinada. A estos cdigos les vamos
a llamar cdigos de rastreo de teclado . Ms abajo se muestra una imagen de un
teclado e stndar donde se muestra los cdigos de rastreo de todas y cada una de las
Teclas:
-
8/8/2019 INFORME5f
14/19
UIVERSIDAD POLITCICA SALESIAA
Ing. Electrnica
El teclado PS/2 enva el cdigo 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 repeticin, que es programable, y el mismo cdigo de rastreo
con el prefijo del byte F0h al ser soltada, tambi n conocido como break code.
Por ejemplo: Para conseguir la letra G Mayscula 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:
Pulsar Shift-> 12h
Pulsar G -> 34h
Soltar G -> F0h 34h
Y soltar Shift -> F0h 12h
O escribiendo solo los bytes que vamos a recib ir:
1h, 3 4h , f0h ,f0h ,1 2h.
Nuestro cometido va a ser recibir e implementar esta secuencia de bytes a actuar en
consecuencia
El teclado PS/2 tambin admite comandos. Dispone de funciones Build-in que
podemos disparar mediante el envi del comando correspondiente. Abajo muestra
-
8/8/2019 INFORME5f
15/19
UIVERSIDAD POLITCICA SALESIAA
Ing. Electrnica
una tabla con los comandos disponibles que podemos enviar a nuestro teclado.
(Nosotros, en este proyecto no vamos a utilizarlos, pero ah quedan por si alguno de
mis amables visitantes desea ampliar la funcionalidad.
Conexionado elctricoEl teclado PS/2 se conecta mediante cuatro hilos. Dos de ellos son para alimentacin
Vcc a 5V y GND y otros dos para las seales 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
Ke yboard 6 pin (PS /2)
(6p Midi-Din m ale at cable 7 Ke yboa rd)
1-2
3-4
5-6
(6p Mini-Din Female (PS /2) at PC )2-1
4-3
6-5
-
8/8/2019 INFORME5f
16/19
UIVERSIDAD POLITCICA SALESIAA
Ing. Electrnica
ALGORITMO
Entrada:Ingresar los da tos por med io de un tecla do P S2
Proceso:Configurar el LCD en el Puerto B
Configurar el teclado PS2 en el Puerto C
Deshabilito todas las interrupciones
Retardo para que e stabilice el teclado
Configuro en Enter y backspace
Despliego datos en el LCD
Salida:Visualiza r en el LCD los datos ingresados por me dio del tecla do P S2
-
8/8/2019 INFORME5f
17/19
UIVERSIDAD POLITCICA SALESIAA
Ing. Electrnica
DIAGRAMA DE FLUJO
CODIGO
program practicateclado2
dim
keydata as bytespecial as bytedown as bytetxt as string[20]main:
INTCON = 0 ' deshabilita todas la interrupcioneslcd_config(portb,3,2,1,0,portb,4,6,5) 'Conf igura lcdPs2_Config(PortC,1,0) 'inicia teclado ps/2
en el puerto c'clock=portc.1
-
8/8/2019 INFORME5f
18/19
UIVERSIDAD POLITCICA SALESIAA
Ing. Electrnica
'data= portc.2delay_ms(100) 'retardo para que finalice de
estabilizar tecladotxt= " "while trueif Ps2_Key_Read(keydata, special, down) 0 thenif (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 (keydata0)) 0 thenlcd_chr_CP(keydata)end ifend if
end ifend if
delay_ms(10) ' abtirebotewend
end. DIAGRAMA ESQUEMATICO
CONCLUSIONES Aprendimos la utilizacin de los teclados matriciales como para poder realizar un
calculadora con las operaciones bsicas
Conocimos la programacin para poder habilitar el ingreso de datos a travs deteclado PS2 en el cual solo utilizamos los pines de Clock y data para poder ingresar y
visualizar los datos en el LCD
-
8/8/2019 INFORME5f
19/19
UIVERSIDAD POLITCICA SALESIAA
Ing. ElectrnicaSistemas M icroprocesados I
Debemos darnos cuenta de la configuracin del Teclado PS2 que vayamos a conectarpara conectar los pines que deben ser conectados al microcontrolador (Clock y data)
pin RC0 y RC1 respectivamente
Bibliografa: Ayuda del Programa Microbasic. Ayuda del Programa Proteus 7.6. Para las simulaciones. Hojas de
Practicas
Hojas guas de Prcticas de Laboratorio, Ing. Luis Oate, UPS 2010-2011Internet:
Autor: Ariel Palazzesi, MikroBasic - Primera Parte, enlace:http: //www.neoteo.com/mikrobasic-primera-parte .neo , fecha de
consulta: lunes, 18 de noviembre de 2010
Microchip, Datasheet PIC16F877A, enlace:http: //ww1.microchip.com/downloads/en/devicedoc/3092c.pdf ,
fecha de consulta: lunes, 18 de octubre de 2010
Microchip, Datasheet PIC18f452, enlace:http: //ww1.microchip.com/downloads/en/devicedoc/3092c.pdf ,
fecha de consulta: lunes, 18 de octubre de 2010