De microcontroller is een prachtig stukje techniek en het kan doen veel dingen (met de hulp van enkele grote programmering), maar het is nog steeds een dekkende zwarte doos. Als u het delen van informatie wilt, of u tonen wat het wil doen, moet u verbinding (interface) een uitvoerapparaat. Een uitvoerapparaat biedt u een manier om informatie van de microcontroller te tonen. Dat wil zeggen, kunt het uitvoerapparaat de microcontroller tot "output" informatie naar het "apparaat". We hebben al samengewerkt met een ander uitvoerapparaat testen, de LED (Light Emitting Diode), die licht geeft wanneer u het programma te doen dergelijke genoemd. Nu zullen we een diepgaande blik op interfacing en programmering van de LCD (Liquid Crystal Display).
Het LCD-scherm is een veel informatiever uitvoerapparaat dan een enkele LED. Het LCD-scherm is een beeldscherm dat kan moeiteloos Toon tekens op het scherm. LCD's variëren in grootte, prijs en configuratie van het hebben van een paar lijnen naar grote displays. Sommige zijn zelfs speciaal ontworpen voor interne toepassingen, met alleen dat het vermogen om de weergave van afbeeldingen met instellen. We zullen een LCD die de capaciteit heeft om weer te geven van vier (4) de regels voor de tekens met een lengte van 20 tekens gebruiken. Dit zal volstaan om te laten zien van vrij een beetje van informatie. Een andere populaire LCD heeft 2 lijnen en 16 tekens per regel.
In de video-tutorial (gepost hierboven), zullen we kijken hoe de LCD informatie en controle ontvangt, en de voorschriften om ervoor te zorgen dat de informatie wordt verzonden naar het LCD-scherm in de manier waarop het kan op passende wijze informatie accepteren. Dus, wat betekent dat allemaal?
Eerst moeten we een snelheid discrepantie tussen de LCD en de microcontroller. De microcontroller is aanzienlijk sneller dan de LCD, dus van de microcontroller programma moet zich volledig bewust zijn van dit en compensatie voor de tijd dat het LCD-scherm is druk bezig met dingen die je verteld dat het enkel vooraf. Gelukkig, de LCD kan ons van deze beschikbaarheidsstatus meedelen. Wij willen een functie om te wachten totdat het LCD-scherm niet druk is maken. Voor de LCD te accepteren van informatie van de microcontroller, of laat u informeren, moet we zet haar pin inschakelen in- en uitschakelen terwijl u de informatie is aanwezig voor de LCD te aanvaarden.
Nu zullen we de pinnen op het LCD-scherm. De meest fundamentele van de pinnen zijn de pinnen van de macht voor de weergave te kunnen functioneren in de eerste plaats. Er is een VDD pin voor 5 volt en een VSS-pin voor grond. Er is een V0 pin voor de aanpassing van het LCD-contrast. Sommige LCD's hebben zelfs een LED-achtergrondverlichting die zijn over het algemeen de laatste twee pinnen.
Net als de microcontroller heeft de LCD een rij met 8 pinnen om te dienen als de haven. De pennen die dienen als de poort D0, D1, D2, D3, D4, D5, D6 en D7 is. Deze pinnen zijn over het algemeen gebruikt voor het doorgeven van informatie in het LCD-scherm, maar het kan ook worden ingesteld om informatie terug aan de microcontroller. U bent waarschijnlijk denken "U vertelde me dat dit is een uitvoerapparaat!". Nou, Tuurlijk, het is, maar van tijd tot tijd, het moet informeren u over de staat (bezet of niet). Twee soorten informatie kunnen worden doorgegeven via deze pinnen: gegevens voor weergave op het LCD-scherm, of de controle-informatie die wordt gebruikt voor het doen van dingen zoals het wissen van het scherm, beheersing van de cursorpositie, het draaien van het scherm in- of uitschakelen en de enzovoort. Deze gegevens pinnen zijn aangesloten op de pinnen van de gewenste poort op de microcontroller. Bijvoorbeeld, als je het LCD-scherm wilde te worden aangesloten op de PORTB, de D0 zou worden gekoppeld aan Pin0 van poort B, en: D1-PortB Pin1, D2-PortB PIN2-D3-PortB Pin3, D4-PortB Pin4, D5-PortB Pin5, D6-PortB Pin6 en D7-PortB Pin7. Deze manier, er is consistentie van pin aan pin, en als u een teken in de vorm van een hexadecimaal getal doorgeeft, het LCD-scherm krijgt het op de juiste manier. Als dat niet het geval is, zal er onverwachte resultaten, tenzij u een unieke vorm van structuur bytes gebruikt, maar laat dat niet in de weg.
Er zijn andere pinnen op het LCD-scherm die helpen de LCD informatie accepteren, en vertellen de LCD te ontvangen van een teken of controleof controle het lezen of schrijven (ingang of uitgang) functie van de pinnen. Ter verduidelijking, het lezen/schrijven is microcontroller-centric: het LCD-scherm 'lezen'-modus is het proces van het doorgeven van informatie van de LCD aan de microcontroller (microcontroller poortset als input lezen of luisteren).; de LCD "write"-modus is het uitwisselen van informatie van de microcontroller aan de LCD (microcontroller ingesteld op uitvoer of schrijven). Zonder rekening te houden met
De PIN-code op het LCD-scherm dat is verantwoordelijk voor het lezen en schrijven staat heet R / W. De pin op het LCD-scherm dat verantwoordelijk is voor of de verzonden informatie is teken of de voorafgaande controle, is de RS-pin (registreren selecteren). En de PIN-code waarmee de LCD informatie accepteren heet de nl-pin (inschakelen).
Er zijn drie fundamentele dingen die u doen met een LCD-scherm willen zult voor de goede werking (meer geavanceerde functies kunnen worden uitgevoerd met deze drie fundamentele routines): (1) om ervoor te zorgen dat het LCD-scherm is niet druk; (2) het bepalen van de LCD's cursor of weergeven van functie; en (3) Schrijf een karakter naar het LCD-scherm voor het weer te geven. Elk van deze vergt een eigen proces:
(1) controleren als het LCD-scherm bezig is (wanneer u een teken op het LCD-scherm weergeven terwijl de LCD bezet is, dan de LCD zal enkel ignor het teken en het zal niet worden weergegeven).
- Wij Stel de poort voor het ontvangen van gegevens op de microcontroller (Data richting als input).
- We zetten de LCD in Leesmodus (RW op).
- We zetten het LCD-scherm in de command stand (RS uit).
- En de poort nu magisch bevat de gegevens van de LCD (D7 pin zullen op als het LCD-scherm bezet is en uit als het LCD-scherm niet bezet).
(2) een opdracht verzenden door het LCD-scherm
- We controleren om te zien of het LCD-scherm bezig is (Voer de stappen in de #1 hierboven).
- We stellen de haven richting als uitvoerapparaat, zodat wij informatie naar het LCD-scherm sturen kunt.
- We uitschakelen RW zodat we kunnen schrijven.
- We uitschakelen RS voor opdrachtmodus.
- Wij brand omhoog de data lijnen met de opdracht die we willen (simpelweg het maken van de poort gelijk is aan een aantal die aan een specifieke opdracht koppelt).
- Wij inschakelen inschakelen en vervolgens zwenking op vandoor.
- Het LCD-scherm zal op magische wijze de opdracht uitvoeren.
(3) Stuur een karakter naar het LCD: dit is hetzelfde als het verzenden van een opdracht met uitzondering van de RS is op en de poort komt overeen met het teken dat overeenkomt met de ASCII-code.
Dus, we zijn eigenlijk gewoon draaien pinnen aan en uit, net als wij met de LED's van de afgelopen tutorials. Het is zo simpel. De enige vangst is dat ze in de juiste volgorde moeten worden gedaan.