Projet à microcontrôleur PIC 16F876A

Journal lumineux défilant


d'après un projet original de
http://heartygfx.blogspot.com




Télécharger la vidéo réalisée par Slimane Nait-Kait (4,2 Mo)
(Sur le lien, faire un clic-droit, puis Enregistrer sous)




 


Il s'agit d'un journal lumineux défilant.
Le message à afficher est limité à 255 caractères.
La capacité de l'afficheur est de 12 caractères.
Un caractère est codé par une matrice de 8 leds par 8 leds.

matrices à LEDs

Dans le code source, vous pouvez définir la vitesse de défilement et créer de nouveaux caractères.
Le message est stocké dans la mémoire permanente du PIC (255 * 8 = 2040 octets).

 

      

Le microcontrôleur PIC 16F876A utilise 11 sorties numériques :


Les douze 74HC595 (1 par matrice) sont en cascade :

Les données série provenant du PIC (broche RC5/SDO) arrivent à l'entrée DS (Serial Data Input) du premier 74HC595.
La sortie Q7' (Serial Data Output) du
premier 74HC595 est connectée à l'entrée DS du second 74HC595.

La sortie Q7' (Serial Data Output) du second 74HC595 est connectée à l'entrée DS du troisième 74HC595, et ainsi de suite.

L'horloge des 74HC595 (broche SHCP : Shift register clock input) est générée par le PIC (broche RC3/SCK).

La sortie RC6 du PIC est reliée aux entrées STCP (Storage register clock input) des 74HC595.

 


L'affichage utilise la technique du multiplexage : à un instant donné, une seule des 8 colonnes de chaque matrice est alimentée.

En balayant rapidement et cycliquement chaque colonne, on donne l'illusion d'un affichage lumineux continu.


Pour activer une des 8 colonnes, par exemple la deuxième colonne de chaque matrice, il faut imposer :

RB0 = 0 ; RB1 = 1 ; RB2 = 0 ; RB3 = 0 ; RB4 = 0 ; RB5 = 0 ; RB6 = 0 ; RB7 = 0

Maintenant, pour commander les 12 * 8 = 96 lignes (96 leds) de ces colonnes, le PIC transmet 12 octets (96 bits) par le bus série synchrone SPI.

Les 74HC595 permettent de faire la conversion série -> parallèle.

 



 

Le code source a été écrit en langage C avec le compilateur mikroC de la société mikroElektronika.

Une version de démonstration est téléchargeable gratuitement (taille du code objet .hex limitée à 2 ko).




Vous trouverez sur le blog de HeartyGFX (http://heartygfx.free.fr/Telechargement) un petit utilitaire, EditChar, codé par un visiteur (Kawi de son pseudo), et corrigé et interfacé par HeartyGFX.
 
Cet utilitaire permet de créer ses propres caractères
ou sprites.


source : http://heartygfx.blogspot.com


 

(C) Fabrice Sincère ; Révision 1.2.2