PH301
Le PH301 est un microcontrôleur spécialisé dans l'interfaçage par port série d'un ensemble afficheur LCD / clavier matricé 16 touches. L'afficheur doit être basé sur le contrôleur standard HD44780 de HITACHI. Le PH301 reçoit des caractères en série et les affiche sur le LCD. La valeur des touches du clavier matricé qui sont actionnées est envoyée en série par contrôleur vers l'équipement auquel il est rattaché. Le rétro éclairage des afficheurs qui en sont équipés peut être géré par le PH301. |
![]() |
Principe de fonctionnement
La vitesse de communication série est fixée à 2400 BPS (8 bits de données , pas de bit de parité, 1 bit de stop). Cette vitesse est déterminée pour autant que le quartz utilisé soit de 4Mhz, Une vitesse de 4800 BPS peut cependant être atteinte moyennant l'utilisation d'un quartz de 8Mhz. Les niveaux électriques de la liaison série sont compatibles TTL ou CMOS en logique positive 0/5 volts (état de repos 5 volts, 0 volt = 0 logique, 5 volts = 1 logique). Une adaptation des niveaux à la norme RS232 peut être obtenue par l'utilisation d'un composant additionnel tel que le classique MAX232.
Le PH301 supporte n'importe quel type d'afficheur basé sur le HD44780 tels que 1 ligne de 16 caractères ou encore 4 lignes de 20 caractères
En règle générale chaque caractère affichable reçu par le PH301 est affiché sur le LCD. Deux caractères de contrôle sont cependant réservés: 27 et 28 décimal.
27 sert de préfixe pour envoyer une commande dans le registre de contrôle du LCD. Il permet de distinguer le caractère suivant afin qu'il soit considéré comme un byte d'instruction et non comme un caractère à afficher (effacement d'écran, positionnement du curseur, etc.).
28 sert de préfixe pour envoyer un niveau de luminosité du rétro éclairage. Le byte suivant pouvant avoir une valeur entre 0 et 15 fixe le niveau de luminosité.
Après l'exécution d'une de ces deux commandes (27 ou 28) le PH301 retourne en mode normal d'affichage.
Des valeurs hexadécimales (0123456789ABCDEF) symbolisant les 16 touches du clavier qui peuvent être pressées sont envoyées en série vers l'équipement hôte. Ces valeurs devront être prises en charge par l'application hôte de sorte à les traduire par le biais d'un table de correspondance en codes adaptés au contexte d'utilisation.
Description du brochage du PH301
| Nom |
N° |
Description |
| OSC1 |
16 |
Broches de connexion d'un quartz de 4 MHz. Les deux broches du quartz doivent chacune être raccordées à un condensateur de 22 pF relié à la masse. |
| 0SC2 |
15 |
|
| RESET |
4 |
Cette entrée doit être gardée à VCC et peut si nécessaire être utilisée pour reseter le contrôleur, en lui envoyant une courte impulsion au niveau bas. |
| RX |
17 |
Entrée série |
| TX |
3 |
Sortie série |
| LCD_D4/KBD_R1 |
6 |
Sorties à usage mixte. Elles sont à la fois connectées au bus de données 4 bits de l'afficheur LCD et aux 4 lignes du clavier matricé. La connexion au clavier se fait au travers de diode (1N4148) dont la cathode est raccordée au PH301 afin d'éviter les courts-circuits en cas d'appuis simultanés sur 2 touches du clavier. (note 1) |
| LCD_D5/KBD_R2 |
7 |
|
| LCD_D6/KBD_R3 |
8 |
|
| LCD_D7/KBD_R4 |
9 |
|
| KBD_C1 |
10 |
Entrées raccordées aux 4 colonnes du clavier matricé |
| KBD_C2 |
11 |
|
| KBD_C3 |
12 |
|
| KBD_C4 |
13 |
|
| RS |
1 |
Sélection d'un registre de l'afficheur LCD. Si l'information présente sur le bus de données est une instruction (RS à 0) ou un caractère (RS à 1). (note 1) |
| E |
2 |
Sortie de validation du transfert de l'information présente sur le bus de données 4 bits vers l'afficheur LCD. (note 1) |
| BL |
18 |
Sortie de modulation du rétro éclairage. La variation de luminisité est obtenue par une modulation en largeur d'impulsion. (note 1) |
| VCC |
14 |
Broches d'alimentation du contrôleur. La tension nominale est de 5V et peut varier entre 3 V et 5.5 V. |
| GND |
5 |
note 1: voir tableau de raccordement aux modules LCD standards
Raccordement aux modules LCD standards
L'afficheur LCD est interfacé avec le PH301 en mode de communication sur 4 bits. Seuls D4 à D7 sont utilisés. Le tableau suivant reprend le brochage des afficheurs les plus courants de 80 caractères. Les afficheurs ne disposant pas de rétro éclairage n'ont pas de broche 15 et 16. La commande du rétro éclairage doit se faire au travers d'un transistor, le PH301 étant incapable de délivrer le courant nécessaire à l'illumination des LED d'éclairage de l'afficheur (200 mA pour certains modèles).
| Broche LCD |
Nom |
Broche PH301 |
Fonction |
| 1 |
GND |
Alimentation |
|
| 2 |
VCC |
Alimentation |
|
| 3 |
VEE |
(GND ou tension variable) |
Réglage du contraste |
| 4 |
RS |
1 |
0 = instruction |
| 5 |
R/W |
(GND) |
0 = écriture |
| 6 |
E |
2 |
Enable (front descendant) |
| 7 |
D0 |
Donnée LSB |
|
| 8 |
D1 |
Donnée |
|
| 9 |
D2 |
Donnée |
|
| 10 |
D3 |
Donnée |
|
| 11 |
D4 |
6 |
Donnée |
| 12 |
D5 |
7 |
Donnée |
| 13 |
D6 |
8 |
Donnée |
| 14 |
D7 |
9 |
Donnée MSB |
| 15 |
LED A |
VCC |
Anode - LED de rétro-éclairage |
| 16 |
LED K |
18 : BL via transistor |
Cathode - LED de rétro-éclairage |
Raccordement à un clavier matricé.
Les lignes et les colonnes du clavier matricé 4x4 doivent être respectivement raccordées aux broches KBD_Rx (1-4) et KBD_Cx (1-4) quatre diodes doivent être insérées dans entre les broches KBD_Rx et les lignes du clavier (cathode coté PH301).
Les valeurs génériques renvoyées par le PH301 lors de l'appuis sur les touches du clavier sont assignées comme le présente le schéma suivant.

Principe d'utilisation
Le PH301 communique avec l'équipement hôte via les broches TX et RX en série avec les paramètres de communication suivants 2400 BPS, 8 data bits, pas parité, 1 stop bit. Chaque fois q'une touche du clavier est actionnée un caractère correspondant est envoyé sur la sortie série TX. Chaque caractère envoyé en code ASCII au PH301 par l'entrée série RX est affiché sur le LCD.
Le tableau suivant présente les caractère affichables de la plupart des LCD basés sur le HD44780.
![]() |
Chaque position affichable sur le LCD est numérotée de 0 à 79. Les caractères se positionnent sur l'écran les un après les autres au fur et à mesure qu'ils sont reçus par le PH301. Le comportement en fin de ligne est différent d'un afficheur à l'autre et dépend essentiellement . du nombre de lignes et colonnes de l'afficheur. dans le tableaux suivant vous trouverez les assignations les plus courantes à 1, 2 ou 4 lignes.
Afficheur à une ligne
![]()
Afficheur à deux lignes
![]()
Afficheur à quatres lignes

Le HD44780 dispose d'un jeu de commande permettant de contrôler les différentes fonctions de l'afficheur telles que le positionnement du curseur, l'effacement de l'écran, vous trouverez le détail de toutes ces commande sur la datasheet du HD44780 disponible sur noter site. Toutes ces commandes sont codées sur un caractères qui peut être envoyé au LCD en le précédant d'un caractère de préfixe 27 décimal. Le tableau suivant présente un résumé des commandes les plus utiles.
| Commandes |
Code Hexdécimal |
| Effacement écran |
01 |
| Retour curseur coin supérieur gauche |
02 |
| Curseur clignotant |
08 |
| Curseur ON |
0E |
| Curseur OFF |
0C |
| Positionnement du curseur |
80+index de position (voir tableaux précédents) |
Pour les afficheurs équipés d'un rétro éclairage, le niveau de luminosité peut varier sur 16 niveaux. En envoyant une valeur entre 0 et 15 précédée du préfixe 28 décimal.
Exemple d'application