You are on page 1of 38

27/04/2014

1
MANEJO DE PERIFRICOS CON EL
PIC16F877A
Ing. Junior Figueroa Olmeo
DIS!RI"#CI$N DE PINES DEL PIC16F877A
27/04/2014
2
RE%IS!ROS DEL PIC16F877A
EN!RADAS & SALIDAS DI%I!ALES
El microcontrolador PIC16F877A cuenta con cinco puertos denotados con A, B, C, D y E.
Todos ellos tienen las siuientes caracter!sticas en com"n#
Por ra$ones pr%cticas, muc&os pines de E'( son multi)uncionales. (i un pin no se
con)iura para reali$ar una de estas )unciones, puede ser utili$ado como pin de E'( de
prop*sito eneral.
Cada puerto tiene su propio reistro de control de )lu+o, o sea el reistro T,I(
correspondiente# T,I(A, T,I(B, T,I(C etc. lo -ue determina el comportamiento de
.its del puerto, pero no determina su contenido.
27/04/2014
3
EN!RADAS & SALIDAS DI%I!ALES
Puer'o POR!A ( regi)'ro !RISA
El puerto P/,TA es un puerto .idireccional, de 6 .its de anc&ura 06 pines1. 2os .its
de los reistros T,I(A y ADC/31 controlan los pines del P/,TA.
El reistro T,I(A determina cu%les pines ser%n con)iurados como entradas y cu%les
ser%n con)iurados como salidas diitales. 2os .its apropiados del reistro ADC/31
determinan si los pines ser%n con)iurados como entradas anal*icas o
entradas'salidas diitales.
Todos los pines del P/,TA se comportan como entradas'salidas diitales. Cinco de
ellos pueden ser con)iurados como entradas anal*icas 0denotadas por A341. El
terminal ,A5'T6C7I se utili$a tam.i8n como entrada de relo+ e4terno del
tempori$adorTimer6.
27/04/2014
4
Puer'o POR!A ( regi)'ro !RISA
Puer'o POR!" ( regi)'ro !RIS"
El puerto P/,TB es un puerto .idireccional, de 8 .its de anc&ura. 2os .its del
reistroT,I(B determinan la )unci*n de sus pines 0entrada o salida diital1.
2os pines ,B5 al ,B7 pueden proramarse 0con)iurando el reistro I3TC/31 para
enerar una interrupci*n cuando la se9al -ue inresa en uno de ellos cam.ia de
estado. El pin ,B6'I3T tam.i8n puede proramarse como petici*n de interrupci*n
e4terna.
Cada terminal del puerto B cuenta con un circuito pull-up interno, -ue se puede
proramar mediante el .it ,BP:; 0BIT 71 del reistro de )unciones /PTI/3<,E=.
Con este .it se acti>an o desacti>an los pull-up del puerto B.
27/04/2014
5
Puer'o POR!" ( regi)'ro !RIS"
Re)i)'en*ia) Pull+#, el POR!"
:na resistencia pull-up est% )or$ando todo el tiempo a -ue una entrada permane$ca en un
estado deseado. Esto es de >ital importancia para e>itar cam.ios de estado en los pines de
entrada producidos por ruidos el8ctricos o >ariaciones en la )uente de alimentaci*n. Esto
e>ita los )amosos estados de alta impedancia 0&i& ?1.
2a resistencia u.icada arri.a, permite -ue la entrada est8 siempre en un >alor alto, esto
-uiere decir, en pull-up, y el s@itc& e4terno al cerrarse conecta con =3D el pin, como es
mas A)%cilB pasar directo a =3D -ue a C >olts a tra>8s de una resistencia, el pin se pone
en un estado 6 l*ico. Adem%s la resistencia de.e ser tal -ue la corriente -ue circule por
ella sea pe-ue9a.
2a acti>aci*n de las resistencias pull-up es de ran utilidad cuando se conectan a los pines
.otones de presi*n 0con el teclado1, interruptores y optoacopladores.
27/04/2014
6
Puer'o POR!C ( regi)'ro !RISC
El puerto P/,TC es un puerto .idireccional, de 8 .its de anc&ura. 2os .its del
reistroT,I(C determinan la )unci*n de sus pines 0entradas y salidas diitales1.
Todos los pines de este puerto tienen multiple4adas di)erentes )unciones.
Puer'o POR!D ( regi)'ro !RISD
El puerto P/,TD es un puerto .idireccional, de 8 .its de anc&ura. 2os .its del
reistroT,I(D determinan la )unci*n de sus pines 0entradas y salidas diitales1.
Todos los pines de este puerto disponen en su entrada de unTrier (c&mitt.
Adem%s de usarse como l!neas de E'( diitales, implementan un puerto paralelo
escla>o de 8 l!neas 0P(P1, -ue sir>e para permitir la comunicaci*n en paralelo con
otros elementos del sistema.
27/04/2014
7
Puer'o POR!E ( regi)'ro !RISE
El puerto P/,TE es un puerto .idireccional, de D .its de anc&ura. 2os .its del
reistroT,I(E determinan la )unci*n de sus pines.
(imilar al puerto P/,TA, en este caso los tres pines se pueden con)iurar como
entradas anal*icas.
2os terminales de este puerto comparten sus )unciones con el Puerto Paralelo
Escla>o 0P(P1 para lo cual &ay -ue poner el .it P(PE/DE a 1.
CARAC!ER-S!ICAS ELC!RICAS DE LOS
P#ER!OS DE E.S
27/04/2014
8
%ES!ION DE E.S DI%I!ALES EN CCS C
A !RA/S DE LA RAM
%ES!ION DE E.S DI%I!ALES EN CCS C
A !RA/S DE LA RAM
27/04/2014
9
%ES!ION DE E.S DI%I!ALES EN CCS C
A !RA/S DE LA RAM
RA0/AN0
2
RA1/AN1
3
RA2/AN2/VREF-/CVREF
4
RA4/T0CKI/C1OUT
6
RA5/AN4/SS/C2OUT
7
RE0/AN5/RD
8
RE1/AN6/WR
9
RE2/AN7/CS
10
OSC1/CLKIN
13
OSC2/CLKOUT
14
RC1/T1OSI/CCP2
16
RC2/CCP1
17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RB7/PGD
40
RB6/PGC
39
RB5
38
RB4
37
RB3/PGM
36
RB2
35
RB1
34
RB0/INT
33
RD7/PSP7
30
RD6/PSP6
29
RD5/PSP5
28
RD4/PSP4
27
RD3/PSP3
22
RD2/PSP2
21
RC7/RX/DT
26
RC6/TX/CK
25
RC5/SDO
24
RC4/SDI/SDA
23
RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI
15
MCLR/Vpp/THV
1
U1
PIC16F877A
C1
22pF
C2
22pF
X1
CRYSTAL
R1
10k
R2
330
D1
LED-RED
E0em,lo 11 (e con)iuran los terminales RB1 como salida y el RB0 como entrada
0con resistencia de pull-up1. 2a salida de.e tener el mismo >alor -ue la entrada del
switch. (e utili$a un interruptor en la entrada y un led en la salida.
%ES!ION DE E.S DI%I!ALES EN CCS C
A !RA/S DE LA RAM
27/04/2014
10
%ES!ION DE E.S DI%I!ALES EN CCS C
A !RA/S DE DIREC!I/AS
%ES!ION DE E.S DI%I!ALES EN CCS C
A !RA/S DE DIREC!I/AS
27/04/2014
11
%ES!ION DE E.S DI%I!ALES EN CCS C
A !RA/S DE DIREC!I/AS
%ES!ION DE E.S DI%I!ALES EN CCS C
A !RA/S DE DIREC!I/AS
27/04/2014
12
%ES!ION DE E.S DI%I!ALES EN CCS C
A !RA/S DE DIREC!I/AS
%ES!ION DE E.S DI%I!ALES EN CCS C
E0em,lo 21 Cada >e$ -ue se presione el pulsador conectado en ,CF 0,CFG11 se
mostrara una cuenta ascendente .inaria de 6 a 1C a tra>8s de unos leds conectados
en los cuatro .its menos sini)icati>os del puerto B del PIC16F877A. Cada >e$
-ue se presione el pulsador conectado en ,CD 0,CDG11 se decrementa el >alor del
contador y se >isuali$a en los leds. Determinar la l*ica necesaria para no
so.repasar los >alores m%4imos y m!nimos del contador.
RA0/AN0
2
RA1/AN1
3
RA2/AN2/VREF-/CVREF
4
RA4/T0CKI/C1OUT
6
RA5/AN4/SS/C2OUT
7
RE0/AN5/RD
8
RE1/AN6/WR
9
RE2/AN7/CS
10
OSC1/CLKIN
13
OSC2/CLKOUT
14
RC1/T1OSI/CCP2
16
RC2/CCP1
17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RB7/PGD
40
RB6/PGC
39
RB5
38
RB4
37
RB3/PGM
36
RB2
35
RB1
34
RB0/INT
33
RD7/PSP7
30
RD6/PSP6
29
RD5/PSP5
28
RD4/PSP4
27
RD3/PSP3
22
RD2/PSP2
21
RC7/RX/DT
26
RC6/TX/CK
25
RC5/SDO
24
RC4/SDI/SDA
23
RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI
15
MCLR/Vpp/THV
1
U1
PIC16F877A
C1
22pF
C2
22pF
X1
CRYSTAL
R1
10k
R2
330
D1
R3
330
D2
R4
330
D3
R5
330
D4
R6
10k
AUMENTAR
R7
10k
DISMINUIR
27/04/2014
13
%ES!ION DE E.S DI%I!ALES EN CCS C
DISPLA& DE 7 SE%MEN!OS
El i),la( e 7 )egmen'o), es un componente -ue se utili$a para la representaci*n
de n"meros en muc&os dispositi>os electr*nicos.
Este elemento se ensam.la o arma de manera -ue se pueda acti>ar cada semento
0diodo 2ED1 por separado lorando de esta manera com.inar los elementos y
representar todos los n"meros en el display 0del 6 al H1.
El display de 7 sementos m%s com"n es el de color ro+o, por su )acilidad de
>isuali$aci*n.
Cada elemento del display tiene asinado una letra -ue identi)ica su posici*n en el
arrelo del display.
27/04/2014
14
DISPLA& DE 7 SE%MEN!OS 3NADO COM4N
Di),la( 3noo Com5n
En el display %nodo com"n, todos los %nodos de los diodos 2ED est%n unidos y
conectados a la )uente de alimentaci*n.
En este caso para acti>ar cual-uier elemento &ay -ue poner el c%todo del elemento a
tierra a tra>8s de una resistencia para limitar la corriente -ue pasa por el elemento.
Adem%s de los d!itos de 6 a H, &ay alunas letras 0A, C, E, I, F, :, J, 2, ., c, d, o, r, t1 -ue
se pueden >isuali$ar al enmascarar.
DISPLA& DE 7 SE%MEN!OS 3NADO COM4N
27/04/2014
15
DISPLA& DE 7 SE%MEN!OS C3!ODO
COM4N
Di),la( C6'oo Com5n
El display c%todo com"n tiene todos los %nodos de los diodos 2ED unidos y
conectados a tierra. Para acti>ar un semento de estos &ay -ue poner el %nodo del
semento a encender a Kcc 0tensi*n de la )uente1 a tra>8s de una resistencia para
limitar el paso de la corriente
No'a1 En caso de -ue se utilicen los >isuali$adores de %nodo com"n, todos los unos
contenidos en la siuiente ta.la se de.en sustituir por ceros y >ice>ersa.
DISPLA& DE 7 SE%MEN!OS C3!ODO
COM4N
27/04/2014
16
DISPLA& DE 7 SE%MEN!OS 7 EJEMPLOS EN C
CCS
E0em,lo 81 Eane+ar un display 7 sementos de c%todo com"n. ,eali$ar un contador
de 6<H, cada seundo se suma un d!ito y cuando se llea a H se >uel>e a empe$ar
desde 6.
RA0/AN0
2
RA1/AN1
3
RA2/AN2/VREF-/CVREF
4
RA4/T0CKI/C1OUT
6
RA5/AN4/SS/C2OUT
7
RE0/AN5/RD
8
RE1/AN6/WR
9
RE2/AN7/CS
10
OSC1/CLKIN
13
OSC2/CLKOUT
14
RC1/T1OSI/CCP2
16
RC2/CCP1
17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RB7/PGD
40
RB6/PGC
39
RB5
38
RB4
37
RB3/PGM
36
RB2
35
RB1
34
RB0/INT
33
RD7/PSP7
30
RD6/PSP6
29
RD5/PSP5
28
RD4/PSP4
27
RD3/PSP3
22
RD2/PSP2
21
RC7/RX/DT
26
RC6/TX/CK
25
RC5/SDO
24
RC4/SDI/SDA
23
RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI
15
MCLR/Vpp/THV
1
U1
PIC16F877A
C1
22pF
C2
22pF
X1
CRYSTAL
R1
10k
R2
330
R3
330
R4
330
R5
330
R6
330
R7
330
R8
330
DISPLA& DE 7 SE%MEN!OS 7 EJEMPLOS EN C
CCS
E0em,lo 81 Eane+ar un display 7 sementos de c%todo com"n. ,eali$ar un contador
de 6<H, cada seundo se suma un d!ito y cuando se llea a H se >uel>e a empe$ar
desde 6.
27/04/2014
17
DISPLA& DE 7 SE%MEN!OS 7 EJEMPLOS EN C
CCS
E0em,lo 81 Eane+ar un display 7 sementos de c%todo com"n. ,eali$ar un contador
de 6<H, cada seundo se suma un d!ito y cuando se llea a H se >uel>e a empe$ar
desde 6.
DISPLA& DE 7 SE%MEN!OS CON
DECODIFICADOR "CD
2a manera natural de mane+ar un display con un microcontrolador es usando un
circuito Decodi)icador BCD a 7 sementos.
El decodi)icador de BCD a siete sementos es un circuito com.inacional -ue permite
un c*dio BCD en sus entradas y en sus salidas acti>a un display de 7 sementos para
indicar un d!ito decimal.
El decodi)icador re-uiere de una entrada en c*dio decimal .inario BCD y siete salidas
conectadas a cada semento del display.
De esta manera solo se utili$an 5 pines del PIC en >e$ de 7 como se &a estado
&aciendo &asta a&ora.
27/04/2014
18
DISPLA& DE 7 SE%MEN!OS CON
DECODIFICADOR "CD
(uponiendo -ue el >isuali$ador es un display de c%todo com"n, se o.tiene una ta.la
cuyas entradas en c*dio BCD corresponden a A, B, C y D y unas salidas
correspondientes a los leds -ue se encender!an en cada caso para indicar el d!ito
decimal.
2os >alores .inarios desde el 1616 al 1111 en BCD nunca se presentan, entonces las
salidas se tratan como condiciones de no importa.
DISPLA& DE 7 SE%MEN!OS CON
DECODIFICADOR "CD
As! como e4isten display de %nodo com"n y de c%todo com"n, e4isten tam.i8n
decodi)icadores para cada tipo.
En un decodi)icador de %nodo com"n sus salidas est%n acti>as cuando est%n en ni>el
.a+o L6KG6 l*icoM, dado -ue controlar% los c%todos de los sementos. El m%s usado
es el 752(57.
Por lo contrario, en un decodi)icador para display de c%todo com"n sus salidas est%n
acti>as cuando est%n en ni>el alto LCKG1l*icoM, ya -ue o.ernar% los %nodos de los
sementos. El m%s usado es el 752(58.
2a asinaci*n de pines para el 752(58 es id8ntica a la de la )iura con la di)erencia de
-ue las salidas a,.,c,..., no est%n neadas.
27/04/2014
19
DISPLA& DE 7 SE%MEN!OS CON
DECODIFICADOR "CD + EJEMPLOS
E0em,lo 91 Eane+ar un display 7 sementos de c%todo com"n con un codi)icador
BCD a siete sementos 752(58. ,eali$ar un contador de 6<H, cada seundo se suma un
d!ito y cuando se llea a H se >uel>e a empe$ar desde 6.
RA0/AN0
2
RA1/AN1
3
RA2/AN2/VREF-/CVREF
4
RA4/T0CKI/C1OUT
6
RA5/AN4/SS/C2OUT
7
RE0/AN5/RD
8
RE1/AN6/WR
9
RE2/AN7/CS
10
OSC1/CLKIN
13
OSC2/CLKOUT
14
RC1/T1OSI/CCP2
16
RC2/CCP1
17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RB7/PGD
40
RB6/PGC
39
RB5
38
RB4
37
RB3/PGM
36
RB2
35
RB1
34
RB0/INT
33
RD7/PSP7
30
RD6/PSP6
29
RD5/PSP5
28
RD4/PSP4
27
RD3/PSP3
22
RD2/PSP2
21
RC7/RX/DT
26
RC6/TX/CK
25
RC5/SDO
24
RC4/SDI/SDA
23
RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI
15
MCLR/Vpp/THV
1
U1
PIC16F877A
C1
22pF
C2
22pF
X1
CRYSTAL
R1
10k
A
7
QA
13
B
1
QB
12
C
2
QC
11
D
6
QD
10
BI/RBO
4
QE
9
RBI
5
QF
15
LT
3
QG
14
U3
74LS48
DISPLA& DE 7 SE%MEN!OS CON
DECODIFICADOR "CD + EJEMPLOS
E0em,lo 91 Eane+ar un display 7 sementos de c%todo com"n con un codi)icador
BCD a siete sementos 752(58. ,eali$ar un contador de 6<H, cada seundo se suma un
d!ito y cuando se llea a H se >uel>e a empe$ar desde 6.
E0er*i*io1 ,eali$ar la misma acti>idad solicitada en el e+emplo 5 pero con un display de
7 sementos de %nodo com"n. Adem%s a9adir F pulsadores, uno para decrementar y
otro para incrementar la cuenta. Eostrar por de)ecto en el display el numero C.
27/04/2014
20
MANEJO DE /ARIOS DISPLA& DE 7
SE%MEN!OS
En ocasiones nos encontramos con la necesidad de controlar o mostrar m%s de un
d!ito mediante F o m%s displays. Para ello nos tendremos -ue >aler de una serie de
t8cnicas o tru-uitos para mostrar dic&a in)ormaci*n sin tener -ue conectar todos los
pines del PIC a los dos o mas displays.
Para ello nos apro>ec&aremos de un de)ecto o caracter!stica de nuestros o+os. Este
de)ecto se le conoce como persistencia de la >isi*n. (e trata de -ue una imaen
permanece en la retina &umana una d8cima de seundo despu8s de -ue esta ya &aya
desaparecido por completo.
3uestro o+o >e con una cadencia de 16 im%enes por seundo y despu8s nuestro
cele.ro las enla$a como una sola imaen >isual, m*>il y continua., lo -ue enera en
nuestro cere.ro la ilusi*n de mo>imiento.
MANEJO DE DOS DISPLA& DE 7 SE%MEN!OS
+ EJEMPLOS
E0em,lo :1 ,eali$ar un contador autom%tico de 66<HH con un do.le display de 7
sementos de %nodo com"n. Cuando 8ste lleue a HH >ol>er% a 66 y as!
inde)inidamente.
RA0/AN0
2
RA1/AN1
3
RA2/AN2/VREF-/CVREF
4
RA4/T0CKI/C1OUT
6
RA5/AN4/SS/C2OUT
7
RE0/AN5/RD
8
RE1/AN6/WR
9
RE2/AN7/CS
10
OSC1/CLKIN
13
OSC2/CLKOUT
14
RC1/T1OSI/CCP2
16
RC2/CCP1
17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RB7/PGD
40
RB6/PGC
39
RB5
38
RB4
37
RB3/PGM
36
RB2
35
RB1
34
RB0/INT
33
RD7/PSP7
30
RD6/PSP6
29
RD5/PSP5
28
RD4/PSP4
27
RD3/PSP3
22
RD2/PSP2
21
RC7/RX/DT
26
RC6/TX/CK
25
RC5/SDO
24
RC4/SDI/SDA
23
RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI
15
MCLR/Vpp/THV
1
U1
PIC16F877A
C1
22pF
C2
22pF
X1
CRYSTAL
R1
10k
A
7
QA
13
B
1
QB
12
C
2
QC
11
D
6
QD
10
BI/RBO
4
QE
9
RBI
5
QF
15
LT
3
QG
14
U2
74LS47
R2
330
R3
330
27/04/2014
21
MANEJO DE DOS DISPLA& DE 7 SE%MEN!OS
+ EJEMPLOS
E0em,lo :1 ,eali$ar un contador autom%tico de 66<HH con un do.le display de 7
sementos de %nodo com"n. Cuando 8ste lleue a HH >ol>er% a 66 y as!
inde)inidamente.
RA0/AN0
2
RA1/AN1
3
RA2/AN2/VREF-/CVREF
4
RA4/T0CKI/C1OUT
6
RA5/AN4/SS/C2OUT
7
RE0/AN5/RD
8
RE1/AN6/WR
9
RE2/AN7/CS
10
OSC1/CLKIN
13
OSC2/CLKOUT
14
RC1/T1OSI/CCP2
16
RC2/CCP1
17
RC3/SCK/SCL
18
RD0/PSP0
19
RD1/PSP1
20
RB7/PGD
40
RB6/PGC
39
RB5
38
RB4
37
RB3/PGM
36
RB2
35
RB1
34
RB0/INT
33
RD7/PSP7
30
RD6/PSP6
29
RD5/PSP5
28
RD4/PSP4
27
RD3/PSP3
22
RD2/PSP2
21
RC7/RX/DT
26
RC6/TX/CK
25
RC5/SDO
24
RC4/SDI/SDA
23
RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI
15
MCLR/Vpp/THV
1
U1
PIC16F877A
C1
22pF
C2
22pF
X1
CRYSTAL
R1
10k
A
7
QA
13
B
1
QB
12
C
2
QC
11
D
6
QD
10
BI/RBO
4
QE
9
RBI
5
QF
15
LT
3
QG
14
U2
74LS47
R2
330
R3
330
MANEJO DE DOS DISPLA& DE 7 SE%MEN!OS + EJEMPLOS
E0em,lo :1 ,eali$ar un contador autom%tico de 66<HH con un do.le display de 7
sementos de %nodo com"n. Cuando 8ste lleue a HH >ol>er% a 66 y as!
inde)inidamente.
27/04/2014
22
MANEJO DE DOS DISPLA& DE 7 SE%MEN!OS + EJEMPLOS
E0em,lo :1 ,eali$ar un contador autom%tico de 66<HH con un do.le display de 7
sementos de %nodo com"n. Cuando 8ste lleue a HH >ol>er% a 66 y as!
inde)inidamente.
MANEJO DEL DISPLA& LCD
2as pantallas de cristal l!-uido o display 2CD para mensa+es 0Liquid Crystal Display1
tienen la capacidad de mostrar cual-uier car%cter al)anum8rico 0letras de al)a.eto
rieo, sinos de puntuaci*n, s!m.olos matem%ticos, etc1, permitiendo representar la
in)ormaci*n -ue enera cual-uier e-uipo electr*nico de una )orma )%cil y econ*mica.
Tam.i8n es posi.le >isuali$ar s!m.olos creados por el usuario.
Este componente electr*nico est% espec!)icamente )a.ricado para ser utili$ado con los
microcontroladores.
En esta parte se trata so.re los detalles de )uncionamiento de un 2CD de F l!neas de
16 caracteres. Todos los displays de este tipo disponi.les en el mercado son
compati.les entre s!.
El modelo descrito a-u! es el m%s utili$ado en la pr%ctica por su .a+o precio y randes
capacidades. Est% .asado en el microcontrolador JD55786 0Jitac&i1.
27/04/2014
23
MANEJO DEL DISPLA& LCD
Est% constituido por un circuito impreso en el -ue est%n interados los controladores
del display y los pines para la cone4i*n del display. (o.re el circuito impreso se
encuentra el 2CD en s!, rodeado por una estructura met%lica -ue lo protee.
En total se pueden >isuali$ar F l!neas de 16 caracteres cada una, es decir, F416GDF
caracteres
A pesar de -ue el display s*lo puede >isuali$ar 16 caracteres por l!nea, puede almacenar en
total 56 por l!nea. Es el usuario el -ue especi)ica -u8 16 caracteres son los -ue se >an a
>isuali$ar.
LOS CARAC!ERES DEL LCD
El 2CD dispone de una matri$ de C48 puntos para representar cada car%cter. En total se
pueden representar FC6 caracteres di)erentes. F56 caracteres est%n ra.ados dentro del
2CD y representan las letras may"sculas, min"sculas, sinos de puntuaci*n, n"meros, etc...
E4isten 8 caracteres -ue pueden ser de)inidos por el usuario
27/04/2014
24
MEMORIAS DEL LCD
El >isuali$ador 2CD dispone de tres .lo-ues de memoria#
DD,AE Display Data ,AE 0,AE de datos de >isuali$aci*n1
C=,AE C&aracter =enerator ,AE 0enerador de caracteres ,AE1
C=,/E C&aracter =enerator ,/E 0enerador de caracteres ,/E1
DDRAM Di),la( Da'a RAM ;RAM e a'o)
e <i)uali=a*i>n?
En esta memoria se almacenan los caracteres -ue est%n siendo >isuali$ados o -ue se
encuentran en posiciones no >isi.les.
El display almacena en esta memoria dos l!neas de 56 caracteres 086 caracteres1 pero
s*lo se >isuali$an F l!neas de 16 caracteres. Por ello la DD,AE tiene un tama9o de
F456G86 .ytes.
De.ido a esta peculiar disposici*n de la DD,AE se puede pensar en el display como
un display >irtual constituido por dos l!neas de 56 caracteres cada una. 2a posici*n
situada m%s a la i$-uierda de cada l!nea es la posici*n 1 y la situada m%s a la derec&a es
la posici*n 56.
27/04/2014
25
DDRAM Di),la( Da'a RAM ;RAM e a'o)
e <i)uali=a*i>n?
Para locali$ar los elementos dentro del display >irtual se >a a utili$ar un par de
coordenadas 0x,y1 donde x representa la posici*n &ori$ontal 0comprendida entre 1<
561 e y representa la l!nea 01<F1. El display real es una >entana en la -ue se >isuali$an
dos l!neas de 16 caracteres 0es lo -ue el usuario est% >iendo1.
Tal y como se encuentra con)iurado el display real en la )iura de arri.a, la posici*n
015,11 se corresponde con la letra P, la posici*n 01C,11 con la letra ,, ....., y la posici*n
0FH,11 con la letra 3.
DDRAM Di),la( Da'a RAM ;RAM e a'o)
e <i)uali=a*i>n?
En el e+emplo de la )iura anterior, en la posici*n 0F,11 se encuentra la letra E y en la
posici*n 016,11 la letra :.
2os caracteres en>iados al display pueden ser >isi.les si se encuentran en posiciones
-ue caen dentro del display real o pueden ser no >isi.les. En la )iura anterior, las
posiciones 01,11<016,11 y 01,F1<016,F1 son >isi.les. Todos los caracteres en>iados a esas
posiciones ser%n >isi.les. (i se en>!a un car%cter a cual-uiera de las otras posiciones no
ser% >isi.le.
Cuando se iniciali$a el 2CD, el display real se sit"a en el e4tremo m%s i$-uierdo del
display >irtual, -ue se corresponde con los >alores de x comprendidos entre 1 y 16.
27/04/2014
26
DDRAM Di),la( Da'a RAM ;RAM e a'o)
e <i)uali=a*i>n?
El mapa de memoria de la DD,AE est% constituido por dos .lo-ues de 56 .ytes.
As!, las direcciones 66&<F7& est%n asociadas a las posiciones 01,11<056,11 del display
>irtual y las direcciones 56&<67& a las posiciones 01,F1<056,F1. En el e+emplo, en la
direcci*n 56& de la DD,AE se encuentra almacenado el car%cter J, -ue se
corresponde con la posici*n 01,F1 del display >irtual.
C%RAM C@ara*'er %enera'or RAM
;generaor e *ara*'ere) RAM?
2a C=,AE es la memoria -ue contiene los caracteres de)ini.les por el usuario. Est%
)ormada por 65 posiciones, con direcciones 66&<DF&. Cada posici*n es de C .its.
2a memoria est% di>idida en 8 .lo-ues, correspondiendo cada .lo-ue a un car%cter
de)ini.le por el usuario. Por ello el usuario puede de)inir como m%4imo 8 caracteres,
cuyos c*dios >an del 6 al 7.
2os reistros de memoria 0cada posici*n1 son de 8 .its de anc&ura, pero s*lo se
utili$an C .its m%s .a+os.
27/04/2014
27
C%RAM C@ara*'er %enera'or RAM
;generaor e *ara*'ere) RAM?
Cada car%cter est% constituido por una matri$ de C columnas 4 8 )ilas. Para de)inir un
car%cter y asinarlo por e+emplo en el c*dio 6 &a.r% -ue almacenar en las posiciones
66&<67& los >alores .inarios de las 8 )ilas del car%cter del usuario. :n .it con >alor 1
representa un punto encendido. :n .it con >alor 6 es un punto apaado.
:na >e$ de)inido el nue>o car%cter, cada >e$ -ue se en>!e su c*dio correspondiente al
display se >isuali$ar%.
C%RAM C@ara*'er %enera'or RAM
;generaor e *ara*'ere) RAM?
En este e+emplo Ncar%cter 6O sini)ica >isuali$ar NsonrisaO, Ncar%cter 1O sini)ica >isuali$ar
NanclaO, etc.
27/04/2014
28
C%ROM C@ara*'er %enera'or ROM ;generaor e
*ara*'ere) ROM?
2a memoria C=,/E contiene un mapa est%ndar de todos los caracteres -ue se
pueden >isuali$ar en la pantalla.A cada car%cter se le asina una localidad de memoria.
C%ROM C@ara*'er %enera'or ROM
;generaor e *ara*'ere) ROM?
2as direcciones de las localidades de memoria C=,/E corresponden a los caracteres
A(CII.
(i el prorama -ue se est% actualmente corriendo en el microcontrolador e+ecuta el
comando Nen>iar el car%cter P al puertoO, el >alor .inario 6161 6666 aparecer% en el
puerto. Este >alor es el e-ui>alenteA(CII del car%cter P.
Al escri.ir este >alor en ciertos pines del 2CD, se >isuali$ar% el s!m.olo de la localidad
6161 6666 de la C=,/E. En otras pala.ras, se >isuali$ar% el car%cter P.
27/04/2014
29
ASI%NACI$N DE PINES DEL LCD
ASI%NACI$N DE PINES DEL LCD
El contraste del >isuali$ador depende del >olta+e de alimentaci*n y de si los mensa+es
se >isuali$an en una o dos l!neas. Por esta ra$*n, el >olta+e >aria.le 6<Kdd se aplica al
pin marcado como Kee. :n potenci*metro se utili$a con )recuencia para este
prop*sito.
Alunos de los >isuali$adores 2CD tienen retroiluminaci*n incorporada 0diodos 2ED
a$ules o >erdes1. Al utili$arlo durante el )uncionamiento, se de.e de conectar una
resistencia en serie a uno de los pines para limitar la corriente 0similar a diodos 2ED1.
(i no &ay caracteres >isuali$ados o si todos los caracteres est%n oscurecidos al
encender el >isuali$ador, lo primero -ue se de.e &acer es compro.ar el
potenci*metro para a+ustar el contraste. PEst% a+ustado apropiadamenteQ 2o mismo se
aplica si el modo de )uncionamiento &a sido cam.iado 0escri.ir en una o en dos
l!neas1.
27/04/2014
30
CONEAI$N DEL LCD CON EL
MICROCON!ROLADOR
2os datos se transmiten por un .us de datos de 8 .its de anc&ura, aun-ue el 2CD o)rece la
posi.ilidad de tra.a+ar con este .us multiple4ado mediante de 5 .its, pero esto se >er% m%s
adelante.
Para el control del display son necesarios D .its# una se9al de ena.le 0E1, una para indicar
lectura'escritura 0,'R1 y otra para seleccionar uno de los dos reistros internos 0,(1. Por
ello, en el peor de los casos, el sistema de control del 2CD necesitar% utili$ar 8SDG11 .its.
"#S DE DA!OS DE LCD
El modo de 2CD de 8 .its utili$a los pines D6<D7 para transmitir los datos.
El prop*sito principal del modo de 2CD de 5 .its es de a&orrar los >aliosos pines de
E'( del microcontrolador. (*lo los 5 .its m%s altos 0D5<D71 se utili$an para la
comunicaci*n, mientras -ue los dem%s pueden -uedarse desconectados. Cada dato se
en>!a al 2CD en dos pasos# primero se en>!an los 5 .its m%s altos 0normalmente por
las l!neas D5< D71, y lueo los 5 .its m%s .a+os. A este proceso se lo conoce como
multiple4aci*n.
Con el modo de 2CD de 5 .its se a&orran pines de E'( pero se ana en comple+idad
en el microcontrolador, -ue tiene -ue multiple4ar y demultiple4ar los datos.
27/04/2014
31
"#S DE CON!ROL DE LCD
El .us de control est% )ormado por D se9ales# RS, R.B y E. 2a se9al E es la se9al de
>alidaci*n de los datos. Cuando no se utili$a el display esta se9al de.e permanecer a 6.
(*lo en las trans)erencias de in)ormaci*n 0lecturas o escrituras1 es cuando se pone a
ni>el 1 para >alidar los datos, pasando despu8s de un tiempo a ni>el 6.
2a se9al R.B permite seleccionar si la operaci*n -ue se >a a reali$ar so.re el display
es una lectura o una escritura. Cuando R.BC1 se reali$an lecturas y cuando R.BCD
escrituras. 2o normal siempre es reali$ar escrituras, no o.stante, el display o)rece la
posi.ilidad de poder leer los contenidos de la memoria C=,AE y DD,AE as! como
leer el estado interno del display 0ocupado o disponi.le1 y el contador de direcciones..
Con RS 0Register Select1 se selecciona el reistro interno del display so.re el -ue se >a
a leer'escri.ir. El 2CD dispone de dos reistros internos# registro de control y
registro de datos. Am.os reistros son de lectura y escritura. RSCD selecciona el
reistro de control. RSC1 el reistro de datos.
CONEAI$N DEL LCD CON EL
MICROCON!ROLADOR
Pocas >eces se leen los datos del 2CD 0por lo eneral se transmiten del
microcontrolador al 2CD1 as! -ue, con )recuencia, es posi.le uardar un pin de E'( de
so.ra. Es simple, .asta con conectar el pin ,'R a Tierra 0,'RG61.
27/04/2014
32
SEC#ENCIAS DE !EMPORIEACI$N
Para el caso de 5 .its, primero se en>!an los 5 .its EA( (I=3IFICATIK/( y despu8s
los 5 .its menos sini)icati>os.
Par en>iar un comando de control se de.e colocar ,(G6 y para en>iar un car%cter
0dato1 ,(G1.
En la )iura se representa el cronorama correspondiente a una operaci*n de escritura
0para datos o comandos de control1 para un .us de datos de 8 .its. Para controlar al
2CD los tiempos empleados de.en ser siempre mayores -ue los m!nimos indicados en
la )iura.
SEC#ENCIAS DE !EMPORIEACI$N
O,era*ione) ,ara e)*riFir un *ar6*'er meian'e un Fu) e a'o) e 8
Fi')1
1. 2a se9al E se encuentra siempre en 6 antes de reali$ar cual-uier
operaci*n.
F. Poner ,( G 1 y ,'R G 6.
D. (ituar los 8 .its del dato a imprimir en el .us de datos del 2CD.
5. ,eali$ar una pausa de 156 ns o un tiempo m%s prolonado.
C. Poner E G 1.
6. ,eali$ar una pausa de 5C6 ns o un tiempo m%s prolonado.
7. Poner E G 6.
8. ,eali$ar una pausa de 16 ns o un tiempo m%s prolonado.
H. El car%cter &a sido impreso en el 2CD.
16. ,eali$ar una pausa de 56 us o supeior, antes de imprimir otro car%cter.
27/04/2014
33
SEC#ENCIAS DE !EMPORIEACI$N
O,era*ione) ,ara e)*riFir un *ar6*'er meian'e un Fu) e a'o) e 9 Fi')1
1. 2a se9al E se encuentra siempre en 6 antes de reali$ar cual-uier operaci*n.
F. Poner ,( G 1 y ,'R G 6.
D. (ituar los 5 .its E(B del dato a imprimir en el .us de datos del 2CD.
5. ,eali$ar una pausa de 156 ns o un tiempo m%s prolonado.
C. Poner E G 1.
6. ,eali$ar una pausa de 5C6 ns o un tiempo m%s prolonado.
7. Poner E G 6.
8. ,eali$ar una pausa de 16 ns o un tiempo m%s prolonado.
H. ,eali$ar una pausa de 1 us o superior, para poder en>iar los 5 .its de datos
restantes.
16. (ituar los 5 .its 2(B del dato a imprimir en el .us de datos del 2CD.
11. ,eali$ar una pausa de 156 ns o un tiempo m%s prolonado.
1F. Poner E G 1.
1D. ,eali$ar una pausa de 5C6 ns o un tiempo m%s prolonado.
15. Poner E G 6.
1C. ,eali$ar una pausa de 16 ns o un tiempo m%s prolonado.
16. El car%cter &a sido impreso en el 2CD.
17. ,eali$ar una pausa de 56 us o superior, antes de imprimir otro car%cter.
SEC#ENCIAS DE !EMPORIEACI$N
En la )iura se muestran los cronoramas correspondientes a la escritura de un
car%cter en el 2CD. (e presenta el cronorama cuando se usa un .us de 8 .its y
cuando se usa un .us multiple4ado de 5 .its. (e &a supuesto -ue el car%cter en>iado es
el 51& 02a letra NAO1.
27/04/2014
34
COMANDOS DE CON!ROL DEL LCD
Todos los datos transmitidos a un >isuali$ador 2CD por las salidas D6<D7 ser%n
interpretados como un comando o un dato, lo -ue depende del estado l*ico en el pin
,(#
RS C 11 2os .its D6 < D7 son direcciones de los caracteres a >isuali$ar. El
procesador 2CD direcciona un car%cter del mapa de caracteres y lo >isuali$a.
RS C D1 2os .its D6 < D7 son los comandos para a+ustar el modo del >isuali$ador.
Al 2CD le lle>a un cierto tiempo procesar cada comando en>iado. Por ello, para -ue se
e+ecute el comando especi)icado es necesario aseurarse de -ue el comando anterior
&a )inali$ado. E4isten dos estrateias para reali$ar esto.
1. 2a primera se .asa en leer el estado del .it Busy Flag 0.it 7 del 2CD1, para ello se
lee el .us de dato con RSCD y R.BC 1. (i este .it se encuentra a 1 -uiere decir
-ue el 2CD est% ocupado procesando el comando anterior y por tanto no puede
procesar nue>os comandos. Jay -ue esperar a -ue el .it Busy Flag sea iual a 6,
para en>iarle el siuiente comando.
F. 2a seunda estrateia, menos eleante pero m%s c*moda de implementar, consiste
en reali$ar una pausa antes de >ol>er a en>iar el siuiente comando. 2os tiempos
m%4imos -ue tarda el 2CD en procesar los comandos est%n especi)icados por el
)a.ricante y tienen un >alor t!pico de 56 Ts. (i se reali$a una pausa mayor o iual a
esta se tiene arant!a de -ue el 2CD &a terminado de e+ecutar el comando.
27/04/2014
35
DESCRIPCI$N DE COMANDOS
"ORRAR EL/IS#ALIEADOR
Este comando .orra todas las posiciones del display >irtual y sit"a el display real en
la posici*n inicial, en la -ue se >isuali$an las posiciones desde la 01,11 &asta la 016,11
y desde la 01,F1 &asta la 016,F1. El cursor se sit"a en la posici*n 01,11 0direcci*n 6 de
la DD,AE1. Pone el .it I'D a U1U por de)ecto para auto incremento de la posici*n
del cursor.
PONER EL C#RSORAL INICIO
En>!a el cursor a la posici*n 01,11. El display real se sit"a en la posici*n inicial, es
decir -ue coloca el cursor en la posici*n de inicio 0direcci*n 6 de la memoria
DD,AE1 y &ace -ue el display comience a despla$arse desde la posici*n oriinal. El
contenido de la memoria ,AE de datos de >isuali$aci*n 0DD,AE1 permanece
in>aria.le.
DESCRIPCI$N DE COMANDOS
MODODE EN!RADA
Actuali$a el contador de direcciones en la )orma especi)icada y esta.lecer si el
display reali$a despla$amientos o no. Estas acciones se lle>an a ca.o cada >e$ -ue se
reali$a una lectura o escritura en el display.
Cuando I.DC1, el contador de direcciones se incrementa, lo -ue pro>oca -ue el
cursor a>ance &acia la derec&a cada >e$ -ue se imprime un car%cter en el display.
Cuando I.DCD el contador se decrementa y el cursor se mue>e &acia la i$-uierda al
imprimir.
Con SC1 se indica al 2CD -ue de.e mo>er el display real una posici*n a la derec&a
cada >e$ -ue se imprime un car%cter. Con SCD el display de.e permanecer N-uietoO
al imprimir. 03ormalmente se utili$a I.DC1 y SCD, por lo -ue el *omano 'G,i*o
e) DHD61
27/04/2014
36
DESCRIPCI$N DE COMANDOS
AC!I/AR.DESAC!I/AR EL/IS#ALIEADOR
Acti>a o desacti>a poniendo en /3'/FF tanto al display 0D1 como al cursor 0C1 y
se esta.lece si este "ltimo de.e o no parpadear 0B1.
Display ON/OFF: DG1 acti>a el 2CD. Cuando DG6 el 2CD )unciona normalmente
pero no se >isuali$a ninuna in)ormaci*n. Es posi.le reali$ar impresiones, en>iar
comandos, pero nada -uedar% re)le+ado en pantalla. (*lo cuando DG1 se puede >er
alo en el display.
Cursor ON/OFF# CG1 acti>a el cursor. Con CG6 el cursor no se >e.
Parpadeo ON/OFF# BG1 &ace -ue los caracteres situados en la posici*n del
cursor parpadeen. Con BG6 no &ay parpadeo.
DESCRIPCI$N DE COMANDOS
DESPLAEAR EL C#RSOR./IS#ALIEADOR
Eue>e el cursor y despla$a el display sin cam.iar el contenido de la memoria de
datos de >isuali$aci*n DD,AE.
MODODE F#NCIONAMIEN!O
Esta.lece el tama9o de la inter)a$ del .us de datos 0D21, n"mero de l!neas del
display 031 y tipo de car%cter 0F1.
Con ('CG1 se mue>e el display, con ('CG6 el cursor. ,'2G1 despla$a a la derec&a y
,'2G6 a la i$-uierda.
D 2G A1B Tra.a+a en .us de 8 .its, si G A6B .us de 5 .its
3 G A1B Presentaci*n en F l!neas, si G A6B se una l!nea
F G A1B caracteres de C416 pi4el, si G A6B C47
27/04/2014
37
SEC#ENCIA DE INICIALIEACI$N DEL LCD
Tras &a.er eneri$ado el m*dulo 2CD, 8ste de.e ser iniciali$ado para esta.lecer
el protocolo de comunicaci*n necesario y para -ue opere correctamente. Esta
operaci*n se puede reali$ar de dos )ormas# por circuito interno o por software.
2os 2CDs tienen un circuito interno de reset -ue lo iniciali$a autom%ticamente
tras alimentar el 2CD.
El m*dulo 2CD e+ecuta autom%ticamente una secuencia de inicio interna en el
instante de aplicarle la tensi*n de alimentaci*n si se cumplen los re-uisitos de
alimentaci*n e4puestos en el siuiente cronorama.
Dic&os re-uisitos consisten en -ue el tiempo -ue tarde en esta.ili$arse la tensi*n
desde 6.F K &asta los 5.CK sea entre 6.1 ms y 16 ms. Iualmente el tiempo de
descone4i*n de.e ser como m!nimo de 1 ms antes de >ol>er a conectar.
SEC#ENCIA DE INICIALIEACI$N DEL LCD
2o cierto es -ue la autoiniciali$aci*n no siempre es )ia.le. Por eso e4iste la
inicializacin por software, -ue permite una completa con)iuraci*n de los
par%metros del 2CD.
(e constituye de una serie de pasos -ue >ar!an de acuerdo con la inter)a$ de 5 u 8 .its
a usar. En la )iura se muestra un diarama de )lu+o -ue corresponde a la iniciali$aci*n
del 2CD para una inter)a$ de 5 .its.
Para esta.lecer la iniciali$aci*n para una inter)a$ de 8 .its &ay -ue o.>iar los pasos H y
16. 2os .ist menos sini)icati>os DB6<DBD no se emplean en este proceso de
iniciali$aci*n.
27/04/2014
38
SEC#ENCIA DE CONFI%#RACI$N DEL LCD
:na >e$ -ue se &aya completado la iniciali$aci*n tras el encendido del 2CD, ya se tiene
a&ora esta.lecida la inter)a$ de datos de 5 u 8 .its. El siuiente paso es reali$ar una
secuencia t!pica de con)iuraci*n del 2CD mediante los comandos de control
mostrados en el diarama de )lu+o de la siuiente )iura .

You might also like