Stap 7: LCD Display Basics
Dit is het exacte model die ik heb gebruikt: http://www.sparkfun.com/products/9052
U kunt kiezen de kleur maar zorg ervoor dat het HD44780 compatibel is en draait op 3,3 v
Ik hield 'wit op zwart' omdat het is leesbaar nachts maar niet storend fel.
De betekenis van de HD44780 compatibel is omdat het gemeenschappelijk. Iedereen weet hoe het te gebruiken. Hier zijn verschillende tutorials door gewoon zoeken naar "HD44780 tutorial"
http://joshuagalloway.com/LCD.html
http://jallib.blogspot.com/2009/01/Step-by-Step-interfacing-HD44780.html
http://www.8051projects.net/LCD-interfacing/Introduction.php
http://www.robotenthusiasts.com/page/index.html/_/tutorials/PIC-microcontrollers/HD44780-LCD-R14
Bericht hoe al deze tutorials identiek waren?
Pak nu het gegevensblad voor de weergave (dit is van SparkFun de productpagina):
http://www.Sparkfun.com/datasheets/LCD/ADM1602K-NSW-FBS-3.3V.PDF
De gegevens worden verzonden via een parallelle bus, de gegevens op de gegevens pinnen geplaatst, en bemonsterd wanneer de pin "E" is van een knevel gevoorzid.
Kennis nemen van de timing diagrammen op pagina 7. Als we een snelle berekening doen, de Teensy op 8 MHz betekent dat de tijd die nodig is voor een montage instructie 125 nanoseconden. De code van de mededeling LCD heeft rekening gehouden met dit (zoekt u naar waar ik heb "_NOP();"). Elke opdracht is ook een minimale duren om uit te voeren, zoals u zult zien.
Kennis nemen van de opdrachten vermeld op pagina 10, het zal je helpen begrijpen de initialisatiecode later wanneer u de broncode lezen. Ook zoals ik heb gezegd, elke opdracht neemt een minimale tijd om uit te voeren, en de hoeveelheid tijd wordt hier vermeld. Ook wij zullen niet het lezen van alle gegevens van het LCD-scherm, alleen schrijven, dit betekent dat de "lezen/schrijven" of "R/W" pin kan worden aangesloten op de grond, wat betekent 'alleen schrijven'.
Kijk aan de tafel van de tekens in het gegevensblad, het is bijna hetzelfde als ASCII met enkele kleine uitzonderingen. Dit maakt het gemakkelijk om tekenreeksen weer te geven.
Merk ook op dat we 4 bit modus gebruiken zullen om pinnen en kabels te besparen. De beschrijving van de werking van 4 bits modus is niet precies op het gegevensblad, maar de commando genaamd 'functie set' is wat wordt gebruikt 4 bit modus in te schakelen. Aankondiging dat die 4 bit-modus gebruikt bits DB7 DB4 en "functie set" is zo ontworpen dat DB3 aan DB0 behoeven niet 4 bit modus in te schakelen.
Om te begrijpen meer ongeveer 4 bitsmodus, probeer het lezen van deze eerste
http://esd.cs.UCR.edu/Labs/interface/interface.html
Kortom, u verzendt de meest significante 4 bits eerst, en dan de minst significante bits van 4 tweede. Zodra het LCD-scherm is ingesteld op 4 bitsmodus, verwacht het altijd 2 data overdrachten, overwegende dat in de 8-bit modus slechts 1 data-overdracht, verwacht daarom instelling 4 bit modus moet gebeuren vroeg, hoewel de opdrachten zo ontworpen zijn dat het niet hoeft te worden met de eerste opdracht.
Het contrast wordt gecontroleerd door pin 3 op het LCD-scherm, vind ik met behulp van een 10 kilo-ohm rietenknipper potientiometer zoals een scheidingslijn van de voltage ingang aan op pin 3 is de eenvoudigste methode voor het beheren van contrast.
De LED achtergrondverlichting zal worden gecontroleerd door onze microcontroller. Er moet een huidige beperkende weerstand in serie zodat de LED of onze microcontroller GPIO niet burn-out.
De volgende stap zal zijn een voorbeeld demonstratie vormt en dat u ook de bedrading verbindingen ziet.