Tatu Diana, 334CA
Proiectul consta in realizarea unei aplicatii ce se inspira din jocul Snake, utilizand un display grafic Raystar Optronix (RG12864A-YHY-X) de 128×64.
Proiectul a presupus interconectarea intre 3 componente hardware:
Aplicatia interactioneaza cu utilizatorul prin intermediul a 4 butoane, ce imprima o directie a ansamblului afisat (pentru simplicare - un patrat 8×8). Detectia starilor butoanelor se realizeaza printr-un algoritm de polling asupra portului C, configurat ca port de intrare.
Diagrama schematica a display-ului :
Structura logica a display-ului :
Magistrala de control intre microcontroller si ecran este legata la portul D, iar magistrala de date la portul A. Protocolul de comunicatie presupune trimiterea unor comenzi predefinite pentru pozitionarea cursorului, urmat de un bloc de date ce contine informatii despre starea pixelilor.
Din nefericire, ecranul LCD nu a avut integrat un invertor de tensiune, contrar informatiilor din datasheet. Astfel, se folosesc 3 baterii alcaline, conectate in serie pentru furnizarea voltajului negativ necesar.
Pentru ajustarea contrastului se foloseste un potentiometru.
Programul contine o etapa de initializare, ce consta in configurarea display-ului si stergerea datelor afisate anterior, urmata de pozitionarea elementului grafic.
Rutina principala presupune scanarea starilor butoanelor. In functie de butonul apasat, sunt apelate rutine care vor sterge pozitia curenta, vor actualiza parametrii pozitiei (cadranul 0-1, pagina 0-7, coordonata abscisei 0-63) si vor redesena corespunzator elementul grafic.
Am vrut sa incerc un display generos, dar am intampinat nenumarate dificultati datorate si unui datasheet eronat.
In concluzie, proiectul s-a dovedit a fi mai time-consuming decat am anticipat. In schimb, am obtinut o mare satisfactie prin prisma faptului ca am reusit sa controlez un obiect ce parea a fi initial un black-box.
Arhiva cu fişierul obţinut în urma compilarii proiectului (.hex) si sursa programului (.asm)