Reikia pagalbos PIC LCD ekranas

T

Toussaint

Guest
Hello guys ...
Aš dirbu savo projektą naudojant Pic 16F887.Aš ADC dėl signalo esant 50 Hz.Man reikia rodyti rezultatų LCD (LM162ABC-1), bet aš negaliu.
mano problemos yra šios:
- Po jungiantis LCD ką pranešimą mes tarkime matyti ekrane?
- Gali kas nors padėti man su tvarkykles kad LCD?

Aš programavimo surinkėjui.
Aš dėkingi už bet kokią pagalbą.[/ i] [/ b]

 
Čia yra kodas naudoti 2 eilutė 20 char LCD ekrane naudojant Pic 16 bitų micros.
Šis naudoja 8 bitų sąsaja.Pridedu pdf su lcd komandas.
Turėtų būti galima konvertuoti į surinkėjui.

Kodas:/*--- Makrokomandas ---*/# define RS LATDbits.LATD8

# define RS_TRIS TRISDbits.TRISD8# define RW LATDbits.LATD9

# define RW_TRIS TRISDbits.TRISD9# define E LATDbits.LATD10

# define E_TRIS TRISDbits.TRISD10/*--- Rodyti komandų ---*/# define AIŠKIOMIS 0x01U

# define line2 0xc0U

# define C_RIGHT 0x14U

# define PAMAININIS 0x1CU

# define PRADŽIA 0x02U/*--- Vietinis funkcija prototipų ---*/statinė tuščia write_command (char cmd);

statinė tuščia write_data (char duomenys);

statinė tuščia puts_lcd (char * duomenys);

statinė tuščia Strobe_E (void);

statinio bool BusyFlag (void);/*--- Initialise lcd ekranas ---*/tuščia init_lcd (tuščia)

(

delay_mS (15) / * Reset vėlavimą * /

Latd = 0;

TRISD = 0;Latd | = 0x0038 / * 1. LCD iniciacijos sekos * /

Strobe_E ();

delay_mS (5);Strobe_E (); / * 2. LCD iniciacijos sekos * /

delay_mS (1);Strobe_E (); / * 3. LCD iniciacijos sekos * /

delay_mS (1);write_command (0x38);

write_command (0x0c);

write_command (0x06);

)/*--- Rašyti komandų rodyti ---*/statinė tuščia write_command (char cmd)

(

Latd & = 0xff00;

Latd | = Cmd;

SM = 0;

RS = 0;

Strobe_E ();while (BusyFlag ()) (

;

)

)/*--- Rašyti rodomus duomenis ---*/statinė tuščia write_data (char duomenys)

(

SM = 0;

RS = 1;

Latd & = 0xff00;

Latd | = duomenys;

Strobe_E ();

RS = 0;while (BusyFlag ()) (

;

)

)/*--- Rašyti eilutę rodyti ---*/statinė tuščia puts_lcd (char * duomenys)

(

while (* data) (

write_data (* data );

)

)/*--- Skaityti užimtas vėliava ---*/statinio bool BusyFlag (tuščia)

(

uint8_t rezultatas;TRISD | = 0x00ff;

SM = 1;

RS = 0;

Strobe_E ();

Rezultatas = PORTD & 0x00ff;

TRISD = 0;

return rezultatas & 0x80;

)/*--- Strobe E ---*/statinė tuščia Strobe_E (tuščia)

(

E = 1;

Nop ();

Nop ();

Nop ();

E = 0;

)/*--- Pabaiga Failo ---*/

 
Aš parašiau visiškai pamoka šiuo klausimu 4 bitų sąsaja, ieškoti šio pokalbio:

ftopic329090.html

Hope it gali padėti šiek tiek.

Iki
Pow

 

Welcome to EDABoard.com

Sponsor

Back
Top