PIC LCD problém se zobrazením

S

scorrpeio

Guest
Ahoj,
Napsal jsem codeto zobrazení některých údajů na LCD displeji.
Ale já nejsem nic dostat se na displeji

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Smutný" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Smutný" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Smutný" border="0" />Kód:# 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 nastavuje v O / P režim

TRISD = 0x00;

GetLCDCommand ();/ / Konfigurace Zobrazit jako 2-line, 8-bit, 5x7-tečky

PORTD = 0x38;

GetLCDCommand ();/ / dostat blikající curser displej

PORTD = 0x0F;

GetLCDCommand ();/ / s přehledným displejem

PORTD = 0x01;

GetLCDCommand ();while (1)

(

PORTD = 0xFF;

GetLCDData ();

))void Delay (void)

(

float index;

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

(

/ / nic

))void GetLCDCommand (void)

(

int index;PORTA = 0b0010;

PORTA = 0b0000;

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

(

)

)void GetLCDData (void)

(

int index;PORTA = 0b1010;

PORTA = 0b1000;

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

(

))
 
Ujistěte se, že PortD není v PSP režimu.Nastavuje v TRISE

Obvykle TRISE Bit4 = 0, by měla být 0 ve výchozím nastavení.Ale já chtěl být jistý, a to vymazány.

Jiné závažné problémy, je načasování.Pravděpodobně bude rychle během CFG nastudoval.Musím vložit xxxuS zpoždění mezi LCD pokyny CFG.

Musíte se podívat na data LCD listu.časování jsou uvedeny tam.

Nemyslím si, že je to velmi úhledný kód, ale můžete udělat představu o zpoždění, bylo to OK pro mou žádost.

Vždy se můžete zpomalit, dostat, jak funguje, je zase zrychlí.

IanKód:# define LCD_STROBE () ((LCD_EN = 1), (LCD_EN = 1), (LCD_EN = 1), (LCD_EN = 0))/ * Inicializovat LCD - do 4 bitovém režimu * /

void LCD_Init ()

(

char init_value;ADCON1 = 0x06, / / Vypnutí analogové kolíky na PORTAinit_value = 0x3;

TRISD = 0;

LCD_RS = 0;

LCD_EN = 0;

LCD_RW = 0;__delay_ms (15); / / wait 15mSec po moci použít,

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 bitovém režimu

LCD_STROBE ();lcd_write (0x28) / / Nastaví délku interface (Funkce Set)

lcd_write (0xF) / / Display On, Cursor On, Cursor Blink

lcd_clear (); / / Smazat displej

lcd_write (0x6); / / Nastaví vstupní režim

)void 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 ();

)
 
Ano ...........
Snažil jsem se úpravy kontrastu

Vlastně ......... během LCD "Command" ... je to něco, co .......... první 4 až 5 řádků na levé straně LCD displej se rozsvítí a pak se automaticky vybledne offVkládá 2 hodiny 31 minut:Ahoj,

Myslím, že jsem pomocí 4 bitů LCD a programování pro 8 bitů.
Jsem trochu zmatená, Kindly let me know ................... jsem upevnění obraz LCD s rozhraním s PIC
Omlouváme se, ale musíte přihlásit do zobrazení tuto přílohu

 
Máte-li nastavit ADCON1 na 0x0F.= Všechny Port Digital.

ref: http://ww1.microchip.com/downloads/en/DeviceDoc/39631a.pdf
Str. 105.

PORTA ostatní piny jsou multiplexní s analogovým
vstupy, analogové VREF a VREF-vstupy a srovnávací
referenční napětí výstupu.Provoz pinů
RA3: RA0 a RA5 jako A / D převodník, vstupy je vybrána
tím, že odstraní nebo nastavení kontrolních bitů v ADCON1
rejstříku (A / D kontrolu rejstříku 1).
Kolíky RA0 přes RA5 může být také použit jako srovnávací
vstupy nebo výstupy nastavením příslušných bitů v
CMCON zaregistrovat.Chcete-li použít RA3: RA0 jako digitální vstupy, je
také nutné vypnout komparátory.
RA4/T0CKI/C1OUT pin je Schmitt Trigger vstupu.
Všechny ostatní vývody mají PORTA vstupní úrovně TTL a plné
CMOS výstup řidiče.

Já osobně bych zobrazení v 4bit módu a přesun dat a řízení linky na portu D.

Mám připojený můj poslední pracovní LCD zákoníku, pro její HiTech Com.
Hope this helps.

Pozdravy
Ian
Omlouváme se, ale musíte přihlásit do zobrazení tuto přílohu

 
Nazdar.Nevidím zařazení souboru pro LCD v kódu, jako # include lcd.c například pokud používáte CCS C. BTW kompilátor C, který používáte?a verzi.Pak jsem si vyzkoušet, že vám pomůžeme s specifika.

 
A co když změníme PORTD to (DB4-DB7 LCD PORTD4-7) a E, RS a Portd2 a protd3, kde jsou změny v tomto kódu se připojuje M1ANH?

Díky

 

Welcome to EDABoard.com

Sponsor

Back
Top