Bonjour,
voila sur mon afficheur lcd en mode 4 bits je voudrais écrire sur la 2em ligne en plus de la 1ere mais le problème est de savoir a quel endroit je dois déclaré qu'on écrit sur la 2em lignes en mode 4bits?
les adresses de la 1ere ligne vont de 00h a 27h et la 2em ligne de 40h a 67h
je vous donne mon initialisation (qui fonctionne très bien )
Donc a quel endroit je dois écrire mon adresse 40h ou 41h dans cette partie? j'ai déja testé de l'écrire après l'initialisation mais sa prend 40h comme un caractère et non comme un code d'écriture.Code:void lcd_init() { char envoi,affich; int a; char masque,poidfaible,poidfort; struct resultat; lcd_rs = 0; lcd_rw = 0; lcd_data = 0x0; data7=0; lcd_e = 0; write_io_8574(lcd_rw <<1 | lcd_rs <<2 | lcd_e | data7<<3 | lcd_data ); Delay10KTCYx(50);//delay_ms(15); //envoi de la valeur 3 en mode 8 bits lcd_send_nibble(3,data7);//3 envoi=2; //passage en écriture mode 4 bits data7=trait(envoi); lcd_write(envoi,data7); envoi=2; //on écrit en deux fois la valeur data7=trait(envoi); lcd_write(envoi,data7); //ici on envoi 28h envoi=8; data7=trait(envoi); lcd_write(envoi,data7); envoi=0; data7=trait(envoi); lcd_write(envoi,data7); //0Eh envoi=15; data7=trait(envoi); lcd_write(envoi,data7); envoi=0; data7=trait(envoi); lcd_write(envoi,data7); //01h envoi=1; data7=trait(envoi); lcd_write(envoi,data7); envoi=0; data7=trait(envoi); lcd_write(envoi,data7); //06h envoi=6; data7=trait(envoi); lcd_write(envoi,data7); Delay10KTCYx(50);//delay_ms(100); }
En plus dans la doc de l'afficheur pour le mode 4bits j'ai pas d'exemple juste en 8 bits avec RS et RW a 0 et db7 db6 a 1 et le reste a 0.
Merci
-----