test 44780
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

test 44780



  1. #1
    invitea093086b

    test 44780


    ------

    bonjour.. j aimerais juste tester si mon LCD 44780 marche tj... j'ai un PIC 16f877 et j'ai fait ce programme... j'ai tout brancher sur le port D...

    pin 4 RS --> RD0
    pin 5 R/W --> RD1
    pin 6 E --> RD2
    pin 11/12/13/14 --> RD4-7

    Etant debutant ma question est la suivante : est ce que ce programme marcherais sur le LCD ? juste pour afficher 123456789ABCDEF.. merci


    #include "G:....."
    #include <LCD.C>

    int a,b;
    unsigned int sec=0;

    void main()
    {

    setup_adc_ports(NO_ANALOGS);
    setup_adc(ADC_OFF);
    setup_psp(PSP_DISABLED);
    setup_spi(FALSE);
    setup_counters(RTCC_INTERNAL,R TCC_DIV_1);
    setup_timer_1(T1_DISABLED);
    setup_timer_2(T2_DISABLED,0,1) ;
    lcd_init();

    delay_ms( 20 );
    lcd_gotoxy(1,1);
    delay_ms( 20 );
    lcd_putc("\f123456789ABCDEF\n1 23456789ABCDEF");

    }

    -----

  2. #2
    romelec

    Re : test 44780

    Bonsoir,

    tu aurais-pu préciser que tu développes avec CCS et que le fichier LCD.C était fourni par ccs ...

    voici donc la fonction lcd_putc:
    Code:
    void lcd_putc( char c) {
       switch (c) {
         case '\f'   : lcd_send_byte(0,1);
                       delay_ms(2);
                                               break;
         case '\n'   : lcd_gotoxy(1,2);        break;
         case '\b'   : lcd_send_byte(0,0x10);  break;
         default     : lcd_send_byte(1,c);     break;
       }
    }
    ton code compile bien, mais à ce que je vois de la fonction ca ne merchera pas, car elle accepte comme paramètre un caractère et toi tu lui envoies une chaine de caractères...

  3. #3
    invite9ad2f925

    Re : test 44780

    Bijour ,

    j'ai développé qque application avec lcd ... je file le code .

    biblio de tempo :

    #include <xlcd.h>
    #include <p18F2320.h>

    void DelayPORXLCD( void );
    void DelayXLCD( void );
    void DelayFor18TCY( void );
    main(void)
    {
    char minut[3];
    // Ouverture du LCD en utilisant 4 bits pour transfÚrer des donnÚes et qui utilise plusieurs lignes
    OpenXLCD(FOUR_BIT & LINES_5X7 );

    // mise Ó zÚro des sorties du port A (LED)
    PORTA=0;

    // Efface le LCD
    WriteCmdXLCD( CLRSCR ); // ICI commande réécrite ds biblio xlcd.h

    // Ecriture de la phrase sur le LCD
    putrsXLCD( "Minute(s) :" );

    // Conversion du nombre entier en un caractÞre ascii
    itoa(minute,minut);
    // Úcriture du nombre de minute sur le LCD
    WriteDataXLCD(minut[0]);
    // Vérifier l'occupation du LCD
    while( BusyXLCD() );
    WriteDataXLCD(minut[1]);
    }

    Voila pour la base du programme.(c'était une minuterie)


    A+,
    JOOP

    PS : si tu utilise des biblio fournie par le construct regarde bien si elle sont configurée avec le(s) bon port.... Il faut parfois recompiler les biblios...
    PS2: Moi j'utilise Mplab avec les biblios C18.

  4. #4
    romelec

    Re : test 44780

    Bonjour,

    voilà donc une fonction pour envoyer une chaine de caractères:
    Code:
    void lcd_puts(char* s){
    while(*s != '\0'){
      lcd_putc(*s);
      s = s+1;
      }
    }
    @++.

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

    Re : test 44780

    merci pour vos reponses.. mais j'avoue ne pas très bien comprendre ton dernier bout de code... est ce que ca t embeterais de me l'expliquer... stp ?

  7. #6
    romelec

    Re : test 44780

    Bonjour,

    c'est une fonction qui permet d'afficher des chaines de caractères sur le lcd.
    le paramètre d'entrée est s, le pointeur sur la chaine à afficher.

    tant que le caractère pointé par ce pointeur n'indique pas la fin de la chaine (while(*s != '\0') ) le caractère est affiché sur le lcd (lcd_putc(*s) ) puis on va tester le caractère suivant (s = s+1).

    exemples d'utilisation:
    Code:
    char chaine[10]="bonjour";
    ...
    ...
    lcd_puts(chaine);
    lcd_puts("comment ca va ?");
    sur le lcd il se sera affiché:"bonjourcomment ca va ?" (le fait qu'il n'y ait pas d'espace entre bonjour et comment est normal)

    voilà

  8. #7
    invitea093086b

    Re : test 44780

    tout d'abord merci c'est super sympa
    ensuite j'm'excuse pour ces questions qui doivent etre assez chainte mais une erreure "Unknown device type -- Try PCM" s'affiche... et la fenetre 16f877 qui s'ouvre en // a mon programme et pointe sur #device PIC16F877...
    et j'comprend pas... excuse moi.. c'est ma derniere question... merci

  9. #8
    invitea093086b

    Re : test 44780

    oublie.. scuse moi rien a voir.. j ai trouver

  10. #9
    romelec

    Re : test 44780

    tu n'as pas à t'excuser, c'est le principe d'un forum: le partage de connaissances et l'entraide... (bon là j'en fait peut-être un peu trop)

  11. #10
    invitea093086b

    Re : test 44780

    ca te derangerais histroire de 5-10 min te connecter a msn ? histoire d'avoir de l'aide en live ^^ si t as rien d autre a faire

  12. #11
    invitea093086b

    Re : test 44780

    alors un dernier petit service.. apres j arrete avec ca.. promis ^^
    tu pourrais me mettre ton exemple entier.. que j comprenne exactement l'ordre des instructions.. j'suis debutant et j'ai pas encore la logique de la programmation.. mon but c est de tester cette afficheur.. et ca fais plusieur jour que j'y transpire ^^ ca serais super sympa...

  13. #12
    invitea093086b

    Re : test 44780

    je suis tres tres boiteux en C encore alors est ce que quelqu un peut me donner son avis sur mon programme.. celui que j ai esssayer de corriger ^^ me dire si y a un sens a c que j ai fait ? c'est juste pour tester un HD44780 ...

    #include "G:\...."
    #include <LCD.C>

    void lcd_puts(char * s);

    void main()
    {

    LCD_Init();
    lcd_gotoxy(1,1);
    lcd_puts("Welcome To");

    }


    void lcd_puts( char *s)
    {
    while(*s != '\0')
    {
    lcd_putc(*s);
    s = s+1;
    }
    }

Discussions similaires

  1. Ecran HD-44780
    Par Ravaner dans le forum Électronique
    Réponses: 0
    Dernier message: 11/02/2007, 18h58
  2. génétique-Test d'identité / Test de paternité
    Par invite8056a839 dans le forum Biologie
    Réponses: 0
    Dernier message: 26/12/2006, 08h37
  3. Programme pour LCD 44780...
    Par invitea093086b dans le forum Électronique
    Réponses: 3
    Dernier message: 15/02/2005, 14h08
  4. LCD, HD-44780, PIC... aidez moi !!
    Par invitea093086b dans le forum Électronique
    Réponses: 16
    Dernier message: 11/02/2005, 18h08
Découvrez nos comparatifs produits sur l'informatique et les technologies.