Lcd hitachi + AT89C51

R

ReyDemonio

Guest
Bonjour, je suis en train d'utiliser un écran LCD (LM016L) avec un processeur Hitachi, il contrôle avec un AT89C5131 et une interface 4 bits, mais je suis seulement obtenir des rectangles noirs et rien d'autre dans le kit réelle et rien du tout dans le simulation Protheus. Quelqu'un pourrait-il m'aider avec le code s'il vous plaît? Merci
Code:
 # include sbit FR = P3 ^ 6; sbit RS = P3 ^ 4; sbit RW = P3 ^ 5; unsigned char dato = 0; non signé le code de caractères Tex1 [16] = {'', 'L', ' C ',' D ',' ',' d ',' e ',' ', '2', '', 'f', 'i', 'l', 'a', 's', '' }; unsigned char i = 0, j = 0, k = 0, z = 0, le bit BU = 0; ini void () void trans (unsigned char i); attente vide (unsigned char z); void main (void ) {ini (); for (; ;) {dato = 0x80; trans (0); for (k = 0; k
 
L'écran LCD vous utilisez est essentiellement une conception âgé de 20 ans, basé sur un dispositif appelé HD44780. Si vous google pour ce périphérique, vous trouverez des tonnes de code source d'exemple pour le contrôler, et probablement beaucoup d'exemple avec le même microcontrôleur vous utilisez trop. Je soupçonne que votre problème est que vous avez pas de retard, mais il a été un moment depuis que j'ai essayé ce contrôleur LCD. Quoi qu'il en soit, comme une note côté, votre code est très bizarre, vous utilisez des variables globales pour transmettre des informations qui, normalement, pourrait être simplement des paramètres dans les appels de fonction.
 
Désolé pour le code bizarre, je suis seulement à partir de C51 et tout ce genre de choses. J'ai essayé de l'améliorer comme vous avez dit, sans utiliser autant de variables globales.
Code:
 # include sbit FR = P3 ^ 6; sbit RS = P3 ^ 4; sbit RW = P3 ^ 5; unsigned code de caractères Tex1 [16] = {'', 'L', 'C', 'D', '', 'd', 'e', ​​'', '2 ',' ',' f ',' i ',' l ',' a ',' s ',' '}; unsigned char i = 0 , j = 0, k = 0, z = 0, le bit BU = 0; ini void () void trans (unsigned char i, unsigned char dato); attente vide (unsigned char z); void main (void) {ini (); for (; ;) {trans (0, 0x80), pour (k = 0; k
 
Peut au moins me donner à quelqu'un un code de travail pour un micro 8051 et un HD44780? Je ne peux pas trouver quelque chose d'utile dans google, seules les parties du code ou des codes non valides.
 
Je n'ai pas vérifié votre code, s'il vous plaît assurez-vous que vous initilized l'écran LCD correctement. Si vous obtenez rectangles il peut y avoir une chance de problème de connectivité des données et des broches de commande. Check This Tutoriel interface LCD [/URL] [/B] qui utilise MikroC bibliothèque
 
Ce qui suit est un tutoriel faire des démonstrations d'un écran LCD compatible HD44780 utilisant le 4-bit interface avec la famille 8051 et fournit le code source à la fois dans l'Assemblée et langages C: [URL = "http://www.8051projects.net/lcd-interfacing/introduction. php "] LCD interfaçage avec Microcontrôleurs tutoriel [/URL] En règle générale, les boîtes noires / rectangles indiquent un problème d'initialisation, les retards éventuellement incorrectes, les connexions, etc BigDog
 

Welcome to EDABoard.com

Sponsor

Back
Top