neumí číst data z ks0108 lcd

A

abbas1707

Guest
Hrála jsem si s ks0108 LCD Proteus pomocí 89c51.jsem schopen zapisovat data, fonty a obrázky na LCD.ale já dotírat přečíst data z displeje RAM.
Zde je kód pro čtení dat z LCD
Kód:Kód:# Include <reg51.h>sbit rs = P3 ^ 3;

sbit rw = P3 ^ 2;

sbit en = P3 ^ 1;

sbit CS1 = P3 ^ 5;

sbit CS2 = P3 ^ 4;neplatné zpoždění ()

(

int k, l;

pro (k = 0; k <3, K )

pro (l = 0; l <50; l );

)

neplatné sendCommand (unsigned char val)

(

P1 = val;

rs = 0;

rw = 0;

en = 1;

en = 0;

)

neplatné sendByte (unsigned char dat)

(P1 = dat;

rs = 1;

rw = 0;

en = 1;

en = 0;

)

neplatné readByte ()

(P1 = 0xFF;

rs = 1;

rw = 1;

zpoždění ();

en = 1;

zpoždění ();

en = 0;

P2 = P1;

)void main ()

(

while (1)

(

CS1 = 0;

sendCommand (0x40);

sendCommand (0xb8);

sendByte (0xf4);

sendCommand (0x40);

sendCommand (0xb8);

readByte ();

readByte ();

)

)

 
i přítel, vidím chybu ve čtení běžných ve vašem programu,

zkuste této logiky:
**********************************************
p1 = 0xFF;
rw = 1;
rs = 1;
en = 1;
pauza 2ms;
en = 0;

pauza 2ms;

en = 1;
temp = Port1;
pauza 2ms;
en = 0;
value = temp;
*********************************
návrat;

a to mi whenf to fungovaloPřidáno po 11 minutách:není třeba volat číst byte dvakrát!Přidáno po 2 minutách:Myslím si, že nesprávně vyložil manuálu, to říká při čtení dat byte, první data z RAM do bufferu, takže budete muset přidat EN = 1 a EN = 0 ještě jednou, aby si to do přístavu něco podobného.že dělá to 2 krát během 1 rutina.

 
gr8 jit_singh_tara!
Díky za pomoc

Vždycky jsem spát, zatímco čtení listů: D

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top