Vi använder oss av en LCD ( Liquid Crystal Display ) av modell DMC16207.
Displayens styrkrets heter HD44780 och det är den som har alla register och
funktioner. Displayen består av två rader med vardera 32 tecken. Den har 8
bitars databuss, DB0-DB7, där man kan läsa respektive skriva från/till den.
Det finns möjlighet att kommunicera med displayen med antingen alla 8 bitar
eller med bara 4 bitar, DB4-DB7. Då skickas 4 bitar i taget, först de 4 lägsta
signifikanta bitarna sedan de 4 högsta. Detta passar oss utmärkt för då räcker
det om vi använder oss av en PIC med få ben. När insignal Enable är hög läser/skickar
displayen det som finns på dataledningarna. I våran konstruktion använder vi
oss endast av funktionen skicka, ej av läsfunktionen för att förenkla
kommunikationen. Problemet med att enbart skriva till displayen är att man inte
kan använda sig utav den funktion displayen har som heter ”wait busy flag”.
Det är en bit som nollställs om displayen är klar dvs. den är mottaglig för
ytterligare data. Om busy flag inte är nollställd ignoreras data som skickas
till den. Men för att kunna använda den funktion krävs att man kan läsa från
displayen. Det löses genom att PICen är programmerad
så att den väntar tillräckligt länge så att man vet att displayen verkligen
är färdig. Detta slöar ned kommunikationen rejält men fördelen med enkel
kommunikation överväger. Displayen har två register, instruktions- och
dataregister. Instruktionsregistret används till att instruera displayen t.ex.
clear screen, display on/off, blinkande cursor, font-size mm. Dataregistret används
för att skicka tecken till displayen