PIC LCD problema Parodyta

S

scorrpeio

Guest
Labas,
Parašiau codeto kalbomis kai kurie LCD ekranas duomenis.
Bet aš nesu vis nieko ekrane

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Liūdnas" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Liūdnas" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Liūdnas" border="0" />Kodas# include <p18f4520.h># pragma config WDT = offvoid Delay (void);

void GetLCDCommand (void);

void GetLCDData (void);void main (void)

(

int index;

char [10];

TRISA = 0x0; / / PORT O sukonfigūruotas / P režimas

TRISD = 0x00;

GetLCDCommand ();/ / Configure Rodyti kaip 2-line, 8-Bit, 5x7-taškai

PORTD = 0x38;

GetLCDCommand ();/ / gauti mirksi curser kalbomis

PORTD = 0X0F;

GetLCDCommand ();/ / išvalyti kalbomis

PORTD = 0x01;

GetLCDCommand ();while (1)

(

PORTD = 0xFF;

GetLCDData ();

))void Delay (tuščia)

(

float indeksas;

for (index = 0; index <10000; Index )

(

/ / nieko

))tuščia GetLCDCommand (tuščia)

(

int index;PORTA = 0b0010;

PORTA = 0b0000;

for (index = 0; index <1000; Index )

(

)

)tuščia GetLCDData (tuščia)

(

int index;PORTA = 0b1010;

PORTA = 0b1000;

for (index = 0; index <1000; Index )

(

))
 
Įsitikinkite PortD nėra PSP režimas.Konfigūruojamas Trise

Paprastai Trise Bit4 = 0, turi būti 0 pagal nutylėjimą.Bet aš norėčiau būti tikri, ir leido jį.

Kitų pagrindinių problemų yra laiko.Jūs tikriausiai ruošiasi greitai per CFG etapais.Turiu pasta xxxuS vėlavimas tarp LCD CFG instrukcijas.

You need to check out LCD duomenų lapą.laikus yra pateikta čia.

Nemanau, kad tai labai slidus kodą, bet tau apie vėluoja idėja, buvo Gerai, mano prašymą.

Jūs visada galite lėtai it down, get it working, jas savo ruožtu pagreitins.

IanKodas# define LCD_STROBE () ((LCD_EN = 1), (LCD_EN = 1), (LCD_EN = 1), (LCD_EN = 0))/ * Initialise LCD - įdėti į 4 bit mode * /

tuščia lcd_init ()

(

char init_value;ADCON1 = 0x06; / / Išjungti Analog kaiščius ant PORTAinit_value = 0x3;

TRISD = 0;

LCD_RS = 0;

LCD_EN = 0;

LCD_RW = 0;__delay_ms (15) / / palaukti 15mSec po maitinimo taikomas,

LCD_DATA = init_value;

__delay_ms (20);

LCD_STROBE ();

__delay_ms (5);

LCD_STROBE ();

__delay_ms (5);

LCD_STROBE ();

__delay_us (200);

LCD_DATA = ((LCD_DATA & 0xF0) | 2) / / Four bit mode

LCD_STROBE ();lcd_write (0x28) / / Nustatykite sąsaja ilgis (Function Set)

lcd_write (0xF) / / rodyti, žymeklį, Cursor Blink

lcd_clear (); / / Skaidrus ekranas

lcd_write (0x6) / / Nustatykite įrašo režimas

)tuščia lcd_write (unsigned char c)

(__delay_us (80);

LCD_DATA = ((LCD_DATA & 0xF0) | ((c>> 4) & 0x0F));

LCD_STROBE ();

__delay_us (5);

LCD_DATA = ((LCD_DATA & 0xF0) | (C & 0x0F));

LCD_STROBE ();

)
 
Taip ...........
Bandžiau keisti kontrastas

Tiesą sakant ......... per LCD "command" ... ji kažką .......... pirma 4-5 eilutės kairėje pusėje LCD užsidegs, o tada automatiškai blunka neParašytas po 2 valandų 31 minučių:Labas,

Manau, kad aš naudoju 4 bitų LCD ir programavimo 8 bitų.
Aš esu šiek tiek supainioti, Kindly let me know ................... Aš susijusias su LCD vaizdas sąsają su PIC

 
Ar jūs nustatote ADCON1 į 0x0F.= Visų uosto Digital.

Nuoroda: http://ww1.microchip.com/downloads/en/DeviceDoc/39631a.pdf
Page 105.

Kitas PORTA Pins multipleksines su analoginis
sąnaudos, Analog VREF ir V REF-žaliavų ir lyginamuoju
voltage reference produkcija.Kaiščių operacija
RA3: RA0 ir RA5 kaip A / D converter sąnaudos yra atrinkti
kliringo ar nustatant kontrolės bitai ADCON1
Register (A / D kontrolės Registruotis 1).
Pins RA0 per RA5 taip pat gali būti naudojami kaip lyginamieji
įvesties duomenis ar rezultatus, nustatant tinkamas bitai
CMCON užsiregistruoti.Naudoti RA3: RA0 kaip skaitmeniniai įėjimai, tai
pat reikia išjungti komparatoriai.
RA4/T0CKI/C1OUT pin Schmitt Trigger įvedimo.
Visi kiti PORTA kaiščiai yra TTL lygio ir visiško sąnaudų
CMOS produkcija vairuotojai.

Man asmeniškai naudoti ekrane 4bit režimas ir perkelti visų duomenų ir valdymo linijos, kad Uosto D.

I have attached mano paskutinio darbo LCD kodeksas, jo už HiTech Kom.
Hope this helps.

Linkėjimai
Ian
Atsiprašome, bet jums reikia prisijungęs, kad galėtumėte peržiūrėti šį priedą

 
Labas.I can't see įtraukti failas LCD jūsų kodas, kaip # include lcd.c pavyzdžiui, jei jūs naudojate CCS C. BTW kai C kompiliatorių naudojate?versiją.Tada aš galiu bandyti padėti Jums specifiką.

 
What about jei mes pakeisime PORTD iki (DB7-db4 LCD su PORTD4-7) ir E, RS Portd2 ir protd3 kur šiame kode galite pridedamą M1ANH pakeitimus?

Ačiū

 

Welcome to EDABoard.com

Sponsor

Back
Top