Witam serdecznie
Napisałem program w C na sterowanie LCD na proca AT89S8252 ale cos nie chce mi dzialac. Jak macie jakis gotowy program to pomożcie mi prosze!!!
Pozdrawiam i dziekuje za pomoc
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięPotrzebuje programu sterujacego LCD w C na proca AT89S8252
Moderatorzy:Jacek Bogusz, procesorowiec, robertw, tomasz_jablonski, r-mik, Moderatorzy
-
- -
- Posty:9
- Rejestracja:30 sie 2005, o 17:29
- Lokalizacja:Ostróda - koszalin
Kod: Zaznacz cały
#include <ATMEL/REG8252.H>
#define PORT P2
sbit RS = PORT^2;
sbit E = PORT^3;
sbit D4 = PORT^4;
sbit D5 = PORT^5;
sbit D6 = PORT^6;
sbit D7 = PORT^7;
void Delay(char k)
{
char x,y;
while(k)
{
k--;
for (x = 248; x > 0 ; x--);
for (y = 248; y > 0 ; y--);
}
}
void WriteToLcd(char X)
{
E = 1;
PORT |= 0xF0;
PORT &= (X | 0x0F);
E = 0;
E = 1;
X <<= 4;
PORT |= 0xF0;
PORT &= (X | 0x0F);
E = 0;
Delay(1);
}
void WriteCommand(char X)
{
RS = 0;
WriteToLcd(X);
}
void WriteChar(char X)
{
RS = 1;
WriteToLcd(X);
}
void WriteText(char *S)
{
while(*S)
{
WriteChar(*S);
S++;
}
}
void DefineCharacters(char *znaki)
{
WriteCommand(0x40);
WriteText(znaki);
WriteCommand(0x80);
}
void LcdInit(void)
{
char i;
Delay(15);
PORT = 0x0F;
for (i = 0; i<3; i++)
{
E = 1;
PORT &= 0x3F;
E = 0;
Delay(5);
}
E = 1;
PORT &= 0x2F;
E = 0;
Delay(1);
WriteCommand(0x28);
WriteCommand(0x08);
WriteCommand(0x01);
WriteCommand(0x06);
WriteCommand(0x0C);
}
void main(void)
{
LcdInit();
WriteText("ABCDEFGHIJKLMNO");
while(1);
}
-
- -
- Posty:9
- Rejestracja:30 sie 2005, o 17:29
- Lokalizacja:Ostróda - koszalin
Potrzebuje programu sterujacego LCD w C na proca AT89S8252
Macie jescze jakis inne prograiki bo ten mi nie dziala
\dzieki
\dzieki
Re: Potrzebuje programu sterujacego LCD w C na proca AT89S82
Nie działa czy nie umiesz skmpilowac?Macie jescze jakis inne prograiki bo ten mi nie dziala
\dzieki
-
- -
- Posty:9
- Rejestracja:30 sie 2005, o 17:29
- Lokalizacja:Ostróda - koszalin
Potrzebuje programu sterujacego LCD w C na proca AT89S8252
Juz teraz dziala ale trzeba wpisac w funkcji main()
RW=0;
P2 &=0xF0
przed LcdInit()
i tyle dalej dziala bez zarzutu
Dziekuje wszystkim za pomoc w rozwiazaniu problemu i pozdrawiam
RW=0;
P2 &=0xF0
przed LcdInit()
i tyle dalej dziala bez zarzutu
Dziekuje wszystkim za pomoc w rozwiazaniu problemu i pozdrawiam
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość