visualizzare i dati in lcd

A

anupriya

Guest
main ()
(

char c = 'h';
int x = 5;
write_char (c, x);
)

void write_instr (Instr unsigned char)
(
RS = 0;
RW = 0;
E = 0;
P3 = Instr>> 4;
E = 1;
E = 0;
delay ();
P3 = Instr &0x0F;
E = 1;
E = 0;
delay ();
)

void write_char (val char, int p)
(
char d;
if (p = 0 & & p <= 39) / / se la posizione di un determinato utente è b / w questa gamma poi la linea 1
(
write_instr (linea 1 p) / / la addr è aggiunto al valore di posizione e le addr viene incrementato
delay ();
)
altro
(
write_instr (line2 p);
delay ();
)
d = val <<4 / / 4bit il più alto sono presi e conservati in d
E = 0;
RW = 1;
RS = 0;
P3 = d; / / dati wrriten nella DDRAM
E = 1;
RW = 0;
lcd_delay ();
d = (val & 0x0F);
E = 0;
RW = 1;
P3 = d; / / dati eend per DDRAM
E = 1;
RW = 0;
delay ();
write_instr (disp_home); / / dopo i dati vengono scritti il cursore arriva alla posizione casa
delay ();
)

questo è corretto.
plz help qualcuno

 
Lei non ha specificato se il vostro schermo LCD è collegato (i dati e le linee di controllo).
Se i dati e il controllo è collegato a P3 non si può fare la routine, come avete fatto, perché quando si utilizza P3 = xxx si sovrascriverà le linee di controllo.

E almeno questo è sbagliato:
;//the uppermost 4bit are taken and stored in d

d = val>> 4;
/ / 4bit il più alto sono presi e conservati in d
E = 0;

RW = 1; / / non necessario

RS = 0;

RW = 0;

P3 = d; / / dati wrriten nella DDRAM
E = 1;
lcd_delay ();
d = (val & 0x0F);
E = 0;

RW = 1; / / non necessarioRW = 0;

P3 = d; / / dati eend per DDRAM
E = 1;
delay ();

E = 0;Inoltre non è inizializzare il display per 4 bit mode ...

Spero che questo aiuti e cordiali saluti

 

Welcome to EDABoard.com

Sponsor

Back
Top