Noodzaak code voor interface met LCD hitachi

V

vinodjprakash

Guest
hoiToegevoegd na 1 minuten:i need broncode interface 8515 atmel met LCD hitachi

 
U kunt deze site!

http://www4.tpg.com.au/users/talking/5x7% 20Display% 20Index.html

http://www.geocities.com/dinceraydin/lcd/gfxhowto.htm

 
zoek avrlib op google is het een mooie.maar het gebruik met WinAVR

 
ja man Klug i need zowel montage en c
mail me op vinodjprakash (at) yahoo.co.inToegevoegd na 24 minuten:hallo, ik weet wat een logica controller vier draden stappenmotor

 
Hoi,

Voor 4-bits LCD-interface met AVRGCC neem dan kijken in mijn website.

http://dlmkerode.tripod.com

 
Hoi,
Naar mijn mening moet, u schrijven yoursefl in C, gebruik CodevisionAVR compiler (compiler helpen u alots).het is gemakkelijker en u kunt veel experiencies.if u dont wanna dat te doen, volgende keer zal ik na de LCD-broncode.
En als u niet over compiler, dus het is hier
http://www.edaboard.com/viewtopic.php?p=620100 # 620100Toegevoegd na 17 minuten:Hier is code voor textLCD,
//**************************************
/ / LCD-functie
/ / Versie 1.0 september 2000
/ / Sylvain Bissonnette
/ /
//**************************************

//**************************************
/ / Include
//**************************************
# include <io2313.h>

//**************************************
/ / DEFINE
//**************************************
/ / User afhankelijk BEGIN
# define D7 0x01
# define D6 0x02
# define D5 0x04
# define D4 0x08
# define E 0x10
# define RW 0x20
# define RS 0x40

# define LCDPIN (* (volatile unsigned char *) 0x36) / / PIN register
# define LCDDDR (* (volatile unsigned char *) 0x37) / / Data Direction Register
# define LCDPORT (* (volatile unsigned char *) 0x38) / / PORT
/ / User afhankelijk END

//**************************************
/ / PROTOTYPE
//**************************************
void InitLCD (void);
void ClrLCD ();
void GotoXY (unsigned char, unsigned char);
void WriteStrLCD (char *);
void WriteStrLCDConst (const char *);
void WriteByteLCD (char);
void WriteLCD (unsigned char, unsigned char);
void Delay_50us (int delay);

//**************************************
/ / MAIN
//**************************************
void main (void)
(
InitLCD ();
ClrLCD ();
GotoXY (5,1);
WriteStrLCD ( "Test \ 0");
while (1);
)

//************************************************ *********
/ / LCD-code
//************************************************ *********
/************************************************* *********

Naam: void ClrLCD (void)

Beschrijving: Clear het LCD-scherm

Input: geen

Output: none

Misc:

************************************************** ********/
void ClrLCD ()
(
WriteLCD (0,0 x01); / / Clear display
Delay_50us (50);
)

/************************************************* *********

Naam: GotoXY (unsigned char x, unsigned char y)

Beschrijving: Plaats de cursor op het LCD-scherm op X & Y locatie

Input: X -> X-positie op het LCD
-Y -> Y positie op het LCD
-
Output: none

Misc:

************************************************** ********/
void GotoXY (unsigned char x, unsigned char y)
(
unsigned char adres;

x -;
if (y> 1) adres = 64 x;
else adres = x;
WriteLCD (0, adres | 0x80);
)

/************************************************* *********

Naam: WtireByteLCD (char byte)

Beschrijving: Schrijf een byte op de LCD op cursorpositie

Input: byte

Output: none

Misc:

************************************************** ********/
void WriteByteLCD (char byte)
(
char tmp;

tmp = byte & 0xf0;
tmp = tmp>> 4;
tmp = 0x30;
if (tmp> 0x39) tmp = 0x07;
WriteLCD (1, tmp);

tmp = byte & 0x0F;
tmp = 0x30;
if (tmp> 0x39) tmp = 0x07;
WriteLCD (1, tmp);
)

/************************************************* *********

Naam: void WriteStrLCD (char * ptr)

Beschrijving: Schrijf een string van RAM op het LCD
-
Input: string pointer

Output: none

Misc:

************************************************** ********/
void WriteStrLCD (char * ptr)
(
unsigned char i;

for (i = 1; i <41; i )
(
if (* ptr == 0x00) break;
WriteLCD (1, * ptr);
* ptr = 0x00;
)
)

/************************************************* *********

Naam: void WriteStrLCDConst (const char * ptr)

Beschrijving: Schrijf een constante string op het LCD
-
Input: string pointer

Output: none

Misc:

************************************************** ********/
void WriteStrLCDConst (const char * ptr)
(
unsigned char i;

for (i = 1; i <41; i )
(
if (* ptr == 0x00) break;
WriteLCD (1, * ptr );
)
)

/************************************************* *********

Naam: void WriteLCD (unsigned char rs, unsigned char ch)

Beschrijving: Schrijf een byte in rs van de LCD

Input: RS -> Registreren selecteren
ch -> byte te schrijven

Output: none

Misc:

************************************************** ********/
void WriteLCD (unsigned char rs, unsigned char ch)
(
unsigned char Stat;

Stat LCDPIN & = 0x01;

PORTB = Stat;
if ((ch & 0x80) == 0x80) PORTB | = D7;
if ((ch & 0x40) == 0x40) PORTB | = D6;
if ((ch & 0x20) == 0x20) PORTB | = D5;
if ((ch & 0x10) == 0x10) PORTB | = D4;
if (rs == 1) PORTB | = RS;

PORTB | = E;
PORTB & = ~ E;

PORTB = Stat;
if ((ch & 0x08) == 0x08) PORTB | = D7;
if ((ch & 0x04) == 0x04) PORTB | = D6;
if ((ch & 0x02) == 0x02) PORTB | = D5;
if ((ch & 0x01) == 0x01) PORTB | = D4;
if (rs == 1) PORTB | = RS;

PORTB | = E;
PORTB & = ~ E;

Delay_50us (1);
)

/************************************************* *********

Naam: void Delay_50us (int Delay)

Beschrijving: Vertraging van 50 ons met een 4Mhz resonator

Ingang: Vertraging X x 50us

Output: none

Misc:

************************************************** ********/
void Delay_50us (int Delay)
(
int i, j;

for (i = 0; i <Delay; i )
(
for (j = 1; j <20; j );
asm ( "WDR");
)
)

/************************************************* *********

Naam: void InitLCD (void)

Beschrijving: Initialize LCD in 4bit modus

Input: geen

Output: none

Misc:

************************************************** ********/
void InitLCD (void)
(
LCDDDR = D7 D6 D5 D4 E RS RW;
LCDPORT =! (D7 D6 D5 D4 E RS RW);
Delay_50us (340);

LCDPORT = (D5 D4); / / Function Set 8 bit 3 keer
LCDPORT | = E;
LCDPORT & = ~ E;
Delay_50us (100);
LCDPORT | = E;
LCDPORT & = ~ E;
Delay_50us (100);
LCDPORT | = E;
LCDPORT & = ~ E;
Delay_50us (100);

LCDPORT = D5; / / Functie Set 4 bit
LCDPORT | = E;
LCDPORT & = ~ E;
Delay_50us (100);

WriteLCD (0,0 x28) / / 2 lijn
WriteLCD (0,0 x0c) / / Display ON Cursor Blink OFF OFF
WriteLCD (0,0 x01); / / Clear display
Delay_50us (50);
WriteLCD (0,0 x06) / / Cursor INC Shift OFF
)
Sorry, maar je moet inloggen om deze gehechtheid

 

Welcome to EDABoard.com

Sponsor

Back
Top