3-tråds HD47780 LCD för mindre än 1 dollar (2 / 5 steg)
Steg 2: Vet din hårdvara #1
HD44780 kan fungera i två lägen:
1. 4-bitars läge, där varje byte skickas till LCD-skärmen består av 2 4-bitars delar.
2. 8-bitars läge, som vi kommer att fokusera.
LCD har 16 stift i totalt, 3 kontroll stift och 8 data stift:
RS - styr om vi vill skicka ett kommando eller data till LCD-skärmen. Där "hög" betyder data (en karaktär) och "låg" betyder ett kommandobyte.
R/W - The HD44780 controller kan du läsa från dess RAM. När detta stift är "hög" kan vi läsa data från dess data stift. När det är "låg" kan vi skriva data till LCD-skärmen. Även om alternativet att läsa från LCD kan vara användbart i vissa fall, vi kommer inte att gå över den i denna handledning, och vi kommer helt enkelt marken detta stift för att säkerställa att det alltid är i skrivläge.
E - E är den "Aktivera" pin, detta stift ska växlas "hög" och sedan "låg" att skriva data till sin RAM och så småningom Visa det på skärmen.
DB0-7 - detta är data stiften. I 4-bitars läge använder vi endast 4 höga bitar DB4-DB7, och i 8-bitars läge är alla av dem utnyttjas.
VSS - detta är marken PIN-koden.
VCC - detta makt stift, LCD-skärmen går det bort en 5V strömförsörjning, vi kan enkelt mata den makten från Arduinoen + 5v stift.
Vo - detta är den pin som låter dig ställa in kontrastnivå för visning, det kräver en potentiometer, normalt en 5 K Ohm pott används.
LED + - detta är kraftkällan för bakgrundsbelysningen. Vissa LCD-skärmar inte kommer med en bakgrundsbelysning, och bara har 14 stift. I de flesta fall detta stift kräver också en + 5v anslutning.
LED - - detta är grunden för backlight.*
* Det är viktigt att kontrollera visar databladet eller inspektera dess PCB till check för en bakgrundsbelysning motstånd, de flesta LCD-skärmar kommer att ha dem inbyggda, vilket innebär att allt du behöver göra är gälla LED + och marken till LED - power. Men i fallet inte din LCD har en inbyggd resistor för bakgrundsbelysningen, är det viktigt att du lägger till en, annars bakgrundsbelysningen förbrukar mycket ström och det kommer att brinna så småningom ut.
I de flesta fall är det sättet denna LCD är kopplad till Arduino att använda den i 4-bitars läge och jordning R/W-pin. Detta sätt vi använder stift RS, E och DB4-DB7. Kör i 4-bitars läge har en annan liten nackdel i att det tar dubbelt så lång tid att skriva data till skärmen som det skulle ta i en 8-bitars. LCD-skärmen har en 'lösa' tid 37 mikrosekunder innebär detta att du måste vänta 37 mikrosekunder innan du skickar nästa kommando eller data-byte till LCD-skärmen. Eftersom vi måste skicka data två gånger för varje byte i 4-bitars läge, går den totala tiden det tar för att skriva en enda byte upp till 74microseconds. Detta är fortfarande tillräckligt snabbt, men jag ville ha min design att ta fram bästa möjliga resultat.
Lösningen på vårt problem med antalet stift används ligger i en seriell till parallell omvandlare...