Leuk met de vergadering van de PIC - aflevering 12 (2 / 2 stap)

Stap 2: Software

Hieronder vindt u de link van de software. Terwijl het wordt gericht voor de 16F688, is het gemakkelijk ported aan andere versies van de PIC. U zult moeten veranderen de regel waarmee de PIC-versie (lijst =) en het INCLUDE-bestand, maar die zijn intuïtieve veranderingen. De __CONFIG lijn wellicht ook tweaken alleen maar omdat een of twee van de gebruikte etiketten zijn anders gespeld in sommige van de INCLUDE-bestanden.

Zoals vermeld in de sectie hardware, het LCD-scherm in de 8-bit-modus begint en moet worden geboden aan de 4-bits modus. Als je kijkt naar de LCD initialisatie sectie ziet u dat de eerste vier opdrachten worden verzonden terwijl de LCD in 8-bits modus is. Omdat de LCD de gronden aan de lagere vier data lijnen ziet, sturen we alleen het bovenste knabbelen van de gegevens. Bijvoorbeeld, in de versie van de 8-bit interface zou sturen we hexadecimale bytes 30, 30, 30 te vertellen van het LCD-scherm dat we willen het initialiseren. In de versie 4-bits verzenden wij hex nibbles 3, 3, 3 maar het LCD-scherm ziet 30, 30, 30. De vierde knabbelen die wij sturen is 2 die het LCD-scherm als 20 ziet. Dit vertelt het overstappen naar de 4-bits modus. Na dat punt zullen we voor het verzenden van elke gegevensbyte, zoals een paar nibbles en het LCD-scherm zal ze stik intern alvorens ze te verwerken. De rest van de initialisatieopdrachten hebben dezelfde waarden zoals in de 8-bit-versie, behalve dat we verzenden 28 in plaats van 38 voor de functie opdracht instellen. Dat komt omdat '2' betekent 4-bits modus terwijl "3" betekent 8-bits modus.

Omdat we moeten sturen elke byte als achtereenvolgend nibbles voegen we een paar regels code aan de routine van de "Write_LCD". Het LCD-scherm verwacht eerst de bovenste knabbelen dus we een nibble swap doen om de bovenste knabbelen in de lagere vier bits en vervolgens uit de bovenste vier bits maskeren. Wanneer we de lagere knabbelen sturen we niet doen van de swap en gewoon masker uit de bovenste vier stukjes. Vrij eenvoudige wijzigingen, maar voor de langste tijd die ik om goed krijgen kon mijn gegevens berichten weergeven. Ik dacht dat iets mis is met de routine van de "Write_LCD" moet zijn, maar het verwarrend ding was dat de routine prima werkte bij het verzenden van de initialisatieopdrachten. Alleen knoeide het omhoog toen ik probeerde om het LCD-scherm overschakelen naar de modus voor gegevensinvoer. Wat tot slot vestigde ik op als een oplossing was om toe te voegen een vertraging van de 50us vlak voor de inschakelen puls die de LCD vertelt te vangen de eerste knabbelen. Zodra ik kreeg het werkend probeerde ik minder vertraging (het werkte neer over 25us). Ik heb ook geprobeerd om de vertraging net voordat het inschakelen voor de tweede knabbelen maar dat werkte niet. Interessant, werkte zetten de vertraging binnenkant van de eerste inschakelen puls. Ik schuurde de spec voor de Hitachi LCD controller chip, maar vond niets dat de noodzaak van de extra vertraging – uitgelegd alleen terwijl in data-modus, en alleen tijdens de eerste beet van elke byte wordt verwerkt. Het simpel gezegd dat u controleren moet de "drukke vlag" na elk stuk van de gegevens verzonden maar waarvoor de complexiteit van het LCD-scherm om te lezen modus over te schakelen. Het blijkt dat de miljoenen voorbeelden op het web van geen hulp waren ofwel en velen van hen liet me af als ze echt werkte zoals geschreven. Ik heb verschillende versies van het LCD-scherm, zodat het niet lijkt te een anomalie in slechts één van hen. Het mij nog steeds een beetje gek niet weten "waarom" het rijden.

In het belang van de volledigheid, moet ik vermelden dat de eerste drie opdrachten van de "Speciale functie Set" (de 3, 3, 3) zijn waarschijnlijk niet nodig. Als het LCD-scherm goed dan de spec inschakelt zegt kun je rechtstreeks naar het verzenden van de opdracht voor een 4-bits modus. Het doet geen pijn om te vertrekken deze eerste set van commando's in daar en ze kunnen helpen als het LCD-scherm heeft niet de nodige energie correct af. Dat is waarom ik zet ze er. Nou, dat is het voor aflevering 12 van "Fun met PIC vergadering". Stay tuned voor meer afleveringen.

Gerelateerde Artikelen

Leuk met de vergadering van de PIC - aflevering 4

Leuk met de vergadering van de PIC - aflevering 4

Zoals ik in aflevering 3, kocht ik een kleine verscheidenheid van modules voor interfacing naar foto's. Een daarvan is een Bluetooth-Module. In al die jaren dat ik over Bluetooth had geweten, had ik nooit echt het verhaal achter de naam uitgecheckt.
Leuk met de vergadering van de PIC - aflevering 13

Leuk met de vergadering van de PIC - aflevering 13

Een paar maanden geleden overwoog ik maken een capaciteit meter met behulp van de PIC. Ik deed wat onderzoek op het web en verschillende ontwerpen uitgecheckt. Dan maakte ik de fout van het controleren van eBay om te zien hoe veel zou kosten. De vers
Leuk met de vergadering van de PIC - aflevering 22

Leuk met de vergadering van de PIC - aflevering 22

De gemeenschappelijke zeggen is dat "noodzaak de moeder van uitvinding is". In werkelijkheid zijn er echter veel "mothers" van uitvinding. Mijn favoriet is "luiheid" maar soms dingen uitgevonden krijgt, alleen omdat het een l
Leuk met de vergadering van de PIC - aflevering 21

Leuk met de vergadering van de PIC - aflevering 21

Ik ben niet een wereldreiziger, maar ik heb al een aantal plaatsen die radicaal in temperatuur en vochtigheid verschillen. Me niet schelen wat iemand zegt, "droge hitte" betekent niets als de thermometer is boven de 110 graden. Evenzo is-40 grad
Leuk met de vergadering van de PIC - aflevering 18

Leuk met de vergadering van de PIC - aflevering 18

Buzz woorden en zinnen van de vangst worden altijd gegenereerd, vooral in de technologiegebieden of de politiek. Zelfs Dilbert kreeg in op de trend met "Buzzword Bingo" terug in de ' 90's. Een van de momenteel hot zinnen is "Internet van di
Leuk met de vergadering van de PIC - aflevering 1

Leuk met de vergadering van de PIC - aflevering 1

Terug in de olden dagen, wanneer mannen waren mannen en diskettes waren enorm, we geprogrammeerd de eerste microprocessor in assembler - en wij graag gezien dat die manier. Nu dat ik met pensioen ben besloten heb ik om opnieuw die dagen van yore en s
Leuk met de vergadering van de PIC - aflevering 16

Leuk met de vergadering van de PIC - aflevering 16

Tot nu toe heb ik verzette toe te voegen aan de miljoenen van "Een LED knipperen" projecten die op het web. Dat wil niet zeggen dat ik eigenlijk niet maken een project "Knipperen van een LED" toen ik voor het eerst begonnen te rommelen
Leuk met de vergadering van de PIC - aflevering 17

Leuk met de vergadering van de PIC - aflevering 17

Terug in de slechte oude dagen had ieder telefoonbedrijf een eigen interface en vaak verschillende interfaces voor verschillende telefoons in hun productlijn. Deze dagen, maar bijna elke telefoon een USB-interface gebruikt, net als veel andere appara
Leuk met de vergadering van de PIC - aflevering 8

Leuk met de vergadering van de PIC - aflevering 8

Ik heb enkele interessante temperatuurveranderingen meegemaakt in mijn leven met inbegrip van slechts een paar jaar geleden waar wij Stel een recordhoogte eendaagse en stel vervolgens een recordminimum de volgende dag. De meest interessante ervoer ik
Leuk met de vergadering van de PIC - aflevering 14

Leuk met de vergadering van de PIC - aflevering 14

Zoals ik in een vorige aflevering, ik vrijwilliger bij een non-profit recyclingcentrum. Meestal we repareren computers en LCD-monitoren maar de laatste tijd ik heb genomen voor de taak op het krijgen van sommige oudere Dell 5650 subwoofer systemen ui
Leuk met de vergadering van de PIC - aflevering 15

Leuk met de vergadering van de PIC - aflevering 15

Een van mijn recente projecten betrokken de bouw van een kleine 2.1 versterker met behulp van wat TDA power versterker chips die ik scrounged van een afgekante elektronica bestuur. Aangezien ik was in staat om te beslissen hoe ik wilde dingen bepalen
Leuk met de vergadering van de PIC - aflevering 3

Leuk met de vergadering van de PIC - aflevering 3

Nadat ik had been playing rond met de foto's voor een tijdje toevallig ik te merken dat het web was vol met kleine interface boards dat allerlei interessante taken kon doen. Sterker nog, ze waren goedkoper dan proberen op te bouwen uw eigen kleine pl
Leuk met de vergadering van de PIC - aflevering 19

Leuk met de vergadering van de PIC - aflevering 19

Een van mijn favoriete zinnen is "het is gemakkelijk als je weet hoe." Ik ben niet zeker als ik pakte die ergens lang geleden of het zelf bedacht, maar er heel wat waarheid daarin is. Dat is soort van wat er gebeurde toen ik ging op zoek naar ee
Leuk met de vergadering van de PIC - aflevering 23

Leuk met de vergadering van de PIC - aflevering 23

Zoals ik in vorige afleveringen ik vrijwilliger bij het lokale non-profit recyclingcentrum. Sommigen van de elektronica-dingen die wordt afgezet soort maakt me voelen als een archeoloog technologie en ik heb een fantasie die the History Channel zal v