Need kod interfejsu LCD Hitachi

V

vinodjprakash

Guest
cześćDodano po 1 minuty:potrzebuję interfejs kodu źródłowego 8515 atmel LCD Hitachi

 
Możesz sprawdzić tę stronę!

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

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

 
szukaj avrlib na google jest nice one.ale korzystać z WinAVR

 
tak człowiek i klug potrzeba zarówno montaż i C
Napisz maila na adres vinodjprakash (at) yahoo.co.inDodano po 24 minut:hello, czy ktoś wie logiki kontrolera cztery stepper motor drutu

 
Cześć,

Dla 4 bitowego interfejsu LCD z AVRGCC Proszę spojrzeć na mojej stronie internetowej.

http://dlmkerode.tripod.com

 
Cześć,
Moim zdaniem, u powinni napisać yoursefl w C, kompilator CodevisionAVR użycia (Alots pomocy kompilatora u).Łatwiej jest, u można dostać dużo experiencies.if u dont chce tego robić, następnym razem i będzie po LCD kodu źródłowego.
A jeśli u nie ma kompilator, więc jest tutaj
http://www.edaboard.com/viewtopic.php?p=620100 # 620100Dodano po 17 minut:Oto kod textLCD,
//**************************************
/ / Funkcja LCD
/ / Wersja 1.0 wrzesień 2000
/ / Sylvain Bissonnette
/ /
//**************************************

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

//**************************************
/ / Define
//**************************************
/ / Użytkownik zależy 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 rejestru
# define LCDDDR (* (volatile unsigned char *) 0x37) / / Kierunek Dane rejestrowe
# define LCDPORT (* (volatile unsigned char *) 0x38) / / PORT
/ / Użytkownik zależy END

//**************************************
/ / Prototyp
//**************************************
void InitLCD (void);
void ClrLCD ();
void GotoXY (unsigned char, unsigned char);
void WriteStrLCD (char *);
void WriteStrLCDConst (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);
)

//************************************************ *********
/ / Kod LCD
//************************************************ *********
/************************************************* *********

Imię i nazwisko: nieważne ClrLCD (skreślony)

Opis: Clear LCD

Wejście: none

Realizacja: brak

Misc:

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

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

Imię i nazwisko: GotoXY (unsigned char x, unsigned char y)

Opis: Pozycja kursora na ekranie LCD w miejscu X & Y

Wejście: X -> X miejsce na ekranie LCD
Y -> Y na ekranie LCD

Realizacja: brak

Misc:

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

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

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

Imię i nazwisko: WtireByteLCD (char byte)

Opis: Napisz bajt na ekranie LCD w pozycji kursora

Wejście: byte

Realizacja: brak

Misc:

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

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

tmp = bajt & 0x0f;
tmp = 0x30;
if (tmp> 0x39) tmp = 0x07;
WriteLCD (1, tmp);
)

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

Imię i nazwisko: nieważne WriteStrLCD (char * ptr)

Opis: Napisz łańcuch z pamięci RAM na LCD

Wejście: wskaźnik łańcucha

Realizacja: brak

Misc:

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

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

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

Imię i nazwisko: nieważne WriteStrLCDConst (char * ptr)

Opis: Napisz stały ciąg na ekranie LCD

Wejście: wskaźnik łańcucha

Realizacja: brak

Misc:

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

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

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

Imię i nazwisko: nieważne WriteLCD (RS unsigned char, unsigned char ch)

Opis: Napisz bajt RS LCD

Wejście: RS -> Rejestracja wybierz
ch -> byte pisać

Realizacja: brak

Misc:

************************************************** ********/
void WriteLCD (RS unsigned char, 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);
)

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

Imię i nazwisko: nieważne Delay_50us (int delay)

Opis: Opóźnienie 50 nam rezonator 4MHz

Wejście: Delay X x 50us

Realizacja: brak

Misc:

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

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

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

Imię i nazwisko: nieważne InitLCD (skreślony)

Opis: Przygotowanie LCD w trybie 4bit

Wejście: none

Realizacja: brak

Misc:

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

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

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

WriteLCD (0,0 x28) / / linia 2
WriteLCD (0,0 x0c) / / Display ON kursor Blink OFF
WriteLCD (0,0 x01) / / Clear Widok
Delay_50us (50);
WriteLCD (0,0 X06) / / Kursor INC Shift OFF
)
Przepraszamy, ale musisz się zalogować, aby wyświetlić ten załącznik

 

Welcome to EDABoard.com

Sponsor

Back
Top