Vous êtes sur la page 1sur 11

Fonctionnement dun afficheur LCD 4 x 20 Chipset LSI : HITACHI HD44780

I) Caractristiques techniques.

I.1) Description des broches et connexion de lafficheur LCD avec un micro contrleur.
Le dialogue avec un C ou P se fait par un bus de donnes de 8 bits ou de 4 bits. Les changes dinformations sont synchroniss par des signaux de commandes: - R/W (Lecture/criture). - RS(Register Select : Registre de slection). - E (Enable : Mmorisation).

I.2) Schmas de cablge : Mode 8 bits et 4 bits. Mode 8 bits


LCD 4x20 VDD 2 P1 4.7K RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 VSS 1 C1 VO 22nF RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 VSS 1 +5V

Mode 4 bits
LCD 4x20 VDD 2 P1 4.7K C1 22nF +5V

VO

7 8 9 10 11 12 13 14

7 8 9 10 11 12 13 14
En mode 4 bits les entres DB0 DB3 doivent tre non connectes

4 5 6

DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 RS R/W E

DB0 DB1 DB2 DB3 RS R/W E

Philippe LETENNEUR - STS GRANVILLE 2004 -

4 5 6

Page 1/11

Fonctionnement dun afficheur LCD 4 x 20 Chipset LSI : HITACHI HD44780

I.3 Caractristiques de lafficheur et fonctionnement.


Lafficheur utilis dispose de : - 4 lignes de 20 caractres (Matrice de 5 colonnes x 7 lignes). - Une RAM (DDRAM : DATA RAM) de 80 caractres correspondant. - Une RAM (CGRAM : CARACTER GRAPHIC RAM) permettant de crer de nouveaux caractres. - De 2 regitres internes IR et DR : -Le registre dinstruction I R: (Instruction Register) : Cest le registre de contrle, suivant la valeur que lon met dedans lafficheur excute des oprations de configurations, exemple: effacement de lcran (Voir le tableau des instructions). Il permet aussi de positionner le curseur parmi les 80 adresses de la DDRAM, ou des 16 adresses de la CGRAM. -Le registre de donnes D R: (Data Register); Suivant la valeur que lon met dedans lafficheur peut: - Afficher un caractre (Code ASCII ou spcifiques). - Crer une ligne dune matrice dun nouveau caractre.
@
Code ASCII

00

01

02

03

04

05

06

07

08

09 0A

0B 0C 0D 0E

0F 10

11

12

13

@
Code ASCII

40

41

42

43

44

45

46

47

48

49 4A

4B 4C 4D 4E

4F 50

51

52

53

@
Code ASCII

14

15

16

17

18

19

1A

1B 1C 1D 1E

1F

20

21

22

23 24

25

26

27

@
Code ASCII

54

55

56

57

58

59

5A 5B 5C 5D 5E

5F

60

61

62

63 64

65

66

67

Contrleur LSI
RS=0 Instruction Register

RS=1 Data Register

AFFICHEUR LCD 4 x 20
RS R/W E DB0 .. DB7

Philippe LETENNEUR - STS GRANVILLE 2004 -

Page 2/11

Fonctionnement dun afficheur LCD 4 x 20 Chipset LSI : HITACHI HD44780


I.4) Tableau des codes ASCII
Une ROM o sont stocks 160 caractres pr-dfinis (CODE ASCII standard + caractres spcifiques).
Lower 4 Bits Upper 4 Bits 0000 CG RAM (1)

0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011

1100 1101 1110 1111

xxxx0000

xxxx0001

(2)

xxxx0010 xxxx0011

(3)

(4)

xxxx0100

(5)

xxxx0101

(6)

xxxx0110

(7)

xxxx0111

(8)

xxxx1000

(1)

xxxx1001

(2)

xxxx1010

(3)

xxxx1011

(4)

xxxx1100

(5)

xxxx1101

(6)

xxxx1110

(7)

xxxx1111

(8)

Philippe LETENNEUR - STS GRANVILLE 2004 -

Page 3/11

Fonctionnement dun afficheur LCD 4 x 20 Chipset LSI : HITACHI HD44780

I.5) Chronologie temporelle : Timing


Cycle dcriture : Mode 8 bits :
RS 60ns RW 450ns 20ns 20ns EN 20ns 195ns 10ns 20ns

DB0 to DB7

VALID DATA 1000ns

Mode 4 bits :
RS 60ns RW 450ns 20ns 450ns 20ns 20ns

EN 20ns DB4 to DB7 195ns 10ns 195ns 10ns

Upper Nibble 1000ns

Lower Nibble 1000ns

Philippe LETENNEUR - STS GRANVILLE 2004 -

Page 4/11

Fonctionnement dun afficheur LCD 4 x 20 Chipset LSI : HITACHI HD44780

Cycle de lecture : Mode 8 bits :


RS 60ns RW 450ns 20ns 20ns EN 20ns 360ns DB0 to DB7 VALID DATA 1000ns 20ns

5ns

Mode 4 bits :
RS 60ns RW 450ns 20ns EN 20ns 360ns DB4 to DB7 5ns 360ns 5ns 450ns 20ns 20ns

Upper Nibble 1000ns

Lower Nibble 1000ns

Philippe LETENNEUR - STS GRANVILLE 2004 -

Page 5/11

Fonctionnement dun afficheur LCD 4 x 20 Chipset LSI : HITACHI HD44780


II) Fonctionnement de lafficheur.
- Lafficheur dispose de deux registres permettant de grer celui-ci: -Le registre dinstruction I R: (Instruction Register) : Cest le registre de contrle, suivant la valeur que lon met dedans lafficheur excute des oprations de configurations, exemple: effacement de lcran (Voir le tableau des commandes : page 9). Il permet aussi de positionner le curseur parmi les 80 adresses de la DDRAM, ou des 16 adresses de la CGRAM. -Le registre de donnes D R: (Data Register); Suivant la valeur que lon met dedans lafficheur peut: - Afficher un caractre (Code ASCII ou spcifiques). - Crer une ligne dune matrice dun nouveau caractre. Laccs ce ces registres est fonction des valeurs des signaux R/W et RS. RS 0 0 1 1 R/W 0 1 0 1 Registre slectionn Ecriture dans IR : Registre de contrle ou dinstruction Lecture de IR : Registre de contrle ou dinstruction Ecriture de DR : Registre de donnes Lecture de DR : Registre de donnes

REMARQUE IMPORTANTE: Lcriture dune donne une adresse, affiche le caractre correspondant au code ASCII et incrmente ou dcrmente le compteur dadresse ADD (compteur adresse de la DDRAM). Exemple: Soit I/D=1 (Mode par dfaut: incrmentation), si ladresse courante est $00, lenvoie de $43 (code ASCII de la lettre C) dans le registre de donnes aura pour effet dafficher un C lcran et dincrmenter le compteur dadresse ADD de 1, sa valeur sera gale $01 aprs linstruction.

Philippe LETENNEUR - STS GRANVILLE 2004 -

Page 6/11

Fonctionnement dun afficheur LCD 4 x 20 Chipset LSI : HITACHI HD44780

III) DESCRIPTION DES INSTRUCTIONS DE LECRAN.


III.1) Effacement de lcran (%00000001-> IR) . Cette instruction efface lcran et repositionne le curseur sur la premire ligne gauche ADD=$00. Temps dxcution = 1,64 mS. III.2) Retour du curseur en position initiale (%0000001X-> IR) . Cette instruction repositionne le curseur sur la premire ligne gauche ADD=$00. Temps dxcution = 1,64 mS. III.3) Type dcriture (%0 0 0 0 0 1 I/D S-> IR) . Cette instruction dtermine le mode dincrmentation (I/D=1) ou de dcrmentation (I/D=0) de ADD, et si lafficheur doit tre dcal aprs une criture de donnes dans la DDRAM. S=1: Tout laffichage est dcal vers la gauche (I/D=1) ou vers la droite (I/D=0) aprs une criture dans la DDRAM. S=0 : Affichage fixe. Temps dxcution = 40 S. III.4) Activation ou dsactivation de lafficheur (%0 0 0 0 1 D C B-> IR) . Cette instruction dtermine: D=0: Afficheur bloqu. D=1: Afficheur en fonctionnement. C=0: Curseur prsent. C=1: Curseur absent. B=0: Pas de clignotement du curseur. B=1: Clignotement du curseur. Temps dxcution = 40 S. III.5) Dplacement du curseur ou / et de laffichage (%0 0 0 1 S/C R/L-> IR) .
S/C 0 0 1 1 R/L 0 1 0 1 Action Dplace le curseur vers la gauche. Dplace le curseur vers la droite. Dplace l'affichage et le curseur vers la gauche. Dplace l'affichage et le curseur vers la droite

Temps dxcution = 40 S.

Philippe LETENNEUR - STS GRANVILLE 2004 -

Page 7/11

Fonctionnement dun afficheur LCD 4 x 20 Chipset LSI : HITACHI HD44780


III.6) Type dcriture (%0 0 1 DL N 0 X X -> IR) . Cette instruction dtermine avec quel type dcran et dinterface le circuit dialogue. DL=0: Interface en mode 4 bits. DL=1: Interface en mode 8 bits. N=0: Afficheur disposant dune ligne. N=1: Afficheur disposant de deux lignes. Temps dxcution = 40 S. III.7) Lindicateur tat BF : BUSY FLAG. Sa valeur indique si lafficheur est libre ou occup. En effet pour chaque commande dans le registre dinstruction ou de donnes, le contrleur va avoir besoin dun certain temps (voir tableau des commandes page suivante) pour commander les segments de lafficheur, cest pour cela quil positionne le BF 1 pour indiquer quil est occup (voir tableau des instructions) BF=0 : Afficheur libre. BF=1 : Afficheur occup aucune donne ne peut tre accepte par celui-ci. Donc quand on envoie une valeur dans lafficheur, on doit attendre que lafficheur ne soit plus occup pour lui envoyer une autre valeur.

Philippe LETENNEUR - STS GRANVILLE 2004 -

Page 8/11

Fonctionnement dun afficheur LCD 4 x 20 Chipset LSI : HITACHI HD44780


III.8) Tableau des commandes.
Instruction Clear display Return Home RS 0 0 RW 0 0 DB7 0 0 DB6 0 0 DB5 0 0 DB4 0 0 DB3 0 0 DB2 0 0 DB1 0 1 DB0 1 * Description Clears entire display and sets DDRAM address 0 in address T= 1.64mS counter. Sets DDRAM address 0 in address counter . Also returns display from being shifted to original position. DDRAM contents remain unchanged . T= 1.64mS Sets cursor move direction and specifies display shift. These operations are performed T= 40S during data write and read . Sets entire display (D) on/off, cursor on/off (C), and blinking of cursor position character T= 40S (B). Moves cursor and shifts display without changing T= 40S DDRAM contents. Sets interface data length (DL), number of display lines T= 40S (N), and character font(F). Sets CGRAM address . CGRAM data is sent and T= 40S received after this setting . Sets DDRAM address . DDRAM data is sent and T= 40S received after this setting . Reads busy flag (BF) indicating internal operation is being performed and reads T= 40S address counter contents . Writes data into DDRAM or CGRAM. T= 40S Reads data from DDRAM or CGRAM. T= 40S

Entry mode set Display on/off control Cursor or display shift Function set Set CGRAM address Set DDRAM address

I/D

0 0 0 0

0 0 0 0 1

0 0 0 1 BF

0 0 1

0 1

1 DL

S/C N

R/L F

* *

* *

CGRAM address DDRAM address CGRAM / DDRAM address

Read busy flag 0 & address Write data to CG or CCRAM Read data from CG or DDRAM 1 1

0 1

Write data Read data

I/D = 1: Increment I/D = 0: Decrement S = 1: Accompanies display shift S/C = 1: Display shift S/C = 0: Cursor move R/L = 1: Shift to the right R/L = 0: Shift to the left DL = 1: 8 bits, DL = 0: 4 bits N = 1: 2 lines, N = 0: 1 line F = 1: 5 10 dots, F = 0: 5 8 dots BF = 1: Internally operating BF = 0: Instructions acceptable DDRAM: Display data RAM CGRAM: Character generator RAM

Philippe LETENNEUR - STS GRANVILLE 2004 -

Page 9/11

Fonctionnement dun afficheur LCD 4 x 20 Chipset LSI : HITACHI HD44780


IV) INITIALISATION DE LAFFICHEUR LCD.
IV.1) Mode 8 bits.

Power on

Wait for more than 15 ms after V CC rises to 4.5 V

RS R/WDB7 DB6 DB5 DB4 DB3DB2 DB1 DB0 0 0 0 0 1 1 1 * * *

BF cannot be checked before this instruction . Function set (Interface is 8 bits long.)

Wait for more than 4.1 ms

RS R/WDB7 DB6 DB5 DB4 DB3 DB2DB1 DB0 0 0 0 0 1 1 1 * * *

BF cannot be checked before this instruction . Function set (Interface is 8 bits long.)

Wait for more than 100 s

RS R/WDB7 DB6 DB5 DB4 DB3 DB2DB1DB0 0 0 0 0 1 1 1 0 0 0

BF cannot be checked before this instruction . Function set (Interface is 8 bits long.)

RS R/W DB7DB6 DB5 DB4 DB3 DB2 DB1DB0 0 0 0 0 1 1 1 0 0 0

BF can be checked after the following instructions . When BF is not checked, the waiting time between instructions is longer than the execution instuction time. Specify the number of display lines and character font .) The number of display lines and character font cannot be changed after this point .

Display ON Display clear Cursor ON

Initialization ends

Philippe LETENNEUR - STS GRANVILLE 2004 -

Page 10/11

Fonctionnement dun afficheur LCD 4 x 20 Chipset LSI : HITACHI HD44780


IV.2 Mode 4 bits.
Power on

Wait for more than 15 ms after V CC rises to 4.5 V BF cannot be checked before this instruction . Function set (Interface is 8 bits long.)

RS R/W DB7 DB6 DB5 DB4 0 0 0 0 1 1

Wait for more than 4.1 ms

RS R/W DB7 DB6 DB5 DB4 0 0 0 0 1 1

BF cannot be checked before this instruction . Function set (Interface is 8 bits long.)

Wait for more than 100 s

RS R/W DB7 DB6 DB5 DB4 0 0 0 0 1 1

BF cannot be checked before this instruction . Function set (Interface is 8 bits long.) Function set (Set interface to be 4 bits long .) BF can be checked after the following instructions . When BF is not checked , the waiting time between instructions is longer than the execution instuction time. Function set ( Specify the number of display lines and character font.) The number of display lines and character font cannot be changed after this point . Display on Display clear Cursor On and Blinking

RS R/W DB7 DB6 DB5 DB4 0 0 0 0 1 0

0 0

0 0

0 1

0 0

1 0

0 0

0 0

0 0

0 1

0 1

0 1

0 1

Initialization ends

Philippe LETENNEUR - STS GRANVILLE 2004 -

Page 11/11

Vous aimerez peut-être aussi