Monday, April 13, 2009

LCD-display

Elektronikbyggandet har fortsatt! Införskaffade mig en 2x16 LCD-display från Kjell&Co i helgen, som är HD44780-kompatibel. Det sistnämnda innebär i alla fall att den är kompatibel med en viss sorts styrning. Antingen kan man styra den med 4-bitars eller 8-bitars gränssnitt, vilket i sin tur kräver 7 respektive 11 lediga I/O pinnar på uC'n. 4/8 för den parallella datakommunikationen och 3 st för instruktionshantering. Till att börja med blev det en bra övning i lödteknik, då 14 st (11 st I/O + 5V + GND + kontrastkontroll) kablar skulle fästas vid displayens kretskort. Efter några totalt misslyckade försök lyckades jag till slut komma till insikt med hur man gör när man löder - skulle dock inte kalla mig för en expert riktigt än.

Sedan blev det en hel del programmering och forumhjälp. Jag börjar nu bli medveten om den stora skillnaden att avlusa program i datorn jämfört med program på en extern uC. Det är ganska svårt att få till printf-debug på en extern krets utan någon display. Förhoppningsvis kommer jag nu framöver kunna använda displayen just i avlusnings-sammanhang. En blinkande diod som är betydligt enklare att implementera är lite torftig på att uttrycka information. Ett fel som tog väldigt lång tid att hitta, och som jag höll på att bli helt galen av är kanske värt att nämna. I början när jag satte en pinne till 1 för att tala om för LCD'n att jag ville läsa av ett svar från den (om den var redo för nästa kommando) hängde sig uC'n i nån typ av evig loop. Problemet visade sig vara att den pinnen jag använde var kopplad till jord via min programmerare (som jag inte kopplat ur mellan programmeringarna). Efter att ha åtgärdat det fungerade det finfint.


Mitt första lyckade LCD-experiment (den gigantiska penisliknande
saken i mitten är en potentiometer för att styra kontrasten)

Som man kan se ovan rullar displayen nu! Nästa steg blir att bygga upp ett litet bibliotek funktioner för att hantera den på ett smidigt sätt. Ska också beställa lite mer prylar för att kunna bygga ihop en USB-programmerare så att jag slipper sitta med en extra dator bara för att kunna programmera kretsen.

No comments: