SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
!HOLA!
Un placer compartir contigo nuevamente… Seguimos
avanzando, ya nos toca abordar nuestro segundo
contenido, CONTROL Y MANEJO DE PERIFÉRICOS
(TECLADO 4X4 ,LCD GRÁFICAS 128x64), donde
aprenderemos a graficar en las pantallas GLCD y a usar
los teclados matriciales.
1
Ing. Wilfran Yaraure
Facilitador
!Vamos a darle!
CONTROL Y MANEJO DE PERIFÉRICOS
(TECLADO 4X4 ,LCD GRÁFICAS
128x64) CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Área Cs. De la Salud
Programa de Ing. Biomédica Dpto. De
Electromedicina
Unidad Curricular: Microcontroladores y
Microprocesadores II
LCD GRÁFICAS 128x64 (GLCD)
1.Son Gobernadas por 2 controladores, Cada uno encargado de un área
de la pantalla
2.Requieren una serie de librerías y sentencias para su funcionamiento
y configuración.
3.Cuentan con 20 pines Distribuidos en:
I. 8 Pines Para el bus de datos, el cual se encarga de mostrar la
imagen la información en la pantalla.
II. 6 Pines para el bus de control, estableciendo las
configuraciones de los controladores internos, entre otros ,
III. 2 Pines para la polarización
IV. 2 Pines para ajustar el contraste
Son pantallas que permiten graficar
mapas de bit en diferentes
proporciones de pixeles, además de
permitir también graficar o dibujar
figuras geométricas como líneas,
círculos, triángulos, entre otros, y
conformar así una imagen completa.
A diferencia de las LCD, estas permiten
graficar mapas de bit con mayor
resolución, y se pueden encontrar
comercialmente con 128x64, 128x128,
240x320 pixeles
3
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Características
El editor de código Mikro C, proporciona una
serie de librerías y sentencias que permiten
Configurar y utilizar las GLCD.
Lo primero que se debe hacer, es configurar el
Bus de dato y el bus de control , empleando
declaración de variables globales tipos Char y
Tipo Sbit.
Esto lo debe hacerse antes de la función
principal.
4
¿Como Podemos configurar las GLCD?
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Para ello realizamos la declaración de una variable global
tipos Char
char GLCD_DataPort at PORTX;
5
¿Como declaramos el bus de datos?
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Con esta línea de programación
configuramos el puerto encargado de enviar
los datos a la pantalla, debes tener en cuenta
que debe ser un puerto con 8 pines, 8bit, que
todos puedan ser configurados como salidas
Digitales
char GLCD_DataPort at PORTD;
Para ello realizamos la declaración de una variable global
tipos sbit, una para cada línea de control
6
¿Como declaramos el bus de control?
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
1. Primero declaramos los pines control, en este
caso empleando el puerto B para ello
//Declaración de los pines de control.
sbit GLCD_CS1 at RB0_bit;
sbit GLCD_CS2 at RB1_bit;
sbit GLCD_RS at RB2_bit;
sbit GLCD_RW at RB3_bit;
sbit GLCD_EN at RB4_bit;
sbit GLCD_RST at RB5_bit;
2. Luego declaramos los Tris de Control para este
mismo puerto.
//Declaración de los registros de TRIS de control.
sbit GLCD_CS1_Direction at TRISB0_bit;
sbit GLCD_CS2_Direction at TRISB1_bit;
sbit GLCD_RS_Direction at TRISB2_bit;
sbit GLCD_RW_Direction at TRISB3_bit;
sbit GLCD_EN_Direction at TRISB4_bit;
sbit GLCD_RST_Direction at TRISB5_bit;
En este caso mikro c y el Lenguaje proporcionan una
línea de programación que incluye l a librería
correspondiente a la GLCD, donde se describe la
sentencia necesaria para realizar la inicialización de
la misma.
7
¿Como Inicializamos nuestra pantalla GLCD?
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Debes tener en cuenta que esta declaración de
inicialización se realiza dentro de la función principal
del código, es decir, dentro de la Void Main (), y se
encuentra entre las condiciones iniciales del programa
como La declaración de los TRISX, del ADCON1, Entre
otros.
Glcd_Init();
sentencia para la inicialización de la GLCD
8
Imágenes monocromáticas en la GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Una de las diferencias entre las pantallas LCD y las
GLCD, es que esta ultima permite mostrar o graficar
imágenes monocromáticas, basadas en mapas de
bit mono cromáticos.
Para ellos se deben seguir los Siguientes pasos:
1. EDITAR IMAGEN
Se abre la imagen a utilizar con el editor de imagen
de mapa de Bits (Paint).
9
Imágenes monocromáticas en la GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
2. Se selecciona toda la imagen
(o Presionar CTRL+ E).
10
Imágenes monocromáticas en la GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
3. Cambiar tamaño
i. Se hace Clic derecho sobre la
imagen seleccionada para
desplegar el menú de edición Y
hacer clic en “cambiar tamaño”
ii.Seleccionar PÍXELES
iii.Cambiar la medida de tamaño
Horizontal a 128 Pixeles y 64
Pixeles vertical
iv.Deseleccionar la relación entre
ellos y seleccionar aceptar.
i.
ii
iii
iv
11
Imágenes monocromáticas en la GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
4. RECORTAR IMAGEN
hacer clic en recortar en la barra
de herramientas superior.(O
Presionar Ctrl+Mayús+X)
Manteniendo la imagen
seleccionada
12
Imágenes monocromáticas en la GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
5. GUARDAR IMAGEN
i. Hacer Clic en Archivo,
ii. Guardar como,
iii. IMAGEN BMP
iv. seleccionar el tipo de archivo
Mapa de Bit Monocromático
IMAGEN RESULTANTE
13
Imágenes monocromáticas en la GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
6. Código de la imagen en Lenguaje C
Para esto se emplea la herramienta GLCD
Bitmap Editor incluida en el MikroC PRO,
este editor se encuentra en la barra de
herramientas superior, dentro del ítem
Tools, y su submenú GLCD Bitmap Editor.
14
Imágenes monocromáticas en la GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
6. Código de la imagen en Lenguaje C
6.1 Hacer clic en la pestaña: KS0108,
6.2 Seleccionar 128x64 (KS0108)
6.3 Hacer Clic en Load BMP, para cargar Mapa de
Bit Monocromático creado en PAINT.
6.4 Seleccionar la opción mikroC PRO.
6.5 Seleccionar la opción Copoy Code to Clipboard.
Está acción copia el código en lenguaje C.
6.6 Guardar el Código en un blog de notas para
tenerlo a la mano a la hora de utilizarlo
para agregar al código de programa se realiza una
declaración de variable de tipo:
const unsigned char.
6.1
6.2
6.3
6.4
6.5
15
Código
Ejemplo
para
mostrar
una imagen
en la GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Declaración de Variables Globales
Función Principal
Declaración del Bus de datos en el PORTD
Declaración del Bus de Control en los
Puerto C y E
Declaración del Código de la
imagen
Sentencia de
Inicialización de la
GLCD
Sentencia Para
Mostrar la imagen en
la GLCD
16
Sentencias para graficar en la GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
El editor de código mikro c,
ofrece una serie de librerías
cargadas con sentencias o
líneas de programación que
permiten escribir y graficar,
textos e imágenes en la
Glcd. Entre ellas están:
Glcd_Fill(0); Rellena la memoria de la GLCD con un
patrón de bytes que pueden ser negros (1) o
blancos (0), colocando dentro del paréntesis el
valor correspondiente, es utilizada para “borrar”
la pantalla
Glcd_Dot(x,y,c); Dibuja un punto en la GLCD en las
coordenadas correspondientes, donde X es el
valor de la posición en x, Y es el valor de la
posición en Y, y C es el color del punto ( que
puede ser blanco o negro según se coloque 1 o 0)
17
Sentencias para graficar en la GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Glcd_Line (x_start, y_start, x_end, y_end, color);
Glcd_V_Line (x_start, y_start, x_end, y_end, color);
Glcd_H_Line(x_start, y_start, x_end, y_end, color);
Con estas 3 Sentencia se pueden graficar líneas en
cualquier dirección (Glcd_Line) Líneas Verticales
(Glcd_V_Line), y Líneas Horizontales (Glcd_H_Line)
Especificando las coordenadas del ponto inicio de la
línea (x_start, x_Start), y las del punto final de la
línea (x_end, y_end) además de definir el
parámetro color, con el valor del ultimo numero,
18
Sentencias para graficar en la GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Glcd_RectangleRectangle(x1, y1, x2, y2, color);
Glcd_Rectangle_Round_Edges; (x1, y1, x2, y2, r, color);
Glcd_Rectangle_Round_Edges_Fill; (x1, y1, x2, y2, r, color);
Con estas 3 Sentencia se pueden graficar
Rectángulos (Glcd_RectangleRectangle)
Rectángulos con Bordes redondeados
(Glcd_Rectangle_Round_Edges), y Rectángulos
con bordes redondeados y relleno
(Glcd_Rectangle_Round_Edges_Fill; )
Especificando las coordenadas de la esquina
superior izquierda (x1, y1), y de La
esquina inferior derecha (x2, y2), el radio
de los bordes redondeados (r) y el color
del relleno o de la línea según sea el
caso, con el ultimo numero.
19
Sentencias para graficar en la GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Glcd_Box (x1, y1, x2, y2, Color); Con esta Sentencia se pueden graficar una
caja o cuadrado
Especificando las coordenadas de la esquina
superior izquierda (x1, y1), y de La
esquina inferior derecha (x2, y2), y el
color del relleno o de la línea según sea
el caso, con el ultimo numero.
(x1, y1),
(x2, y2),
20
Sentencias para graficar en la GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Glcd_Circle (x, y, r, Color);
Glcd_Circle_Fill (x, y, r, Color);
Con esta Sentencia se pueden graficar un
Circulo con relleno(Glcd_Circle_Fill) o sin
relleno (Glcd_Circle)
Especificando las coordenadas del centro del
circulo (x, y), y el radio (r) además del
color del relleno o de la línea según sea
el caso.
(x, y)
r
21
Sentencias para graficar en la GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Glcd_Write_Char (‘Chr’, X, pg, Color) ;
Glcd_Write_Text (“tex”, X, pg, Color);
Con estas Sentencias se pueden mostrar
caracteres alfanuméricos (Glcd_Write_Char)
y Texto (Glcd_Write_Text) en la GLCD
Especificando El carácter o texto a mostrar
(Chr, Tex) entre comilla simple o comillas
dobles, según sea el caso, la posición en
x donde se va a comenzar a escribir (X), el
Numero de pagina (Pg) de la Glcd donde
se va a escribir, y el color.
22
Sentencias para graficar en la GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Glcd_Image (Titulo );
Con esta Sentencia se pueden Mostrar una
imagen en la pantalla GLCD
Especificando el titulo O Nombre de la
imagen.
23
Código Ejemplo de sentencias para GLCD.
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Habiendo hecho las
declaraciones de las
variables globales
necesarias para el uso
de la GLCD
“
Espero que te este yendo bien, se
que eres inteligente u capaz… por
eso te invito a seguir en este viaje, y
profundizar mas en este mundo de
los Microcontroladores.
24
Ing. Wilfran Yaraure
Facilitador
Teclados Matriciales 4x4
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Consisten un arreglos de pulsadores alineados en 4 filas y 4
columnas, constituyen una interfaz lo bastante completa para
numerosas aplicaciones
¿Como funciona?
Al pulsar una tecla, se activa una de las 4 columnas, y luego revisa
cual de las filas se activa, para determinar cual de las teclas fue
pulsada, para esto realiza un testeo guiado por la matriz formada,
llevando a cabo un recorrido por cada tecla de izquierda a derecha y
de arriba a bajo.
25
26
Keypad_Key_Press ();
Esta es una función que permite
mostrar los valores de cada tecla
cuando se presiona la tecla,
donde 0 indica que no hay
ninguna tecla presionada, y los
valores de 1 a 16, indicaran cada
una de las opciones de tecla que
se pueden ofrecer en esta matriz
char keypadPort at PORT_;
Esta Línea permite declara la
variable char que asignara el
puerto que controlará el
teclado Matricial, es decir
donde se conectara el mismo
Keypad_Init ();
Esta es la sentencia de
Inicialización necesaria para
usar el teclado matricial
4x4, la cual se debe
declarar dentro de la
función principal del código,
al momento de describir las
condiciones iniciales.
¿Como Configurar los Teclados Matriciales 4x4?
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
El Editor de código Mikro C PRO, cuenta con la librería Keypad4x4, que permite
controla un teclado de 4x4, usando estas 4 sentencias o funciones:
Keypad_Key_Click ()
Esta función ejerce una
tarea anti rebote, ya
que muestra el valor de
la tecla cuando se deja
de presionar la tecla en
cuestión.
27
¿Como Decodificar los Teclados Matriciales 4x4?
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Las funciones anteriores permiten desarrollar
algunas sentencia, pero al activarse una tecla, solo
se están activando un 1 lógico o un 0 lógico, para
poder traducir esos estados a un valor o carácter
alfanúmero, se debe emplear una función
decodificadora, para la cual se emplea la función
switch, que ofrece una serie de casos o menús,
para ejecutar y el código ASCII:
28
¿Qué es el código ASCII?
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
American Standard Code for Information Interchange
Código Americano (estadounidense) Estándar para el intercambio de
Información (se pronuncia Aski).
Es un código utilizado para representar caracteres y texto, asignándole
un valor numérico a cada uno, para hacer mas fácil su llamado en el las
líneas de programación.
Es utilizado por pantallas GLCD y otras, para mostrar los caracteres.
Ofreces Caracteres de control o no Imprimibles, y los caracteres
imprimibles, que son los símbolos que se pueden mostrar.
29
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Al programar,
usando las
librerías
correspondien
tes, se pueden
utilizar los
valores
decimales o
Hexadecimale
s mostrados
en esta tabla,
para indicarle
al micro y a la
pantalla que
carácter
mostrar.
30
¿Como Conectar los Teclados Matriciales 4x4?
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Para conectar los teclados matriciales de 4x4 se debe
tener en cuenta:
1. Se debe emplear un puerto completo de 8 bit, 8
pines
2. Las colunas se conectan a los bit menos
significativos, es decir la Columna 1 se conecta con
el pin 0 del puerto, la columna 2 con el pin 1 del
Puerto, la columna 3 con el Pin 2 del Puerto, y la
columna 4 con el Pin 3 del Puerto.
3. Se debe conectar una resistencia de protección de
10K, entre las columnas y el Pin de conexión
Ejemplo
Realizar un programa que muestre en
una pantalla GLCD un mensaje en varias
líneas : Bienvenidos, A continuación,
ingrese Datos, del Paciente, y luego
permita ingresar datos alfanuméricos
con un teclado matricial 4x4, permitiendo
escribir todas las letras y números
arábicos, borrar la letras y crear espacio
entre palabras.
31
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Atacando por partes
1.Es necesario Un puerto de Entrada para el Teclado 4x4, debe ser de 8
pines completos y de 8 Bit. Asignamos el PORT B
2.Son necesarios varios puerto de Salida para la GLCD, 8 Bit de bus de
datos, y los 6 bit de control. Para el Bus de dato asignamos El PORT D, y
para el bus de control lo distribuimos 3 en PORT C y 3 En el PORT E
3.Las entradas y salidas deben ser digitales
4.Serán necesarias variables Globales tipo Char para declara los puertos
encargados de pantalla y teclado, y algunas variables enteras.
5.Son necearías algunas funciones secundarias para realizar la
decodificación del teclado matricial y el código ASCII
32
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Analizamos el código por partes
33
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Observamos un ejemplo mas dinámico de Cabecera usando las
mismas herramientas /* … */
Declaramos las Variables necesarias para la Utilización de la GLCD
En este caso se emplea la Variable tipo Short, la cual le dio el
identificar borrado, para poder realizar el proceso de Borrado en la
Pantalla, usando contadores y otras herramientas que veremos mas
adelante
Declaramos las Variables necesarias configurar el Bus de Datos en el
PUERO D, y Bus de control Distribuido en el PORT C Y PORT E, debido
a que utilizaremos el PUERTO B para el Teclado.
Los Pines de control pueden ser declarados de Dos formas
Usando RC0 o LATC0
Como se observa en este ejemplo
Analizamos el código por partes
34
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
En esta porción del Código, observamos que se realiza la deflación de una
serie de variables tipo Short que funcionaran como contadores que ayudaran
al funcionamiento del teclado
posX, posY Permitirán escribir secuencialmente sin tener que estar
enviando las coordenadas cada vez que se pulse la tecla, funcionan como
contadores de posición.
letra es un contador que permitirá almacenar en el, el valor en código ASCII
de la tecla pulsada para mostrarlo en la GLGCD.
kp Es un contador que almacena el valor de la tecla pulsada, es decir cual
tecla fue pulsada.
cnt Es el contador nos ayudara a escribir varias letras con unas sola tecla,
almacenando en el cuantas veces fue pulsada la tecla.
kp_ant será un contador que guardara el valor de la tecla pulsada
anteriormente.
sigX es un contador que nos ayudará a hacer un salto de línea, es decir ira
contando hasta desde 0 a 127, para indicar que ya se debe pasar a la
siguiente posición en x, porque ya se alcanzo el máximo.
tiempo es un contador que se encargara de medir el tiempo de espera
necesario para ir a la siguiente letra con la misma tecla
Observamos también la declaración de la variable char para asignar
el puerto, en este caso al puerto B
Analizamos el código por partes
35
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Ya en este punto llegamos a la función principal del
programa, donde comenzamos a declara las condiciones
iniciales de cada variable, puerto y funciones.
Se activan las entradas y salidas digitales con el registro
ADCON1
Se desactivan los comparadores internos del micro con
el registro CMCON
Se les da un valor de inicio a cada contador antes
mencionado.
Se inicializan las librerías del teclado y la GLCD
Analizamos el código por partes
36
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Comenzando con la lógica del programa, se inicia con las tareas
que requiere el enunciado, la primera tarea era mostrar un
mensaje de bienvenida en varias líneas
Entonces usando la sentencia Glcd_Write_Text, colocando el
texto a mostrar entre comillas “texto” especificando la posición
en X y la posición en Y donde se va a iniciar a mostrar, y el color
de la letra.
Debes tener en cuenta que tienes 128 posiciones o pixeles, en
x, es decir 128 puntos para graficar en x Y 64 para graficar en Y,
no quiere decir que puedas graficar 128 letras.
Se puede observar que se dio coordenadas diferentes y
secuenciales a cada línea de mensaje para que no queden una
sobre otra y se muestren al mismo tiempo.
Analizamos el código por partes
37
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Para utilizar el Teclado, iniciamos un bucle de repeticiones
infinitas usando do {…} while(1); de aquí en adelante todo
estará dentro de es este bucle, para poder ingresar los valores a
través del teclado.
En este caso se les da nuevamente un valor de inicio a las
variables contadores a utilizar, para que estas inicien en cero y
no se genere ningún error al presionar las teclas
En este caso se hacen algunos arreglos para evitar el efecto rebote en l a tecla, o activar el teclado erróneamente, por ejemplo:
Se utiliza un retardo de 10 ms, antes de comenzar
Se aumenta 1 al contador tiempo
Se establece una sentencia interactiva condicional para verificar que se haya esperado el tiempo necesaria, y se pueda escribir
la letra, preguntando si tiempo es mayo que 150 y si sigX es igual a cero, si esto se cumple igualamos la variable sigX a 1
Si estas condiciones se cumplen entonces la variable kp será igual a la tecla presionada (Keypad_Key_Click();), los valores del 1
al 16, no se muestra aun ningún carácter numérico o letra.
Analizamos el código por partes
38
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Dentro del bucle de repeticiones infinitas serán creados varios
bucles de repeticiones condicionadas, para poder ejecutar el
teclado.
En este primer bucle se tiene la condición while (!kp); Es decir,
que repetirá hasta que !kp deje de estar presionado, recodamos
que este (!) operador lógico indica negación,
Analizamos el código por partes
39
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Para mostrar el valor en código ASCII, es decir el carácter en
la pantalla, se estará empleando la sentencia interactiva
condicional if else
Con el if verificamos si se esta presionando una tecla
diferente
Con el else verificamos si se esta presionando la misma
tecla.
Analizamos el código por partes
40
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Este primer if esta condicionado de manera que si kp tiene
cualquiera de esos valores,(kp_ant, o kp==16, o 12 o 13 ) se
ejecuten las sentencias de las líneas siguientes
Dentro de las sentencias de este condicional se encuentra
otra sentencia if , la cual permite verificar si se ha alcanzado
la posición máxima en x para poder seguir escribiendo, es
decir si posX llego a 120, se debe comenzar a escribir en la
siguiente línea, por lo que se reinicia posX colocándolo en 0, y
se aumenta la posY para pasar a la siguiente línea. Pero si
posY ya alcanzo el valor máximo en Y que seria posY = 7, se
debe reiniciar posY y comenzar a escribir al Incido de la
Pantalla nuevamente.
NOTA IMPORTANTE:
Los valores de kp== 16 o 12 o 13, corresponde
los case 12, case 13, case 13, de la sentencia
switch que se utilizara mas adelante para
mostrar los caracteres
Analizamos el código por partes
41
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Para el caso de else, cuando se presione la misma tecla, se
emplean otra sentencia condicional interactiva, que esta
sujeta al valor de la variable sigX, si esta es igual a 1, como lo
vimos en bucle do {…} while(!kp) entonces se deben cumplir
las sentencias de las líneas siguientes.
Donde se verifica de igual forma las posiciones en x y en y
para poder seguir escribiendo.
En este caso aun no se muestran los caracteres, solo se
están preparando las posiciones para escribir en la pantalla
NOTA IMPORTANTE:
Es necesario saber que al escribir en la pantalla,
podrás escribir 21 letras en 7 líneas, a pesar de
que X tiene 128 pixeles, cada letra ocupa una
cierta cantidad de ellos, y con relación a Y se
cuentan con 64 pixeles, pero cada letra ocupa
cierta cantidad de ellos al igual que en x.
Analizamos el código por partes
42
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Para poder decodificar los caracteres en cada tecla, se empleara una sentencia interactiva
tipos switch condicionada por la variable kp es decir, cada vez que se le de valor a kp con la
sentencia Keypad_Key_Click(); el programa entrará a la función switch y ejecutara el caso,
según la tecla que fue presionada (de 1 a 16)
En cada caso se encontrar las sentencias if, else, para verificar el estado del la variable cnt,
para decidir que letra o numero mostrar. En el case 1 por ejemplo
Si la variable cnt es menor que 1, es decir se presiono solo 1 vez, entonces se le asigna un
valor a la variable letra= 49 para mostrar el numero 1 en la pantalla
Si la variable cnt no es menor que 1, si no que es menor que 2, es decir se presiono 2 veces,
se le asigna un valor a la variable letra= 65. para mostrar el la Letra A en la pantalla
Si ninguna de estas condiciones anteriores se cumple, indica que se presiono la tecla por 3era
vez y se le asigna un valor a la variable letra= 66. para mostrar el la Letra B en la pantalla.
Y así se realizara el arreglo correspondiente para cada caso, según la cantidad de letra o
numero a mostrar por cada tecla, desde el case 1 hasta el case 16
NOTA IMPORTANTE:
Los valores de la variable letra pueden ser asignados
en numeración decimal o hexadecimal, y la pantalla
los traducirá a código ASCII, por lo que se debe
verificar la tabla del código ASCII para asignar los
valores
Analizamos el código por partes
43
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Para al fin poder mostrar los caracteres de cada
tecla, se emplea la sentencia
Glcd_Write_Char (letra, posX, posY, 1);
Teniendo en cuenta las variables letra, posX, posY, ye
el tratamiento que se les dio en las líneas anteriores.
Analizamos el código por partes
44
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
Para el Borrado, se utilizará el caso 16 el la sentencia switch, es decir que cuando se
presione la tecla 16, se ejecutara el borrado.
Como se ejecuta:
Si posX es igual a 0 y posY es menor que 0, entonces le restamos 1 a posY y llevamos al
máximo a posX= 120. y se le asigna un valor a la variable letra=32 que en código ASCII
corresponde a un espacio en blanco
Pero si la posX es menor que 0, entonces regresamos a la ultima posición de x y
colocamos un valor a letra=23
Cada vez que esto pase, se le asigna un valor al contador borrado= 1, para indicar que se
esta borrando un espacio.
Para completar el proceso, en las ultimas líneas del
programa, se usa la sentencia if, condicionada por la
variable borrado, cuando esta sea igual a 1 se activara
esta condición, para luego de que se borre, se coloque
automáticamente la variable borrado= 0, y se regrese
a la ultima posición en x
45
Conexiones
CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550
Ing. Wilfran Yaraure
Facilitador
46
¡Excelen!
Hemos llegado al final de esta sesión, pero aun no
queda un poco mas para profundizar, te invito que sigas
indagando y practicando, y trates de realizar los
ejercios demostrados y hacer la simulación, no hay
mejor manera de aprender que haciendo.
Si tines dudas estoy a un mensaje de distancia.
Ing. Wilfran Yaraure
Facilitador
“
47
Ing. Wilfran Yaraure
Facilitador
El sentido Trascendental del prepararse, de sacrificar,
al entregarse del todo para lograr el objetivo, es el
sentido que abraza cada vocación, cada profesión ,
cuando sabemos a dónde vamos, porque lo hacemos,
y para quién lo hacemos.
Saber que la recompensa será mayor que cualquier
valor metálico, y más duradera que cualquier riqueza
de esta tierra, es una motivación para valorar cada una
de las horas, días y años de esfuerzo, sacrificio y
entrega, por eso te invito a correr y luchar por esa
corona Incorruptible, y ganarle la carrera al desánimo.
"¿No saben que en el estadio todos corren, pero uno solo gana el premio? Corran, entonces, de manera que lo ganen. Los
atletas se privan de todo, y lo hacen para obtener una corona que se marchita; nosotros, en cambio, por una corona
incorruptible. Así, yo corro, pero no sin saber adónde; peleo, no como el que da golpes en el aire. Al contrario, castigo mi
cuerpo y lo tengo sometido, no sea que, después de haber predicado a los demás, yo mismo quede descalificado.
(1Cor. 9, 24-27)
Bibliografía
✓ Clavijo (2011), Diseño y simulación de sistemas microcontrolados en lenguaje C, Programación con MikroC
PRO, Simulación en Proteus ISIS. https://drive.google.com/file/d/0B3Gup-
Soes9hbFByRHF0WFpuQk0/view?usp=sharing
✓ MikroElectronika (2011) GUÍA DE REFERENCIA RÁPIDA A mikroC www.mikroe.com
48

Más contenido relacionado

La actualidad más candente

PWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosPWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosEduardo Henriquez
 
Areas de memoria PLCs Omron
Areas de memoria PLCs OmronAreas de memoria PLCs Omron
Areas de memoria PLCs OmronDavicho86
 
Resumen microcontroladores
Resumen microcontroladoresResumen microcontroladores
Resumen microcontroladoresXavier Solis
 
1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptx
1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptx1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptx
1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptxDiegoAvalos32
 
Fundamentos de los sistemas mecatrónicos
Fundamentos de los sistemas mecatrónicosFundamentos de los sistemas mecatrónicos
Fundamentos de los sistemas mecatrónicosKarlita Elizabeth
 
Clasificación de los controladores lógicos programables.
Clasificación de los controladores lógicos programables.Clasificación de los controladores lógicos programables.
Clasificación de los controladores lógicos programables.Angel Ng
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladoresabemen
 
Multiplexores
MultiplexoresMultiplexores
MultiplexoresRopoga
 
Módulos ccp pic 16f887
Módulos ccp pic 16f887Módulos ccp pic 16f887
Módulos ccp pic 16f887whendygarcia
 
Dispositivo logico programable
Dispositivo logico programableDispositivo logico programable
Dispositivo logico programablepancho_55
 
Diseño de salidas para sistemas de información
Diseño de salidas para sistemas de informaciónDiseño de salidas para sistemas de información
Diseño de salidas para sistemas de informaciónYaskelly Yedra
 
PRIMER Proyecto alarma arduino
PRIMER Proyecto alarma arduinoPRIMER Proyecto alarma arduino
PRIMER Proyecto alarma arduinoLuis Leandro Carlo
 

La actualidad más candente (20)

PWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosPWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros Involucrados
 
Areas de memoria PLCs Omron
Areas de memoria PLCs OmronAreas de memoria PLCs Omron
Areas de memoria PLCs Omron
 
Resumen microcontroladores
Resumen microcontroladoresResumen microcontroladores
Resumen microcontroladores
 
Sc capitulo5
Sc capitulo5Sc capitulo5
Sc capitulo5
 
Timer0 PIC16F84A
Timer0 PIC16F84ATimer0 PIC16F84A
Timer0 PIC16F84A
 
1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptx
1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptx1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptx
1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptx
 
Fundamentos de los sistemas mecatrónicos
Fundamentos de los sistemas mecatrónicosFundamentos de los sistemas mecatrónicos
Fundamentos de los sistemas mecatrónicos
 
Clasificación de los controladores lógicos programables.
Clasificación de los controladores lógicos programables.Clasificación de los controladores lógicos programables.
Clasificación de los controladores lógicos programables.
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
Microprocesador 8085 Apuntes assembler
Microprocesador 8085 Apuntes assemblerMicroprocesador 8085 Apuntes assembler
Microprocesador 8085 Apuntes assembler
 
Programación PIC16F84A
Programación PIC16F84AProgramación PIC16F84A
Programación PIC16F84A
 
Multiplexores
MultiplexoresMultiplexores
Multiplexores
 
Algebra Boole.ppt
Algebra Boole.pptAlgebra Boole.ppt
Algebra Boole.ppt
 
Módulos ccp pic 16f887
Módulos ccp pic 16f887Módulos ccp pic 16f887
Módulos ccp pic 16f887
 
Instrumentación Médica. Bioinstrumentación.
Instrumentación Médica.  Bioinstrumentación.Instrumentación Médica.  Bioinstrumentación.
Instrumentación Médica. Bioinstrumentación.
 
Instrucciones del-8085 eiee
Instrucciones del-8085 eieeInstrucciones del-8085 eiee
Instrucciones del-8085 eiee
 
Dispositivo logico programable
Dispositivo logico programableDispositivo logico programable
Dispositivo logico programable
 
Diseño de salidas para sistemas de información
Diseño de salidas para sistemas de informaciónDiseño de salidas para sistemas de información
Diseño de salidas para sistemas de información
 
PRIMER Proyecto alarma arduino
PRIMER Proyecto alarma arduinoPRIMER Proyecto alarma arduino
PRIMER Proyecto alarma arduino
 
Controladores logicos programables (plc)
Controladores logicos programables (plc)Controladores logicos programables (plc)
Controladores logicos programables (plc)
 

Similar a UNIDAD II CONTROL Y MANEJO DE PERIFÉRICOS(TECLADO 4X4 ,LCD GRficas 128x64) 2021.pdf

Informe grupo cronos
Informe grupo cronosInforme grupo cronos
Informe grupo cronosraulernesto28
 
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
 
Mi simulador obdii_2018_marzo_2018--34 pags
Mi simulador obdii_2018_marzo_2018--34 pagsMi simulador obdii_2018_marzo_2018--34 pags
Mi simulador obdii_2018_marzo_2018--34 pagsjoaquinin1
 
Contador
ContadorContador
Contadorhisilva
 
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
 
Microcontroladores: mikroBasic para microcontroladores PIC
Microcontroladores: mikroBasic para microcontroladores PICMicrocontroladores: mikroBasic para microcontroladores PIC
Microcontroladores: mikroBasic para microcontroladores PICSANTIAGO PABLO ALBERTO
 
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
 
Informe practica ecuaciones # 6
Informe practica ecuaciones # 6Informe practica ecuaciones # 6
Informe practica ecuaciones # 6Freddy Cuasapaz
 
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886Victor Asanza
 
Curso%20de%20inroad%20y%20clip
Curso%20de%20inroad%20y%20clipCurso%20de%20inroad%20y%20clip
Curso%20de%20inroad%20y%20clipDesign Huanca
 
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladoresMicrocontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladoresSANTIAGO PABLO ALBERTO
 
Micc final sept05_2009
Micc final sept05_2009Micc final sept05_2009
Micc final sept05_2009Jair BG
 
Micc final feb14_2009
Micc final feb14_2009Micc final feb14_2009
Micc final feb14_2009Jair BG
 
Proyecto micro
Proyecto microProyecto micro
Proyecto microjhompix
 

Similar a UNIDAD II CONTROL Y MANEJO DE PERIFÉRICOS(TECLADO 4X4 ,LCD GRficas 128x64) 2021.pdf (20)

Informe grupo cronos
Informe grupo cronosInforme grupo cronos
Informe grupo cronos
 
Introducción
IntroducciónIntroducción
Introducción
 
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886
 
Mi simulador obdii_2018_marzo_2018--34 pags
Mi simulador obdii_2018_marzo_2018--34 pagsMi simulador obdii_2018_marzo_2018--34 pags
Mi simulador obdii_2018_marzo_2018--34 pags
 
Manual básico WinPic800
Manual básico WinPic800Manual básico WinPic800
Manual básico WinPic800
 
Contador
ContadorContador
Contador
 
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
 
Microcontroladores: mikroBasic para microcontroladores PIC
Microcontroladores: mikroBasic para microcontroladores PICMicrocontroladores: mikroBasic para microcontroladores PIC
Microcontroladores: mikroBasic para microcontroladores PIC
 
Unidad III
Unidad IIIUnidad III
Unidad III
 
PANTALLAS LCD
PANTALLAS LCDPANTALLAS LCD
PANTALLAS LCD
 
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
 
Informe practica ecuaciones # 6
Informe practica ecuaciones # 6Informe practica ecuaciones # 6
Informe practica ecuaciones # 6
 
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
 
Curso%20de%20inroad%20y%20clip
Curso%20de%20inroad%20y%20clipCurso%20de%20inroad%20y%20clip
Curso%20de%20inroad%20y%20clip
 
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladoresMicrocontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
 
Taxímetro con Pic16F887
Taxímetro con Pic16F887Taxímetro con Pic16F887
Taxímetro con Pic16F887
 
Proyecto3
Proyecto3Proyecto3
Proyecto3
 
Micc final sept05_2009
Micc final sept05_2009Micc final sept05_2009
Micc final sept05_2009
 
Micc final feb14_2009
Micc final feb14_2009Micc final feb14_2009
Micc final feb14_2009
 
Proyecto micro
Proyecto microProyecto micro
Proyecto micro
 

Más de SistemadeEstudiosMed

Metodologia Aprendizaje Multicanal - ADI22.pdf
Metodologia Aprendizaje Multicanal - ADI22.pdfMetodologia Aprendizaje Multicanal - ADI22.pdf
Metodologia Aprendizaje Multicanal - ADI22.pdfSistemadeEstudiosMed
 
DE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdf
DE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdfDE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdf
DE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdfSistemadeEstudiosMed
 
Clase 1 Estadistica Generalidades.pptx
Clase 1 Estadistica Generalidades.pptxClase 1 Estadistica Generalidades.pptx
Clase 1 Estadistica Generalidades.pptxSistemadeEstudiosMed
 
nociones básicas de la comunicación.pdf
nociones básicas de la comunicación.pdfnociones básicas de la comunicación.pdf
nociones básicas de la comunicación.pdfSistemadeEstudiosMed
 
UNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.ppt
UNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.pptUNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.ppt
UNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.pptSistemadeEstudiosMed
 
Unidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.ppt
Unidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.pptUnidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.ppt
Unidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.pptSistemadeEstudiosMed
 
Lineamientos_Trabajos de Grado_UNEFM-nov-2009.pdf
Lineamientos_Trabajos de Grado_UNEFM-nov-2009.pdfLineamientos_Trabajos de Grado_UNEFM-nov-2009.pdf
Lineamientos_Trabajos de Grado_UNEFM-nov-2009.pdfSistemadeEstudiosMed
 

Más de SistemadeEstudiosMed (20)

Metodologia Aprendizaje Multicanal - ADI22.pdf
Metodologia Aprendizaje Multicanal - ADI22.pdfMetodologia Aprendizaje Multicanal - ADI22.pdf
Metodologia Aprendizaje Multicanal - ADI22.pdf
 
DE-04-COMPRESORES-2022.pdf
DE-04-COMPRESORES-2022.pdfDE-04-COMPRESORES-2022.pdf
DE-04-COMPRESORES-2022.pdf
 
DE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdf
DE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdfDE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdf
DE-03-BOMBAS Y SISTEMAS DE BOMBEO-2022.pdf
 
DE-02-FLUJO DE FLUIDOS-2022.pdf
DE-02-FLUJO DE FLUIDOS-2022.pdfDE-02-FLUJO DE FLUIDOS-2022.pdf
DE-02-FLUJO DE FLUIDOS-2022.pdf
 
DE-01-INTRODUCCION-2022.pdf
DE-01-INTRODUCCION-2022.pdfDE-01-INTRODUCCION-2022.pdf
DE-01-INTRODUCCION-2022.pdf
 
Clase 3 Correlación.ppt
Clase 3 Correlación.pptClase 3 Correlación.ppt
Clase 3 Correlación.ppt
 
Clase 2 Medidas Estadisticas.ppt
Clase 2 Medidas Estadisticas.pptClase 2 Medidas Estadisticas.ppt
Clase 2 Medidas Estadisticas.ppt
 
Clase 1 Estadistica Generalidades.pptx
Clase 1 Estadistica Generalidades.pptxClase 1 Estadistica Generalidades.pptx
Clase 1 Estadistica Generalidades.pptx
 
nociones básicas de la comunicación.pdf
nociones básicas de la comunicación.pdfnociones básicas de la comunicación.pdf
nociones básicas de la comunicación.pdf
 
¿Cómo elaborar un Mapa Mental?
¿Cómo  elaborar un  Mapa Mental?¿Cómo  elaborar un  Mapa Mental?
¿Cómo elaborar un Mapa Mental?
 
Unidad 1 Planificación Docente
Unidad 1 Planificación Docente Unidad 1 Planificación Docente
Unidad 1 Planificación Docente
 
hablemos_pp2_inf.pptx
hablemos_pp2_inf.pptxhablemos_pp2_inf.pptx
hablemos_pp2_inf.pptx
 
UNIDAD 3 FASE METODOLOGICA.pptx
UNIDAD 3 FASE METODOLOGICA.pptxUNIDAD 3 FASE METODOLOGICA.pptx
UNIDAD 3 FASE METODOLOGICA.pptx
 
UNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.ppt
UNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.pptUNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.ppt
UNIDAD 2 FASE PLANTEAMIENTO ANTECEDENTES Y BASES TEORICAS.ppt
 
Unidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.ppt
Unidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.pptUnidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.ppt
Unidad I SEMINARIO DE INVESTIGACION DE TRABAJO DE GRADO.ppt
 
Lineamientos_Trabajos de Grado_UNEFM-nov-2009.pdf
Lineamientos_Trabajos de Grado_UNEFM-nov-2009.pdfLineamientos_Trabajos de Grado_UNEFM-nov-2009.pdf
Lineamientos_Trabajos de Grado_UNEFM-nov-2009.pdf
 
unidad quirurgica.pdf
unidad quirurgica.pdfunidad quirurgica.pdf
unidad quirurgica.pdf
 
Cuidados preoperatorios.pdf
Cuidados preoperatorios.pdfCuidados preoperatorios.pdf
Cuidados preoperatorios.pdf
 
Cirugía..pdf
Cirugía..pdfCirugía..pdf
Cirugía..pdf
 
Cirugía Ambulatoria2.pdf
Cirugía Ambulatoria2.pdfCirugía Ambulatoria2.pdf
Cirugía Ambulatoria2.pdf
 

Último

EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 

Último (20)

Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 

UNIDAD II CONTROL Y MANEJO DE PERIFÉRICOS(TECLADO 4X4 ,LCD GRficas 128x64) 2021.pdf

  • 1. !HOLA! Un placer compartir contigo nuevamente… Seguimos avanzando, ya nos toca abordar nuestro segundo contenido, CONTROL Y MANEJO DE PERIFÉRICOS (TECLADO 4X4 ,LCD GRÁFICAS 128x64), donde aprenderemos a graficar en las pantallas GLCD y a usar los teclados matriciales. 1 Ing. Wilfran Yaraure Facilitador !Vamos a darle!
  • 2. CONTROL Y MANEJO DE PERIFÉRICOS (TECLADO 4X4 ,LCD GRÁFICAS 128x64) CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Área Cs. De la Salud Programa de Ing. Biomédica Dpto. De Electromedicina Unidad Curricular: Microcontroladores y Microprocesadores II
  • 3. LCD GRÁFICAS 128x64 (GLCD) 1.Son Gobernadas por 2 controladores, Cada uno encargado de un área de la pantalla 2.Requieren una serie de librerías y sentencias para su funcionamiento y configuración. 3.Cuentan con 20 pines Distribuidos en: I. 8 Pines Para el bus de datos, el cual se encarga de mostrar la imagen la información en la pantalla. II. 6 Pines para el bus de control, estableciendo las configuraciones de los controladores internos, entre otros , III. 2 Pines para la polarización IV. 2 Pines para ajustar el contraste Son pantallas que permiten graficar mapas de bit en diferentes proporciones de pixeles, además de permitir también graficar o dibujar figuras geométricas como líneas, círculos, triángulos, entre otros, y conformar así una imagen completa. A diferencia de las LCD, estas permiten graficar mapas de bit con mayor resolución, y se pueden encontrar comercialmente con 128x64, 128x128, 240x320 pixeles 3 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Características
  • 4. El editor de código Mikro C, proporciona una serie de librerías y sentencias que permiten Configurar y utilizar las GLCD. Lo primero que se debe hacer, es configurar el Bus de dato y el bus de control , empleando declaración de variables globales tipos Char y Tipo Sbit. Esto lo debe hacerse antes de la función principal. 4 ¿Como Podemos configurar las GLCD? CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador
  • 5. Para ello realizamos la declaración de una variable global tipos Char char GLCD_DataPort at PORTX; 5 ¿Como declaramos el bus de datos? CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Con esta línea de programación configuramos el puerto encargado de enviar los datos a la pantalla, debes tener en cuenta que debe ser un puerto con 8 pines, 8bit, que todos puedan ser configurados como salidas Digitales char GLCD_DataPort at PORTD;
  • 6. Para ello realizamos la declaración de una variable global tipos sbit, una para cada línea de control 6 ¿Como declaramos el bus de control? CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador 1. Primero declaramos los pines control, en este caso empleando el puerto B para ello //Declaración de los pines de control. sbit GLCD_CS1 at RB0_bit; sbit GLCD_CS2 at RB1_bit; sbit GLCD_RS at RB2_bit; sbit GLCD_RW at RB3_bit; sbit GLCD_EN at RB4_bit; sbit GLCD_RST at RB5_bit; 2. Luego declaramos los Tris de Control para este mismo puerto. //Declaración de los registros de TRIS de control. sbit GLCD_CS1_Direction at TRISB0_bit; sbit GLCD_CS2_Direction at TRISB1_bit; sbit GLCD_RS_Direction at TRISB2_bit; sbit GLCD_RW_Direction at TRISB3_bit; sbit GLCD_EN_Direction at TRISB4_bit; sbit GLCD_RST_Direction at TRISB5_bit;
  • 7. En este caso mikro c y el Lenguaje proporcionan una línea de programación que incluye l a librería correspondiente a la GLCD, donde se describe la sentencia necesaria para realizar la inicialización de la misma. 7 ¿Como Inicializamos nuestra pantalla GLCD? CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Debes tener en cuenta que esta declaración de inicialización se realiza dentro de la función principal del código, es decir, dentro de la Void Main (), y se encuentra entre las condiciones iniciales del programa como La declaración de los TRISX, del ADCON1, Entre otros. Glcd_Init(); sentencia para la inicialización de la GLCD
  • 8. 8 Imágenes monocromáticas en la GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Una de las diferencias entre las pantallas LCD y las GLCD, es que esta ultima permite mostrar o graficar imágenes monocromáticas, basadas en mapas de bit mono cromáticos. Para ellos se deben seguir los Siguientes pasos: 1. EDITAR IMAGEN Se abre la imagen a utilizar con el editor de imagen de mapa de Bits (Paint).
  • 9. 9 Imágenes monocromáticas en la GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador 2. Se selecciona toda la imagen (o Presionar CTRL+ E).
  • 10. 10 Imágenes monocromáticas en la GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador 3. Cambiar tamaño i. Se hace Clic derecho sobre la imagen seleccionada para desplegar el menú de edición Y hacer clic en “cambiar tamaño” ii.Seleccionar PÍXELES iii.Cambiar la medida de tamaño Horizontal a 128 Pixeles y 64 Pixeles vertical iv.Deseleccionar la relación entre ellos y seleccionar aceptar. i. ii iii iv
  • 11. 11 Imágenes monocromáticas en la GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador 4. RECORTAR IMAGEN hacer clic en recortar en la barra de herramientas superior.(O Presionar Ctrl+Mayús+X) Manteniendo la imagen seleccionada
  • 12. 12 Imágenes monocromáticas en la GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador 5. GUARDAR IMAGEN i. Hacer Clic en Archivo, ii. Guardar como, iii. IMAGEN BMP iv. seleccionar el tipo de archivo Mapa de Bit Monocromático IMAGEN RESULTANTE
  • 13. 13 Imágenes monocromáticas en la GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador 6. Código de la imagen en Lenguaje C Para esto se emplea la herramienta GLCD Bitmap Editor incluida en el MikroC PRO, este editor se encuentra en la barra de herramientas superior, dentro del ítem Tools, y su submenú GLCD Bitmap Editor.
  • 14. 14 Imágenes monocromáticas en la GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador 6. Código de la imagen en Lenguaje C 6.1 Hacer clic en la pestaña: KS0108, 6.2 Seleccionar 128x64 (KS0108) 6.3 Hacer Clic en Load BMP, para cargar Mapa de Bit Monocromático creado en PAINT. 6.4 Seleccionar la opción mikroC PRO. 6.5 Seleccionar la opción Copoy Code to Clipboard. Está acción copia el código en lenguaje C. 6.6 Guardar el Código en un blog de notas para tenerlo a la mano a la hora de utilizarlo para agregar al código de programa se realiza una declaración de variable de tipo: const unsigned char. 6.1 6.2 6.3 6.4 6.5
  • 15. 15 Código Ejemplo para mostrar una imagen en la GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Declaración de Variables Globales Función Principal Declaración del Bus de datos en el PORTD Declaración del Bus de Control en los Puerto C y E Declaración del Código de la imagen Sentencia de Inicialización de la GLCD Sentencia Para Mostrar la imagen en la GLCD
  • 16. 16 Sentencias para graficar en la GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador El editor de código mikro c, ofrece una serie de librerías cargadas con sentencias o líneas de programación que permiten escribir y graficar, textos e imágenes en la Glcd. Entre ellas están: Glcd_Fill(0); Rellena la memoria de la GLCD con un patrón de bytes que pueden ser negros (1) o blancos (0), colocando dentro del paréntesis el valor correspondiente, es utilizada para “borrar” la pantalla Glcd_Dot(x,y,c); Dibuja un punto en la GLCD en las coordenadas correspondientes, donde X es el valor de la posición en x, Y es el valor de la posición en Y, y C es el color del punto ( que puede ser blanco o negro según se coloque 1 o 0)
  • 17. 17 Sentencias para graficar en la GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Glcd_Line (x_start, y_start, x_end, y_end, color); Glcd_V_Line (x_start, y_start, x_end, y_end, color); Glcd_H_Line(x_start, y_start, x_end, y_end, color); Con estas 3 Sentencia se pueden graficar líneas en cualquier dirección (Glcd_Line) Líneas Verticales (Glcd_V_Line), y Líneas Horizontales (Glcd_H_Line) Especificando las coordenadas del ponto inicio de la línea (x_start, x_Start), y las del punto final de la línea (x_end, y_end) además de definir el parámetro color, con el valor del ultimo numero,
  • 18. 18 Sentencias para graficar en la GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Glcd_RectangleRectangle(x1, y1, x2, y2, color); Glcd_Rectangle_Round_Edges; (x1, y1, x2, y2, r, color); Glcd_Rectangle_Round_Edges_Fill; (x1, y1, x2, y2, r, color); Con estas 3 Sentencia se pueden graficar Rectángulos (Glcd_RectangleRectangle) Rectángulos con Bordes redondeados (Glcd_Rectangle_Round_Edges), y Rectángulos con bordes redondeados y relleno (Glcd_Rectangle_Round_Edges_Fill; ) Especificando las coordenadas de la esquina superior izquierda (x1, y1), y de La esquina inferior derecha (x2, y2), el radio de los bordes redondeados (r) y el color del relleno o de la línea según sea el caso, con el ultimo numero.
  • 19. 19 Sentencias para graficar en la GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Glcd_Box (x1, y1, x2, y2, Color); Con esta Sentencia se pueden graficar una caja o cuadrado Especificando las coordenadas de la esquina superior izquierda (x1, y1), y de La esquina inferior derecha (x2, y2), y el color del relleno o de la línea según sea el caso, con el ultimo numero. (x1, y1), (x2, y2),
  • 20. 20 Sentencias para graficar en la GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Glcd_Circle (x, y, r, Color); Glcd_Circle_Fill (x, y, r, Color); Con esta Sentencia se pueden graficar un Circulo con relleno(Glcd_Circle_Fill) o sin relleno (Glcd_Circle) Especificando las coordenadas del centro del circulo (x, y), y el radio (r) además del color del relleno o de la línea según sea el caso. (x, y) r
  • 21. 21 Sentencias para graficar en la GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Glcd_Write_Char (‘Chr’, X, pg, Color) ; Glcd_Write_Text (“tex”, X, pg, Color); Con estas Sentencias se pueden mostrar caracteres alfanuméricos (Glcd_Write_Char) y Texto (Glcd_Write_Text) en la GLCD Especificando El carácter o texto a mostrar (Chr, Tex) entre comilla simple o comillas dobles, según sea el caso, la posición en x donde se va a comenzar a escribir (X), el Numero de pagina (Pg) de la Glcd donde se va a escribir, y el color.
  • 22. 22 Sentencias para graficar en la GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Glcd_Image (Titulo ); Con esta Sentencia se pueden Mostrar una imagen en la pantalla GLCD Especificando el titulo O Nombre de la imagen.
  • 23. 23 Código Ejemplo de sentencias para GLCD. CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Habiendo hecho las declaraciones de las variables globales necesarias para el uso de la GLCD
  • 24. “ Espero que te este yendo bien, se que eres inteligente u capaz… por eso te invito a seguir en este viaje, y profundizar mas en este mundo de los Microcontroladores. 24 Ing. Wilfran Yaraure Facilitador
  • 25. Teclados Matriciales 4x4 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Consisten un arreglos de pulsadores alineados en 4 filas y 4 columnas, constituyen una interfaz lo bastante completa para numerosas aplicaciones ¿Como funciona? Al pulsar una tecla, se activa una de las 4 columnas, y luego revisa cual de las filas se activa, para determinar cual de las teclas fue pulsada, para esto realiza un testeo guiado por la matriz formada, llevando a cabo un recorrido por cada tecla de izquierda a derecha y de arriba a bajo. 25
  • 26. 26 Keypad_Key_Press (); Esta es una función que permite mostrar los valores de cada tecla cuando se presiona la tecla, donde 0 indica que no hay ninguna tecla presionada, y los valores de 1 a 16, indicaran cada una de las opciones de tecla que se pueden ofrecer en esta matriz char keypadPort at PORT_; Esta Línea permite declara la variable char que asignara el puerto que controlará el teclado Matricial, es decir donde se conectara el mismo Keypad_Init (); Esta es la sentencia de Inicialización necesaria para usar el teclado matricial 4x4, la cual se debe declarar dentro de la función principal del código, al momento de describir las condiciones iniciales. ¿Como Configurar los Teclados Matriciales 4x4? CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador El Editor de código Mikro C PRO, cuenta con la librería Keypad4x4, que permite controla un teclado de 4x4, usando estas 4 sentencias o funciones: Keypad_Key_Click () Esta función ejerce una tarea anti rebote, ya que muestra el valor de la tecla cuando se deja de presionar la tecla en cuestión.
  • 27. 27 ¿Como Decodificar los Teclados Matriciales 4x4? CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Las funciones anteriores permiten desarrollar algunas sentencia, pero al activarse una tecla, solo se están activando un 1 lógico o un 0 lógico, para poder traducir esos estados a un valor o carácter alfanúmero, se debe emplear una función decodificadora, para la cual se emplea la función switch, que ofrece una serie de casos o menús, para ejecutar y el código ASCII:
  • 28. 28 ¿Qué es el código ASCII? CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador American Standard Code for Information Interchange Código Americano (estadounidense) Estándar para el intercambio de Información (se pronuncia Aski). Es un código utilizado para representar caracteres y texto, asignándole un valor numérico a cada uno, para hacer mas fácil su llamado en el las líneas de programación. Es utilizado por pantallas GLCD y otras, para mostrar los caracteres. Ofreces Caracteres de control o no Imprimibles, y los caracteres imprimibles, que son los símbolos que se pueden mostrar.
  • 29. 29 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Al programar, usando las librerías correspondien tes, se pueden utilizar los valores decimales o Hexadecimale s mostrados en esta tabla, para indicarle al micro y a la pantalla que carácter mostrar.
  • 30. 30 ¿Como Conectar los Teclados Matriciales 4x4? CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Para conectar los teclados matriciales de 4x4 se debe tener en cuenta: 1. Se debe emplear un puerto completo de 8 bit, 8 pines 2. Las colunas se conectan a los bit menos significativos, es decir la Columna 1 se conecta con el pin 0 del puerto, la columna 2 con el pin 1 del Puerto, la columna 3 con el Pin 2 del Puerto, y la columna 4 con el Pin 3 del Puerto. 3. Se debe conectar una resistencia de protección de 10K, entre las columnas y el Pin de conexión
  • 31. Ejemplo Realizar un programa que muestre en una pantalla GLCD un mensaje en varias líneas : Bienvenidos, A continuación, ingrese Datos, del Paciente, y luego permita ingresar datos alfanuméricos con un teclado matricial 4x4, permitiendo escribir todas las letras y números arábicos, borrar la letras y crear espacio entre palabras. 31 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador
  • 32. Atacando por partes 1.Es necesario Un puerto de Entrada para el Teclado 4x4, debe ser de 8 pines completos y de 8 Bit. Asignamos el PORT B 2.Son necesarios varios puerto de Salida para la GLCD, 8 Bit de bus de datos, y los 6 bit de control. Para el Bus de dato asignamos El PORT D, y para el bus de control lo distribuimos 3 en PORT C y 3 En el PORT E 3.Las entradas y salidas deben ser digitales 4.Serán necesarias variables Globales tipo Char para declara los puertos encargados de pantalla y teclado, y algunas variables enteras. 5.Son necearías algunas funciones secundarias para realizar la decodificación del teclado matricial y el código ASCII 32 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador
  • 33. Analizamos el código por partes 33 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Observamos un ejemplo mas dinámico de Cabecera usando las mismas herramientas /* … */ Declaramos las Variables necesarias para la Utilización de la GLCD En este caso se emplea la Variable tipo Short, la cual le dio el identificar borrado, para poder realizar el proceso de Borrado en la Pantalla, usando contadores y otras herramientas que veremos mas adelante Declaramos las Variables necesarias configurar el Bus de Datos en el PUERO D, y Bus de control Distribuido en el PORT C Y PORT E, debido a que utilizaremos el PUERTO B para el Teclado. Los Pines de control pueden ser declarados de Dos formas Usando RC0 o LATC0 Como se observa en este ejemplo
  • 34. Analizamos el código por partes 34 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador En esta porción del Código, observamos que se realiza la deflación de una serie de variables tipo Short que funcionaran como contadores que ayudaran al funcionamiento del teclado posX, posY Permitirán escribir secuencialmente sin tener que estar enviando las coordenadas cada vez que se pulse la tecla, funcionan como contadores de posición. letra es un contador que permitirá almacenar en el, el valor en código ASCII de la tecla pulsada para mostrarlo en la GLGCD. kp Es un contador que almacena el valor de la tecla pulsada, es decir cual tecla fue pulsada. cnt Es el contador nos ayudara a escribir varias letras con unas sola tecla, almacenando en el cuantas veces fue pulsada la tecla. kp_ant será un contador que guardara el valor de la tecla pulsada anteriormente. sigX es un contador que nos ayudará a hacer un salto de línea, es decir ira contando hasta desde 0 a 127, para indicar que ya se debe pasar a la siguiente posición en x, porque ya se alcanzo el máximo. tiempo es un contador que se encargara de medir el tiempo de espera necesario para ir a la siguiente letra con la misma tecla Observamos también la declaración de la variable char para asignar el puerto, en este caso al puerto B
  • 35. Analizamos el código por partes 35 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Ya en este punto llegamos a la función principal del programa, donde comenzamos a declara las condiciones iniciales de cada variable, puerto y funciones. Se activan las entradas y salidas digitales con el registro ADCON1 Se desactivan los comparadores internos del micro con el registro CMCON Se les da un valor de inicio a cada contador antes mencionado. Se inicializan las librerías del teclado y la GLCD
  • 36. Analizamos el código por partes 36 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Comenzando con la lógica del programa, se inicia con las tareas que requiere el enunciado, la primera tarea era mostrar un mensaje de bienvenida en varias líneas Entonces usando la sentencia Glcd_Write_Text, colocando el texto a mostrar entre comillas “texto” especificando la posición en X y la posición en Y donde se va a iniciar a mostrar, y el color de la letra. Debes tener en cuenta que tienes 128 posiciones o pixeles, en x, es decir 128 puntos para graficar en x Y 64 para graficar en Y, no quiere decir que puedas graficar 128 letras. Se puede observar que se dio coordenadas diferentes y secuenciales a cada línea de mensaje para que no queden una sobre otra y se muestren al mismo tiempo.
  • 37. Analizamos el código por partes 37 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Para utilizar el Teclado, iniciamos un bucle de repeticiones infinitas usando do {…} while(1); de aquí en adelante todo estará dentro de es este bucle, para poder ingresar los valores a través del teclado. En este caso se les da nuevamente un valor de inicio a las variables contadores a utilizar, para que estas inicien en cero y no se genere ningún error al presionar las teclas
  • 38. En este caso se hacen algunos arreglos para evitar el efecto rebote en l a tecla, o activar el teclado erróneamente, por ejemplo: Se utiliza un retardo de 10 ms, antes de comenzar Se aumenta 1 al contador tiempo Se establece una sentencia interactiva condicional para verificar que se haya esperado el tiempo necesaria, y se pueda escribir la letra, preguntando si tiempo es mayo que 150 y si sigX es igual a cero, si esto se cumple igualamos la variable sigX a 1 Si estas condiciones se cumplen entonces la variable kp será igual a la tecla presionada (Keypad_Key_Click();), los valores del 1 al 16, no se muestra aun ningún carácter numérico o letra. Analizamos el código por partes 38 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Dentro del bucle de repeticiones infinitas serán creados varios bucles de repeticiones condicionadas, para poder ejecutar el teclado. En este primer bucle se tiene la condición while (!kp); Es decir, que repetirá hasta que !kp deje de estar presionado, recodamos que este (!) operador lógico indica negación,
  • 39. Analizamos el código por partes 39 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Para mostrar el valor en código ASCII, es decir el carácter en la pantalla, se estará empleando la sentencia interactiva condicional if else Con el if verificamos si se esta presionando una tecla diferente Con el else verificamos si se esta presionando la misma tecla.
  • 40. Analizamos el código por partes 40 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Este primer if esta condicionado de manera que si kp tiene cualquiera de esos valores,(kp_ant, o kp==16, o 12 o 13 ) se ejecuten las sentencias de las líneas siguientes Dentro de las sentencias de este condicional se encuentra otra sentencia if , la cual permite verificar si se ha alcanzado la posición máxima en x para poder seguir escribiendo, es decir si posX llego a 120, se debe comenzar a escribir en la siguiente línea, por lo que se reinicia posX colocándolo en 0, y se aumenta la posY para pasar a la siguiente línea. Pero si posY ya alcanzo el valor máximo en Y que seria posY = 7, se debe reiniciar posY y comenzar a escribir al Incido de la Pantalla nuevamente. NOTA IMPORTANTE: Los valores de kp== 16 o 12 o 13, corresponde los case 12, case 13, case 13, de la sentencia switch que se utilizara mas adelante para mostrar los caracteres
  • 41. Analizamos el código por partes 41 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Para el caso de else, cuando se presione la misma tecla, se emplean otra sentencia condicional interactiva, que esta sujeta al valor de la variable sigX, si esta es igual a 1, como lo vimos en bucle do {…} while(!kp) entonces se deben cumplir las sentencias de las líneas siguientes. Donde se verifica de igual forma las posiciones en x y en y para poder seguir escribiendo. En este caso aun no se muestran los caracteres, solo se están preparando las posiciones para escribir en la pantalla NOTA IMPORTANTE: Es necesario saber que al escribir en la pantalla, podrás escribir 21 letras en 7 líneas, a pesar de que X tiene 128 pixeles, cada letra ocupa una cierta cantidad de ellos, y con relación a Y se cuentan con 64 pixeles, pero cada letra ocupa cierta cantidad de ellos al igual que en x.
  • 42. Analizamos el código por partes 42 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Para poder decodificar los caracteres en cada tecla, se empleara una sentencia interactiva tipos switch condicionada por la variable kp es decir, cada vez que se le de valor a kp con la sentencia Keypad_Key_Click(); el programa entrará a la función switch y ejecutara el caso, según la tecla que fue presionada (de 1 a 16) En cada caso se encontrar las sentencias if, else, para verificar el estado del la variable cnt, para decidir que letra o numero mostrar. En el case 1 por ejemplo Si la variable cnt es menor que 1, es decir se presiono solo 1 vez, entonces se le asigna un valor a la variable letra= 49 para mostrar el numero 1 en la pantalla Si la variable cnt no es menor que 1, si no que es menor que 2, es decir se presiono 2 veces, se le asigna un valor a la variable letra= 65. para mostrar el la Letra A en la pantalla Si ninguna de estas condiciones anteriores se cumple, indica que se presiono la tecla por 3era vez y se le asigna un valor a la variable letra= 66. para mostrar el la Letra B en la pantalla. Y así se realizara el arreglo correspondiente para cada caso, según la cantidad de letra o numero a mostrar por cada tecla, desde el case 1 hasta el case 16 NOTA IMPORTANTE: Los valores de la variable letra pueden ser asignados en numeración decimal o hexadecimal, y la pantalla los traducirá a código ASCII, por lo que se debe verificar la tabla del código ASCII para asignar los valores
  • 43. Analizamos el código por partes 43 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Para al fin poder mostrar los caracteres de cada tecla, se emplea la sentencia Glcd_Write_Char (letra, posX, posY, 1); Teniendo en cuenta las variables letra, posX, posY, ye el tratamiento que se les dio en las líneas anteriores.
  • 44. Analizamos el código por partes 44 CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador Para el Borrado, se utilizará el caso 16 el la sentencia switch, es decir que cuando se presione la tecla 16, se ejecutara el borrado. Como se ejecuta: Si posX es igual a 0 y posY es menor que 0, entonces le restamos 1 a posY y llevamos al máximo a posX= 120. y se le asigna un valor a la variable letra=32 que en código ASCII corresponde a un espacio en blanco Pero si la posX es menor que 0, entonces regresamos a la ultima posición de x y colocamos un valor a letra=23 Cada vez que esto pase, se le asigna un valor al contador borrado= 1, para indicar que se esta borrando un espacio. Para completar el proceso, en las ultimas líneas del programa, se usa la sentencia if, condicionada por la variable borrado, cuando esta sea igual a 1 se activara esta condición, para luego de que se borre, se coloque automáticamente la variable borrado= 0, y se regrese a la ultima posición en x
  • 45. 45 Conexiones CONTROL Y MANEJO DE PERIFÉRICOS CON EL PIC18F4550 Ing. Wilfran Yaraure Facilitador
  • 46. 46 ¡Excelen! Hemos llegado al final de esta sesión, pero aun no queda un poco mas para profundizar, te invito que sigas indagando y practicando, y trates de realizar los ejercios demostrados y hacer la simulación, no hay mejor manera de aprender que haciendo. Si tines dudas estoy a un mensaje de distancia. Ing. Wilfran Yaraure Facilitador
  • 47. “ 47 Ing. Wilfran Yaraure Facilitador El sentido Trascendental del prepararse, de sacrificar, al entregarse del todo para lograr el objetivo, es el sentido que abraza cada vocación, cada profesión , cuando sabemos a dónde vamos, porque lo hacemos, y para quién lo hacemos. Saber que la recompensa será mayor que cualquier valor metálico, y más duradera que cualquier riqueza de esta tierra, es una motivación para valorar cada una de las horas, días y años de esfuerzo, sacrificio y entrega, por eso te invito a correr y luchar por esa corona Incorruptible, y ganarle la carrera al desánimo. "¿No saben que en el estadio todos corren, pero uno solo gana el premio? Corran, entonces, de manera que lo ganen. Los atletas se privan de todo, y lo hacen para obtener una corona que se marchita; nosotros, en cambio, por una corona incorruptible. Así, yo corro, pero no sin saber adónde; peleo, no como el que da golpes en el aire. Al contrario, castigo mi cuerpo y lo tengo sometido, no sea que, después de haber predicado a los demás, yo mismo quede descalificado. (1Cor. 9, 24-27)
  • 48. Bibliografía ✓ Clavijo (2011), Diseño y simulación de sistemas microcontrolados en lenguaje C, Programación con MikroC PRO, Simulación en Proteus ISIS. https://drive.google.com/file/d/0B3Gup- Soes9hbFByRHF0WFpuQk0/view?usp=sharing ✓ MikroElectronika (2011) GUÍA DE REFERENCIA RÁPIDA A mikroC www.mikroe.com 48