Pokiaľ ide o LCD

R

RobustRohit

Guest
Môj LCD sa nezobrazuje žiadne znaky ....
LCD je JHD162A
Som pracujúci na p89v51RD2
Údaje vývody sú pripojené na p0.4-p0.7

RS je na P0.0
RW na P0.1
E na P0.2Som napísal nasledujúci kód v C kompilátor Keil, plz môže ktokoľvek debug to?#
Include "reg51.h"

sbit rs = P0 ^ 0;
sbit rw ^ P0 = 1;
sbit e = P0 ^ 2;

void inicializácie ();
void putval (unsigned int);
void meškanie ();
void write (unsigned char);void main ()
(
P0 = 0x00;
inicializace ();
write ( 'A');
write ( 'B');
)void meškanie ()
(
unsigned int i;
unsigned int j;
unsigned int t;
for (i = 0; i <100; i )
(
t = 0;
u (j = 0; j <255; j ) / / len za účelom zabitia času ....
t ;
)
)void putval (unsigned int n)
(
rw = 0;
e = 1;
/ / Vyššia ohlodávat prvý
P0 = ((n & 0xF0) | (0x08));
omeškania ();
e = 0;
omeškania ();
e = 1;
/ / Dolné kousíček vedľa
P0 = (((n & (0x0F)) * 16) | (0x08));
omeškania ();
e = 0;
omeškania ();
)void inicializácie ()
(
rs = 0;
putval (0x38);
putval (0x0e);
putval (0x04);
/ / Putval (0x02);
/ / Putval (0x0e);
/ / Putval (0x06);
/ / Putval (0x80);
)

void write (unsigned char c)
(
P0 = 0x01;
rs = 1, / / Prevádzka údaje písať
rw = 0;
e = 1;
/ / Vyššia ohlodávat prvý

P0 = ((c & 0xF0) | 0x09);
omeškania ();
e = 0;
omeškania ();
e = 1;
P0 = (((c & (0x0F)) * 16) | 0x09);
omeškania ();
e = 0;
omeškania ();
)

 
Ahoj.

Myslím si, že by ste mohli mať problém s touto časťou
Citácia:void meškanie ()

(

unsigned int i;

unsigned int j;

unsigned int t;

for (i = 0; i <100; i )

(

t = 0;

u (j = 0; j <255; j ) / / len za účelom zabitia času ....

t ;

)

)

 
Nazdar
Myslím, že t , nie je problém.Jeho hľadajú figuríny variabilný a práve používané na zabitie času v tomto meškanie slučky.
V náslechového sa reštartuje od 0.
Je nám ľúto, dont mať čas ladiť niektoré kód, ale môže dať podnet.

 
Myslím, že to je správny kód skúste prosím tento

Kód:# Include "reg51.h"sbit rs = P0 ^ 0;

sbit rw ^ P0 = 1;

sbit e = P0 ^ 2;void inicializácie ();

void putval (unsigned char);

void meškanie ();

void write (unsigned char);void main ()

(

P0 = 0x00;

inicializace ();

write ( 'A');

write ( 'B');

)void meškanie ()

(

unsigned int i;

unsigned int j;

unsigned int t;

for (i = 0; i <100; i )

(

t = 0;

u (j = 0; j <255; j ) / / len za účelom zabitia času ....

t ;

)

)
void putval (unsigned char n)

(

rw = 0;

e = 1;

/ / Vyššia ohlodávat prvý

P0 = ((n & 0xF0) | (0x0C));

omeškania ();

e = 0;

omeškania ();

e = 1;

/ / Dolné kousíček vedľa

P0 = (((n & (0x0F)) * 16) | (0x0C));

omeškania ();

e = 0;

omeškania ();

)void inicializácie ()

(

rs = 0;

putval (0x38);

putval (0x0e);

putval (0x04);

/ / Putval (0x02);

/ / Putval (0x0e);

/ / Putval (0x06);

/ / Putval (0x80);

)void write (unsigned char c)

(

P0 = 0x01;

rs = 1, / / Prevádzka údaje písať

rw = 0;

e = 1;

/ / Vyššia ohlodávat prvýP0 = ((c & 0xF0) | 0x0D);

omeškania ();

e = 0;

omeškania ();

e = 1;

P0 = (((c & (0x0F)) * 16) | 0x0D);

omeškania ();

e = 0;

omeškania ();

)
 

Welcome to EDABoard.com

Sponsor

Back
Top