Yop !
Bon, alors j'essaie de programmer un PIC pour afficher des trucs sur un LCD.
1ière étape : initialisation du LCD -> j'y arrive pô
PS : PIC 16F876A à 16 MHz
Voici le code que j'utilise :
Et voici les routines enable et tempo_init :
call tempo_init;
bcf PORTC,0; PORTC,0 = ENABLE
bcf PORTC,1; PORTC,1 = R/Wbar
bcf PORTC,2; PORTC,2 = RS
movlw 0x33; J'envoie 33h 3 fois, je ne sais pas pourquoi
movwf PORTB; j'ai trouvé ça dans un tuto
call enable;
call tempo_init;
call enable; 2ième fois
call tempo_init;
call enable; 3ième fois
call tempo_init;
movlw 0x38; J'envoie 38h, je ne sais pas pourquoi
call enable; j'ai trouvé ça dans un tuto
call tempo_init;
movlw b'000001111';
movwf PORTB;
call enable; J'envoie cette valeur => mise en marche du LCD, affichage du curseur, clignotage du curseur
call tempo_init;
movlw 0x06;
movwf PORTB; J'envoie 0x06, je ne sais pas pourquoi
call enable; j'ai trouvé ça dans un tuto
call tempo_init;
movwf 0x01;
call enable; Je reset l'écran du LCD
call tempo_init;
binfi
goto binfi; Boucle infinie
Résultat de ce programme : l'écran ne change pas d'état .. il y a toujours la ligne du haut allumée, et la ligne du bas éteinte.enable
bsf PORTC,0;
call tempo_init;
bcf PORTC,0;
call tempo_init;
return
tempo_init
movlw 0xFF
movwf cpt1
tp2 decfsz cpt1,1
goto tp2
return
Quelqu'un peut-il m'aider ?
Au passage, je n'ai pas trouver de site expliquant réellement bien l'initialisation, donc si vous en avez un dans votre poche, il sera le bienvenu dans la mienne
Voilà, merci à qui saura me filer un cou'd'main
-----