Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

Problème contrôle lcd sur 16f1937
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#21 Message par satinas » dim. 3 avr. 2016 14:24

C'était pas une préconisation, juste une explication. Et pourquoi veux-tu mettre une tempo, là où elle n'est pas nécessaire ? :)

Problème contrôle lcd sur 16f1937
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#22 Message par Guest » dim. 3 avr. 2016 14:51

satinas a écrit :pourquoi veux-tu mettre une tempo, là où elle n'est pas nécessaire

tu es sur .... moi j'ai un doute sur les 220 ns oups 450 ns
Modifié en dernier par Anonymous le dim. 3 avr. 2016 16:09, modifié 1 fois.

Problème contrôle lcd sur 16f1937
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#23 Message par satinas » dim. 3 avr. 2016 15:08

non, mais celui qui a fait la librairie devait l'être.
Ces afficheurs sont apparus début 1990. Le bug que j'avais, c'était l'affichage qui au démarrage partait parfois en scroll ininterrompu, ce devait être le manque de la séquence d'initialisation. A l'époque pas de doc, pas de datasheet, fallait grapiller les infos à droite à gauche, ou faire comme les shadocks, essayer toutes les possibilités jusqu'à la bonne.

Problème contrôle lcd sur 16f1937
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#24 Message par Guest » dim. 3 avr. 2016 15:25

Tient un bout de l'init de la lib sous XC8 v1.32 existe plus sous 1.37 ;)

Code : Tout sélectionner

/********************************************************************
*       Function Name:  WriteCmdXLCD                                *
*       Return Value:   void                                        *
*       Parameters:     cmd: command to send to LCD                 *
*       Description:    This routine writes a command to the Hitachi*
*                       HD44780 LCD controller. The user must check *
*                       to see if the LCD controller is busy before *
*                       calling this routine.                       *
********************************************************************/
void WriteCmdXLCD(unsigned char cmd)
{
#ifdef BIT8                             // 8-bit interface
        TRIS_DATA_PORT = 0;             // Data port output
        DATA_PORT = cmd;                // Write command to data port
        RW_PIN = 0;                     // Set the control signals
        RS_PIN = 0;                     // for sending a command
        DelayFor18TCY();
        E_PIN = 1;                      // Clock the command in
        DelayFor18TCY();
        E_PIN = 0;
        DelayFor18TCY();


d'ou ma remarque sur les problèmes avec ENABLE

mais bon si tu dis que cela fonctionne.....

A+

PS: en ASM je les fait tourner a 100µS, les KS0066U (sur les photos c'est des KS0066U )sont plus dur a faire tourner je monte a 800µS .Je fais tourner seulement les KS0108B (128x64) a 450ns(mini de la DS) pour faire du graphisme , jamais eu de problème, mais bon je ne suis pas la règle après a vous de voir de vous rapprocher de la ds qui est le mini

Problème contrôle lcd sur 16f1937
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#25 Message par satinas » dim. 3 avr. 2016 16:15

Je dis juste que ce qui est important est le front descendant de Enable. C'est en lisant le datasheet de Jeremy que j'en ai pris conscience. Je viens de tester sur le bus 80MHz du pic32. Une pulse Enable de 12ns marche parfaitement sur 3 afficheurs différents. Après que l'afficheur parte en busy je ne sais combien de us ou ms, c'est autre chose. Mes librairies sont bardés de tempos en ms, histoire de pas s'embêter avec le bit busy.

Problème contrôle lcd sur 16f1937
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#26 Message par Guest » dim. 3 avr. 2016 16:36

Je suis d'accord avec toi que c'est le front bas qui valide les données présentent sur le port du LCD.
La ds dis:
qu'il faut un min de 450ns, maintenant je ne sais pas comment gère ta lib au niveau du temps.je sais que ma LIB, en fonction du cycle machine rallonge ou diminue le NB de NOP(); pour être toujours dans le créneau.que je me suis fixé.donc elle est affranchi de Fosc.je travaille sans test de busy

DANS le CAS, ICI nous ne travaillons pas avec le BIT busy(lecture du port LCD) on est bien d'accord. CAR AUCUN TEST de BUSY ni avant ni après instruction en #1

Tout cela pour bien enlever tout mal entendu car la je pense que ton test est avec busy d'ou les 12ns.

A+

Problème contrôle lcd sur 16f1937
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#27 Message par Guest » dim. 3 avr. 2016 18:21

Une dernière chose concernant la ds .Dans une DS il y a au niveau caractéristique plusieurs colonnes entre autre un min et un maxi et un type les bornes mini maxi sont facile a comprendre c'est la limite a ne pas franchir sous peine de destruction de non fonctionnement , elles sont utiles, mais la plus importantes a mes yeux c'est le type le type est la valeur a laquelle TOUT les produits(ici LCD) sont censés fonctionner.Vous constatez que dans la DS au niveau "Bus Timing Characteristics" il n'y a pas de valeur type ,donc une grande inconnu qui peu varier d'un composant a un autre .pour moi cette inconnue c'est 100µs maintenant a vous de faire le test en + ou en -sinon utiliser le bit busy

A+

Problème contrôle lcd sur 16f1937
Claudius
Avatar de l’utilisateur
Passioné
Passioné
Messages : 260
Âge : 69
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#28 Message par Claudius » dim. 3 avr. 2016 23:05

Bonsoir,

Ma main est sauvée car je lis "This routine writes a command to the Hitachi HD44780 LCD controler." (cf. mon post #11 ;-))

Problème contrôle lcd sur 16f1937
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#29 Message par Jérémy » lun. 4 avr. 2016 14:20

Bonjour à tous,

Me revoilou !!!!!

Sujet très sympa et pile dans mon actualité. Durant mon voyage j'ai fini ma librairie 4bits pour LCD, me permettant ainsi de m'améliorer encore un peu .
Je suis dans le train, actuellement et je fonce rejoindre ma famille.... je ferais un tuto certainement dans la semaine, qui je l'espère amènera quelques améliorations de votre part.

Au fait bienvenue sur FantasPic Pooshy ! as tu résolu ton problème au final ? L'initialisation est super importante est ma faite galérer un peu avec ces histories de 3 boucles 0x28 suivies d'une commande 0x02 ...
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Problème contrôle lcd sur 16f1937
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#30 Message par Guest » jeu. 14 avr. 2016 21:07

Bonsoir

jeremy a terminé sa lib comme promis je te donne la mienne il y a 2 fichiers un source et un entête tu loges les 2 fichiers dans un seul dossier

voici les fichiers
LIB_LCD.h

LIB_LCD.c


sous xc8 dans le projet fichier source tu ouvres le fichier LIB_LCD.c cela te fait donc bien 2 FICHIER .C
A+

si probleme pas de soucis

je rajoute cela le main

Code : Tout sélectionner

 
 char    Tempon [10] = "FANTASPIC\0";
        Init_Pic();
        Init_Timer1();                  //bon la c'est pour faire beau
        Init_XC8_LCD ();
        DD_RAM_XC8_LCD (1,4);
        Write_XC8_LCD (Tempon,9);       
        while(1);


ps: ajout info: c'est un exemple avec la config, le positionnement en DD_ram l'image fournit en config 8 bits est extraite d'ici
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par Anonymous le ven. 15 avr. 2016 13:40, modifié 1 fois.


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 19 invités