[Programmation] initialisation LCD DEM16216SGH
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

initialisation LCD DEM16216SGH



  1. #1
    invite5396f733

    initialisation LCD DEM16216SGH


    ------

    bonjour

    je tente de manipuler cet afficheur LCD.
    Après avoir télécharger sa doc, mes essais d'affichage ne sont pas correctes .
    Je tente d'afficher la lettre D (code:01000100) au début de la ligne 1 et la lettre P (code:01010000) au début de la ligne 2.
    Il est dit que pour pointer au début de la ligne 1, l'instruction "set DDRAM' est : b'10000000' (bit 7 toujours à 1)
    pour le début de la ligne 2 : b'11000000'

    Malgré ceci j'affiche la lettre L à la place de D à la ligne 1 mais colonne 9 !! et la lettre X à la place de P à la ligne 2 colonne 9 !!
    Sur Proteus/ISIS l'affichage est correcte, ce LCD n'est pas dans sa liste de composants mais ces commandes sont communes à chaque LCD.

    Y a t'il une explication pour ce résultat ?


    nota : une partie de mon programme

    Code:
    		;---- attente stabilité de la tension LCD ----
    		tempo_50ms
    		tempo_50ms	
    		;---------------------------------------------
    		
    		call	init_LCD		;LCD 2 lignes en mode 8bits
    		call	aller_ligne_1
    		call	ecriture_mot_ligne1
    
    debut0;
    call	aller_ligne_2
    call	ecriture_mot_ligne2
    
    
    init_LCD	
                    ;FONCTION_SET (on force le LCD en mode 8 bits avec 2 lignes)
    			movlw	h'38'					
    			movwf	PORTB
    			call	valid_instructions			
    			tempo130us
    
    		;DISPLAY ON/OFF CONTROL (configure le curseur)
    			movlw	b'00001101'			;0E:curseur visible fixe				
    			movwf	PORTB				;0F visible clignot;OD invisible
    			call	valid_instructions		
    			tempo130us
    			
    		;DISPLAY CLEAR (facer l'écran du LCD)
    			movlw	b'00000001'					
    			movwf	PORTB
    			call	valid_instructions
    			tempo130us
    			
    		;ENTRY MODE SET (configure le déplacement du curseur vers la droite)
    			movlw	b'00000111'					
    			movwf	PORTB
    			call	valid_instructions
    			tempo130us
    			return
    
    
    
    
    aller_ligne_1;		
    movlw	b'10000000'
    				movwf	PORTB
    				call            valid_instructions
    				return
    
    aller_ligne_2;	
    movlw	b'11000000'
    				movwf	PORTB
    				call	        valid_instructions
    				return
    
    ecriture_mot_ligne1;	
    movlw	b'01000100'		;lettre D
    		                movwf	PORTB
    		                call	valid_donnees
    		                return
    
    ecriture_mot_ligne2;
    movlw	b'01010000'		;lettre P
    	          	        movwf	PORTB
    		                call	valid_donnees
    		                return
    
    valid_instructions;	
    tempo130us
    				bcf		LCD_RS					
    				tempo130us
    				bsf		LCD_E
    				tempo130us
    				bcf		LCD_E
    				tempo130us
    				return
    merci de votre aide

    -----
    Dernière modification par Antoane ; 13/03/2016 à 13h25. Motif: Ajout balises [code]

  2. #2
    invite5396f733

    Re : initialisation LCD DEM16216SGH

    pas de réponses ?

  3. #3
    invite5396f733

    Re : initialisation LCD DEM16216SGH

    pas d'idées non plus ?

  4. #4
    juju_du_26

    Re : initialisation LCD DEM16216SGH

    Bonjour
    Avant d' écrire quoi que ce soit sur l' écran ,
    arrives tu a l'initialiser correctement et avoir ( dans un 1er temps ) le curseur a gauche sur la 1ere ligne ?

  5. A voir en vidéo sur Futura
  6. #5
    invite5396f733

    Re : initialisation LCD DEM16216SGH

    je comprends qu'il faut tester le LCD tout d'abord ...
    je le programme comme tel pour le voire
    Le problème des lettres restera à élucider

  7. #6
    invite5396f733

    Re : initialisation LCD DEM16216SGH

    bon, la pin 10 du pic écrasée
    de ce fait c'est OK maintenant

    l'instruction qui fait aller sur ligne 1 colonne 1 est : movlw b'0000001x' (Return Home du LCD)
    mais comment pointer sur l'écran du LCD pour écrire ?

  8. #7
    juju_du_26

    Re : initialisation LCD DEM16216SGH

    Je suppose qu'il s'agit d'un LCD standard ?
    Qu' 'en est il du signal de control RS ( données / instructions )
    RS doit être a zéro pendant les instructions ( initialisation , effacement , passage en ligne 1 ou 2 ...)
    RS doit être mis a 1 quand tu envoie des données a afficher

    Est ce le cas

  9. #8
    invite5396f733

    Re : initialisation LCD DEM16216SGH

    pour la commande de RS et puls sur E c'est OK
    maintenant je voudrais savoir comment écrire une lettre , un chiffre à un endroit de l'afficheur, avec quelle instruction ?
    celle de la DDRAM ?

  10. #9
    invite5396f733

    Re : initialisation LCD DEM16216SGH

    je pense que les emplacements utilisés sont ceux de la DDRAM, exemple :
    si je veux écrire "D" en ligne 1/colonne 12 ---> en assembleur cela donne :
    début ligne 1 ---> movlw 0x80 (b'1000xxxx') la colonne est déterminée par les bits de poids faible ici 12 ---> b'xxxx1100'

    ce qui donne:

    movlw b'10001100'
    movwf PORTB
    routine instruction
    movlw b'01000100'
    movwf PORTB
    routine données

    ça marche

  11. #10
    juju_du_26

    Re : initialisation LCD DEM16216SGH

    Salut

    Ca marche ? Bravo !!

Discussions similaires

  1. initialisation d'un LCD
    Par invite5396f733 dans le forum Électronique
    Réponses: 4
    Dernier message: 05/08/2015, 21h33
  2. Initialisation d'un tableau
    Par invite64056dd8 dans le forum Programmation et langages, Algorithmique
    Réponses: 16
    Dernier message: 06/10/2011, 10h48
  3. Fonction d'initialisation en C++
    Par invite2781af1c dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 08/12/2009, 00h41
  4. Initialisation LCD (KS0073)
    Par invite4386a656 dans le forum Électronique
    Réponses: 2
    Dernier message: 12/09/2009, 11h42
  5. Initialisation d'un LCD
    Par Toufinet dans le forum Électronique
    Réponses: 12
    Dernier message: 24/05/2006, 21h30
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...