Informe de Laboratorio Taller 2
Informe de Laboratorio Taller 2
Informe de Laboratorio Taller 2
INFORME LABORATORIO
PRÁCTICA PANTALLA LCD Y TECLADO MATRICIAL
Docente:
Intendente. JOSÉ GERARDO BURBANO YANGUATIN
Estudiante:
Subintendente. NELSON ENRIQUE REYES RINCON
nelson.reyes4050@correo.policia.gov.co
1
Informe Laboratorio Práctica Pantalla LCD y Teclado Matricial – Sistemas Embebidos
.
1. Marco Teórico
2
Informe Laboratorio Práctica Pantalla LCD y Teclado Matricial – Sistemas Embebidos
.
1.5. Librería
3
Informe Laboratorio Práctica Pantalla LCD y Teclado Matricial – Sistemas Embebidos
.
como double)) en
notación científica
indicando el exponente
con "E"
Float with
Formato de punto
%f truncated
flotante
decimal
Float with
La opción más corta
%g rounded
entre "%e" y "%f"
decimal
La opción más corta
%G
entre "%E" y "%F"
2. Formatos Un entero sin signo en
%o
notación de base octal
A continuación, se relacionarán los String or
%s Una cadena de caracteres
formatos en una estructura switch, para cada carácter
símbolo y se explicara qué hace cada comando. %u Un entero sin signo Unsigned int
Un entero sin signo en
2.1. Códigos de formato de
notación de base
printf/scanf Hex int
%x hexadecimal, usando
(lower case)
minúsculas para los
Las familias de
dígitos extendidos
funciones ? printf y ? scanf de entrada/salida
en C++ soportan una cadena de texto Un entero sin signo en
conteniendo códigos y banderas de notación de base
Hex int
formato para indicar diferentes tipos y %X hexadecimal, usando
(upper case)
opciones de formato y justificación. [9] mayúsculas para los
dígitos extendidos
Código Formato %p Un puntero
%c Un char (caracter) Character Un puntero a un entero
en el cual se deposita la
Un entero con signo en
%d Signed int %n cantidad de caracteres
notación de base decimal
escritos hasta el
%i Un entero con signo momento
Reales((pseudoreales
como double)) en Float in 2.2. Character
%e notación científica exponential
indicando el exponente format El tipo de dato char es para caracteres
con "e" (character en inglés). Es decir, símbolos
%E Reales((pseudoreales simples como: a, $, T, 9, !, etc. ... una variable
4
Informe Laboratorio Práctica Pantalla LCD y Teclado Matricial – Sistemas Embebidos
.
Una variable entera (tipo int) se 2.11. Hex long int (upper case)
declara, o se declara y se inicializa en la forma: Hexadecimal entero largo (mayúsculas)
unsigned int numero; int nota = 10; En este
caso la variable número podrá estar entre 0 y 2.12. Float with truncated decimal
65535, mientras que nota deberá estar Punto decimal flotante
comprendida entre -32768 al 32767.
2.13. Float with rounded decimal
2.5. Signed int
2.14. Float in exponential format
Cuando definimos una variable de este Notación científica
tipo podemos resumirla poniendo solo int
hasta ahora siempre utilizamos este tipo de 2.15. Unsigned int with decimal place
dato para almacenar enteros, pero de ahora en inserted. Specify two numbers for n.
más podemos utilizar la más eficiente según la The first is a total field width. The
necesidad de almacenamiento. second is the desired number of
decimal places.
2.6. Long unsigned int
Entero sin signo con lugar decimal
Permite almacenar un valor como insertado. Especifique dos números para n. El
mínimo entre [0 , 4294967295] primero es un ancho total del campo. El
Cuando definimos una variable de este tipo segundo es el deseado Número de decimales.
podemos resumirla poniendo solo unsigned
Long 2.16. %03u 018 254
Muestra los 3 últimos dígitos
2.7. Long signed int
5
Informe Laboratorio Práctica Pantalla LCD y Teclado Matricial – Sistemas Embebidos
.
2.17. %u 18 254
Muestra los enteros en base 10 sin signo (int) 3.2. Cuerpo del Programa
switch(teclado)
3. Programa {
case '1':
printf(lcd_putc," \f %5.2f",n);
3.1. Encabezado
//printf(LCD_PUTC, "n=%u",n);
break;
#include <18F4550.h> //Es el pic que se va a
case '2':
utilizar. printf(lcd_putc," \f %03u",p);
#fuses //muestra los 3 ultimos digitos
HSPLL,NOWDT,NOPROTECT,NOLVP,NO break;
DEBUG,USBDIV,PLL1,CPUDIV1,VREGEN, case '3':
NOMCLR,NOPBADEN //configuración de printf(lcd_putc," \f %u",p); //muestra
los enteros en base 10 sin signo (int)
fusibles.
break;
#use delay(clock=20000000)
#include <kbd_lib.c> //libreria del teclado case '4':
printf(lcd_putc," \f %d",a); //muestra
matricial solo los valores negativos
#include <lcd.c> //Libreria de la pantalla de break;
cristal liquido
6
Informe Laboratorio Práctica Pantalla LCD y Teclado Matricial – Sistemas Embebidos
.
case '5':
printf(lcd_putc," \f %2u",p); //muestra
solo los 2 ultimos digitos
break;
case '6':
printf(lcd_putc," \f %x",d); //muestra
las letras en minúscula (int)
break;
case '7':
printf(lcd_putc," \f %X",d); //muestra Figura 1. Selección y ubicación del
las letras en mayúscula (int)
break; microcontrolador PIC18F4550, en la
Protoboard.
case '8':
printf(lcd_putc," \f %4X",p); //muestra
4 digitos hexadecimales
break;
case '9':
printf(lcd_putc," \f %3.1w",p);
//muestra un cero a la izquierda
break;
case '0':
printf(lcd_putc," \f %s",g); //muestra
cadena de caracteres (string)
break; Figura 2. Selección y ubicación del teclado
}
KEYPAD-SMALLCALC, en la Protoboard.
}
7
Informe Laboratorio Práctica Pantalla LCD y Teclado Matricial – Sistemas Embebidos
.
8
Informe Laboratorio Práctica Pantalla LCD y Teclado Matricial – Sistemas Embebidos
.
A B C D E F G H J K
0 0
1 1
LCD1
9 8 7 A LM016L
2
6 5 4 B
2
3 2 1 C
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
+ = 0 ON U1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
3 D 3
C 2
RA0/AN0 RC0/T1OSO/T1CKI
15
3 16
RA1/AN1 RC1/T1OSI/CCP2/UOE
1
4 17
RA2/AN2/VREF-/CVREF RC2/CCP1/P1A
5 23
RA3/AN3/VREF+ RC4/D-/VM
6 24
RA4/T0CKI/C1OUT/RCV RC5/D+/VP
7 25
RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK
4 14
RA6/OSC2/CLKO RC7/RX/DT/SDO
26 4
13
OSC1/CLKI
33 19
RB0/AN12/INT0/FLT0/SDI/SDA RD0/SPP0
34 20
RB1/AN10/INT1/SCK/SCL RD1/SPP1
35 21
RB2/AN8/INT2/VMO RD2/SPP2
36 22
RB3/AN9/CCP2/VPO RD3/SPP3
5 37 27 5
RB4/AN11/KBI0/CSSPP RD4/SPP4
38 28
RB5/KBI1/PGM RD5/SPP5/P1B
39 29
RB6/KBI2/PGC RD6/SPP6/P1C
40 30
RB7/KBI3/PGD RD7/SPP7/P1D
8
RE0/AN5/CK1SPP
9
6 RE1/AN6/CK2SPP 6
10
18
RE2/AN7/OESPP
1
R1
VUSB RE3/MCLR/VPP
1k
PIC18F4550
7 7
0 0
1 1
LCD1
9 8 7 A LM016L
2
6 5 4 B
2
3 2 1 C
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
+ = 0 ON U1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
3 D 3
C 2
RA0/AN0 RC0/T1OSO/T1CKI
15
3 16
RA1/AN1 RC1/T1OSI/CCP2/UOE
4
1
4 17
RA2/AN2/VREF-/CVREF RC2/CCP1/P1A
5 23
RA3/AN3/VREF+ RC4/D-/VM
6 24
RA4/T0CKI/C1OUT/RCV RC5/D+/VP
7 25
RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK
4 14
RA6/OSC2/CLKO RC7/RX/DT/SDO
26 4
13
OSC1/CLKI
33 19
RB0/AN12/INT0/FLT0/SDI/SDA RD0/SPP0
34 20
RB1/AN10/INT1/SCK/SCL RD1/SPP1
35 21
alguno.
RE0/AN5/CK1SPP
9
6 RE1/AN6/CK2SPP 6
10
18
RE2/AN7/OESPP
1
R1
VUSB RE3/MCLR/VPP
1k
PIC18F4550
7 7
A B C D E F G H J K
8 8
2
6 5 4 B
2
Figura 14. Se oprime en el teclado matricial la
3 2 1 C
VDD
VSS
VEE
D0
D1
D2
D3
D4
D5
D6
D7
E
+ = 0 ON U1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
3 D 3
C 2
RA0/AN0 RC0/T1OSO/T1CKI
15
3 16
RA1/AN1 RC1/T1OSI/CCP2/UOE
4
4 17
RA2/AN2/VREF-/CVREF RC2/CCP1/P1A
5 23
“000”.
RB1/AN10/INT1/SCK/SCL RD1/SPP1
35 21
RB2/AN8/INT2/VMO RD2/SPP2
36 22
RB3/AN9/CCP2/VPO RD3/SPP3
5 37 27 5
RB4/AN11/KBI0/CSSPP RD4/SPP4
38 28
RB5/KBI1/PGM RD5/SPP5/P1B
39 29
RB6/KBI2/PGC RD6/SPP6/P1C
40 30
RB7/KBI3/PGD RD7/SPP7/P1D
8
RE0/AN5/CK1SPP
9
6 RE1/AN6/CK2SPP 6
10
18
RE2/AN7/OESPP
1
R1
VUSB RE3/MCLR/VPP
1k
PIC18F4550
A B C D E F G H J K
7 7
0 0
8 8
1 1
FILE NAME: Proyecto02.pdsprj DATE:
LCD1
DESIGN TITLE: Proyecto02.pdsprj 18/04/2020 9 8 7 A LM016L
PAGE:
9 C:\SISTEMASEMBEBIDOSNER\Taller_02\Proyecto02.pdsprj 9
6 5 4
PATH:
1 of 1 B
BY: @AUTHOR REV:@REV TIME: 5:19:16 p. m. 2 2
A B C D E F G H J K
3 2 1 C
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
4
5
6
7
8
9
10
11
12
13
14
3 D 3
C 2
RA0/AN0 RC0/T1OSO/T1CKI
15
3 16
RA1/AN1 RC1/T1OSI/CCP2/UOE
4
4 17
RA2/AN2/VREF-/CVREF RC2/CCP1/P1A
5 23
RA3/AN3/VREF+ RC4/D-/VM
6 24
“REYES”.
RE0/AN5/CK1SPP
9
6 RE1/AN6/CK2SPP 6
10
18
RE2/AN7/OESPP
1
R1
VUSB RE3/MCLR/VPP
1k
PIC18F4550
7 7
8 8
9
Informe Laboratorio Práctica Pantalla LCD y Teclado Matricial – Sistemas Embebidos
.
0 0
9 8 7 A
LCD1
LM016L
1
3 2 1 C
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
+ = 0 ON U1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
3 D 3
C 2
RA0/AN0 RC0/T1OSO/T1CKI
15
3 16
RA1/AN1 RC1/T1OSI/CCP2/UOE
1
4 17
RA2/AN2/VREF-/CVREF RC2/CCP1/P1A
A B C D E F G H J K 5 23
RA3/AN3/VREF+ RC4/D-/VM
6 24
RA4/T0CKI/C1OUT/RCV RC5/D+/VP
7 25
RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK
4 14
RA6/OSC2/CLKO RC7/RX/DT/SDO
26 4
0 0 13
OSC1/CLKI
33 19
RB0/AN12/INT0/FLT0/SDI/SDA RD0/SPP0
34 20
RB1/AN10/INT1/SCK/SCL RD1/SPP1
35 21
RB2/AN8/INT2/VMO RD2/SPP2
36 22
RB3/AN9/CCP2/VPO RD3/SPP3
5 37 27 5
RB4/AN11/KBI0/CSSPP RD4/SPP4
1 1 38 28
RB5/KBI1/PGM RD5/SPP5/P1B
LCD1
9 8 7
39 29
A RB6/KBI2/PGC RD6/SPP6/P1C
LM016L 40 30
RB7/KBI3/PGD RD7/SPP7/P1D
8
RE0/AN5/CK1SPP
6 5 4
9
B 6 RE1/AN6/CK2SPP 6
10
2 2 18
RE2/AN7/OESPP
1
R1
VUSB RE3/MCLR/VPP
1k
3 2 1
PIC18F4550
C
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
7 7
+ = 0 ON U1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
3 D 3
C 2
RA0/AN0 RC0/T1OSO/T1CKI
15
3 16
RA1/AN1 RC1/T1OSI/CCP2/UOE
4
4 17
RA2/AN2/VREF-/CVREF RC2/CCP1/P1A
5 23
RA3/AN3/VREF+ RC4/D-/VM
6 24
RA4/T0CKI/C1OUT/RCV RC5/D+/VP
7
RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK
25 8 8
4 14
RA6/OSC2/CLKO RC7/RX/DT/SDO
26 4
13
OSC1/CLKI
FILE NAME: Proyecto02.pdsprj DATE:
33 19
34
RB0/AN12/INT0/FLT0/SDI/SDA RD0/SPP0
20 DESIGN TITLE: Proyecto02.pdsprj 18/04/2020
RB1/AN10/INT1/SCK/SCL RD1/SPP1
35 21
RB2/AN8/INT2/VMO RD2/SPP2 PAGE:
36
RB3/AN9/CCP2/VPO RD3/SPP3
22 9 PATH: C:\SISTEMASEMBEBIDOSNER\Taller_02\Proyecto02.pdsprj 9
5 37 27 5 1 of 1
RB4/AN11/KBI0/CSSPP RD4/SPP4
38 28 BY: @AUTHOR REV:@REV TIME: 5:19:16 p. m.
RB5/KBI1/PGM RD5/SPP5/P1B
39 29
RB6/KBI2/PGC RD6/SPP6/P1C A B C D E F G H J K
40 30
RB7/KBI3/PGD RD7/SPP7/P1D
8
“fe”.
PAGE:
9 PATH: C:\SISTEMASEMBEBIDOSNER\Taller_02\Proyecto02.pdsprj 9
1 of 1
BY: @AUTHOR REV:@REV TIME: 5:19:16 p. m.
A B C D E F G H J K
0 0
9 8 7 A
LCD1
LM016L
1
2
6 5 4 B
2
3 2 1 C
VDD
VSS
VEE
A
RW
B C D E F G H J K
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
+ = 0 ON U1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
3 D 3
0 0 C 2
RA0/AN0 RC0/T1OSO/T1CKI
15
3 16
RA1/AN1 RC1/T1OSI/CCP2/UOE
4
1
4 17
RA2/AN2/VREF-/CVREF RC2/CCP1/P1A
5 23
RA3/AN3/VREF+ RC4/D-/VM
6 24
RA4/T0CKI/C1OUT/RCV RC5/D+/VP
7 25
RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK
4 14
RA6/OSC2/CLKO RC7/RX/DT/SDO
26 4
1 1 13
OSC1/CLKI
LCD1
9 8 7 A LM016L 33
34
RB0/AN12/INT0/FLT0/SDI/SDA RD0/SPP0
19
20
RB1/AN10/INT1/SCK/SCL RD1/SPP1
35 21
RB2/AN8/INT2/VMO RD2/SPP2
6 5 4
36 22
B RB3/AN9/CCP2/VPO RD3/SPP3
5 37 27 5
2 2 RB4/AN11/KBI0/CSSPP RD4/SPP4
38 28
RB5/KBI1/PGM RD5/SPP5/P1B
39 29
RB6/KBI2/PGC RD6/SPP6/P1C
3 2 1
40 30
C RB7/KBI3/PGD RD7/SPP7/P1D
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
8
E
RE0/AN5/CK1SPP
9
RE1/AN6/CK2SPP
+ ON U1 6 6
= 0 10
R1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
3 D 3 RE2/AN7/OESPP
C 2 15 18 1
RA0/AN0 RC0/T1OSO/T1CKI VUSB RE3/MCLR/VPP
3 16 1k
RA1/AN1 RC1/T1OSI/CCP2/UOE PIC18F4550
4
4 17
RA2/AN2/VREF-/CVREF RC2/CCP1/P1A
5 23
RA3/AN3/VREF+ RC4/D-/VM
6 24
RA4/T0CKI/C1OUT/RCV RC5/D+/VP
7 25 7 7
RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK
4 14
RA6/OSC2/CLKO RC7/RX/DT/SDO
26 4
13
OSC1/CLKI
33 19
RB0/AN12/INT0/FLT0/SDI/SDA RD0/SPP0
34 20
RB1/AN10/INT1/SCK/SCL RD1/SPP1
35 21
RB2/AN8/INT2/VMO RD2/SPP2
36 22 8 8
RB3/AN9/CCP2/VPO RD3/SPP3
5 37 27 5
RB4/AN11/KBI0/CSSPP RD4/SPP4
38 28
RB5/KBI1/PGM RD5/SPP5/P1B
39
RB6/KBI2/PGC RD6/SPP6/P1C
29 FILE NAME: Proyecto02.pdsprj DATE:
40 30
RB7/KBI3/PGD RD7/SPP7/P1D
DESIGN TITLE: Proyecto02.pdsprj 18/04/2020
8
RE0/AN5/CK1SPP PAGE:
RE1/AN6/CK2SPP
9 9 PATH: C:\SISTEMASEMBEBIDOSNER\Taller_02\Proyecto02.pdsprj 9
6 10 6 1 of 1
18
RE2/AN7/OESPP
1
R1
VUSB RE3/MCLR/VPP BY: @AUTHOR REV:@REV TIME: 5:19:16 p. m.
1k A B C D E F G H J K
PIC18F4550
0 0
1 1
LCD1
9 8 7 A LM016L
2
6 5 4 B
2
3 2 1 C
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
+ = 0 ON U1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
3 D 3
C 2
RA0/AN0 RC0/T1OSO/T1CKI
15
3 16
RA1/AN1 RC1/T1OSI/CCP2/UOE
4
4 17
RA2/AN2/VREF-/CVREF RC2/CCP1/P1A
5 23
RA3/AN3/VREF+ RC4/D-/VM
6 24
RA4/T0CKI/C1OUT/RCV RC5/D+/VP
7 25
RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK
4 14
RA6/OSC2/CLKO RC7/RX/DT/SDO
26 4
13
OSC1/CLKI
33 19
RB0/AN12/INT0/FLT0/SDI/SDA RD0/SPP0
34 20
RB1/AN10/INT1/SCK/SCL RD1/SPP1
35 21
RB2/AN8/INT2/VMO RD2/SPP2
36 22
RB3/AN9/CCP2/VPO RD3/SPP3
5 37 27 5
RB4/AN11/KBI0/CSSPP RD4/SPP4
38 28
RB5/KBI1/PGM RD5/SPP5/P1B
39 29
RB6/KBI2/PGC RD6/SPP6/P1C
40 30
RB7/KBI3/PGD RD7/SPP7/P1D
8
RE0/AN5/CK1SPP
9
6 RE1/AN6/CK2SPP 6
10
18
RE2/AN7/OESPP
1
R1
VUSB RE3/MCLR/VPP
1k
PIC18F4550
7 7
8 8
10
Informe Laboratorio Práctica Pantalla LCD y Teclado Matricial – Sistemas Embebidos
.
Figura 20. Se oprime en el teclado matricial la [2] Google: Definición PIC C Compiler,
tecla 8, obteniendo como resultado y https://sites.google.com/site/ielectrox/home/pr
visualizando en la pantalla LCD, el valor ogramas-1/pic-c-compiler
“0000”. [3] Google: Definición Teclado Matricial,
https://saber.patagoniatec.com/2014/12/teclado
s-de-membrana-4x4-matriz-ptec/
A B C D E F G H J K
0 0
9 8 7 A
LCD1
LM016L
1 [4] Google: Definición Pantalla LCD,
2
6 5 4 B
2 http://www.huborarduino.com/programacion/c
3 2 1 C
VDD
urso-programacion/36-leccion16.html
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
+ = 0 ON U1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
3 D 3
C 2
RA0/AN0 RC0/T1OSO/T1CKI
15
3 16
RA1/AN1 RC1/T1OSI/CCP2/UOE
4
4 17
RA2/AN2/VREF-/CVREF RC2/CCP1/P1A
https://aprende-web.net/librerias/
34 20
RB1/AN10/INT1/SCK/SCL RD1/SPP1
35 21
RB2/AN8/INT2/VMO RD2/SPP2
36 22
RB3/AN9/CCP2/VPO RD3/SPP3
5 37 27 5
RB4/AN11/KBI0/CSSPP RD4/SPP4
38 28
RB5/KBI1/PGM RD5/SPP5/P1B
39 29
RB6/KBI2/PGC RD6/SPP6/P1C
40 30
RB7/KBI3/PGD RD7/SPP7/P1D
7 7
https://www.electronicaestudio.com/que-es-un-
8
3 Referencias
11