C Library for HD44780 LCD Display Controller (2 / 4 stap)

Stap 2: Hoe om af te drukken op een specifieke positie van de Cursor


Laten we doorgaan met de herziening van de hd44780 LCD bibliotheek codevoorbeelden. Gelieve te verwijzen naar de eerdere post voor links naar de broncode en een uitleg van wat we zijn bezig.

Nu zullen we kijken in het volgende codevoorbeeld:

CursorPosition.c

Opmerking: In de bovenstaande afbeelding zijn de regels die met '0' en '1 beginnen' lijn een.
De lijnen die met '2' en '3 beginnen' zijn lijn twee.

De display heb is een ERM2004-1. Het ondersteunt twee 40 karakter lijnen verdeeld over 4 20 teken lijnen op het beeldscherm.

Als u dit nog niet gedaan, verwijs naar de laatste post, voor de code repository link en download de broncode zodat u langs kunt volgen.

We zullen eerst weergeven het gehele codevoorbeeld en vervolgens bespreken de code door de sectie.

 #include #include "hd44780_4bit_lib.h"/* * This code example uses the hd44780_setCursorPosition() functioh * to set the starting cursor position using row, col information * This cursor info is then written to the DDRAM address. * Using this method it is very easy to postion text on the dissplay */void main() { WDTCTL = WDTPW | WDTHOLD; // Disable watchdog timer // according to spec give the display 10ms to come up to voltage __delay_cycles(10000 * CPUSPEED); // set up data length, number of lines and font // notice we have setup the display for 2 lines and // using the 5 x 8 character size hd44780_init(N_2LINE, FONT_8); // if needed set up the cursor // hd44780_send_command(HD44780_CMD_DISPLAY_ON_CURSOR); // hd44780_send_command(HD44780_CMD_DISPLAY_ON_CURSOR_BLINK); hd44780_send_command(HD44780_CMD_RETURN_HOME); hd44780_send_command(HD44780_CMD_CLEAR_DISPLAY); // set Increment direction and cursor direction hd44780_send_command(HD44780_CMD_INCREMENT); hd44780_send_command(HD44780_CMD_MOVE_CURSOR_RIGHT); // hd44780_send_command(HD44780_CMD_RETURN_HOME); //hd44780_send_command(HD44780_CMD_CLEAR_DISPLAY); // The display I am testing with is a two line 40 character display // The display shows 20 characters per line so each line wraps twice // for what looks like a 4 line display. // On line one if you write past the 20th character the text // shows up on what appears // to be the third line. // Same goes for the second line, any character past the // 20th character is written // to what appears to be the fourth line. // hd44780_setCursorPosition(0, 0); hd44780_write_string("0123456789"); hd44780_setCursorPosition(0, 10); hd44780_write_string("0123456789"); hd44780_setCursorPosition(0, 20); hd44780_write_string("11234567890123456789"); hd44780_setCursorPosition(1, 0); hd44780_write_string("21234567890123456789"); hd44780_setCursorPosition(1, 20); hd44780_write_string("31234567890123456789"); hd44780_send_command(HD44780_CMD_RETURN_HOME);} 

De eerste sectie van de code wordt uitgelegd in de vorige sectie.

De functie hd44780_send_command() stelt de hd44780 interface om opdrachten te verzenden naar de IR, instructie register. Deze opdrachten zijn alleen de weergave voor het schrijven instellen.

Als u geïnteresseerd bent, gelieve te verwijzen naar de specificatie van de hd4780 voor details. Verwijs naar de vorige post voor een link naar de specificatie.

 hd44780_setCursorPosition(0, 0); hd44780_write_string("0123456789"); hd44780_setCursorPosition(0, 10); hd44780_write_string("0123456789"); hd44780_setCursorPosition(0, 20); hd44780_write_string("11234567890123456789"); hd44780_setCursorPosition(1, 0); hd44780_write_string("21234567890123456789"); hd44780_setCursorPosition(1, 20); hd44780_write_string("31234567890123456789"); hd44780_send_command(HD44780_CMD_RETURN_HOME); 

De hd44780_setCursorPosition() functie roept een instructie, genaamd ' DDRAM ingesteld adres "
De argumenten doorgegeven de regel instellen en cursor positie zodat de volgende tijdgegevens wordt verzonden naar het display, dat gegevens aan de juiste locatie is geplaatst.

De hd44780_write_string()-functie neemt de doorgegeven tekenreeks en afdrukken van één teken tegelijk naar de eerste locatie die is opgegeven door de hd44780_setCursorPosition() functie. De AC adres teller werkt het magie, dus u niet hoeft te vrezen voor verhogen of verlagen de cursorpositie.

Gerelateerde Artikelen

Mini Arduino Multi functie Controller w / LCD Display

Mini Arduino Multi functie Controller w / LCD Display

dit Instructable bouwt voort op de Arduino omgeving minimonitor en Arduino EEG minimonitor Instructables.U kunt maximaal 4 Relais met behulp van de tijd, temperatuur en/of licht, je geest, controle of welke sensor u wilt gebruiken.De voorbeelden zijn
Douche Monitor Arduino met LCD display

Douche Monitor Arduino met LCD display

Welkom! Voor onze milieu Capstone klasse (senior proefschrift) voor St. Olaf College bouwden we een monitor die doeltreffend op hoeveel water toezien zou maakt gebruik van een douche. Het idee achter deze water-monitor is dat als u een piezo transduc
Het gebruik van de LCD-display met arduino tutorial

Het gebruik van de LCD-display met arduino tutorial

Hi iedereen hoop u zijn prima :)Vandaag display i'am gaan om je te leren hoe met een LCD met Arduino (gewoon een hel wereld-bericht).Als u een beginner bent of je nog nooit gespeeld met LCD vertoning met Arduino voordat, dit instructable zeker voor u
HD44780 LCD aan I2C adapter board voor de Bus Pirate

HD44780 LCD aan I2C adapter board voor de Bus Pirate

goedkoop karakter LCD's gebaseerd op de chipset van de HD44780 komen in een verscheidenheid van soorten en maten: 2 x 16, 4 x 20, enz. Deze schermen hebben twee modi van de standaard interface, 4 bits en 8 bits parallelle. 8 bit vereist een totaal va
Connect A 16 x 2 LCD Display aan een Arduino

Connect A 16 x 2 LCD Display aan een Arduino

Welkom bij mijn eerste instructable,Ik zal u tonen hoe u een 16 x 2 LCD-scherm verbinding met een arduino,Volg deze eenvoudige stap voor stap instructies en zul je het gedaan in geen tijd :)Stap 1: Verzamel alle Items die u nodig hebt :) u het volgen
Arduino Nano: Toon GPS-locatie op I2C 2 X 16 LCD Display met Visuino

Arduino Nano: Toon GPS-locatie op I2C 2 X 16 LCD Display met Visuino

Paar dagen geleden vroeg iemand me te maken Instructable over hoe om te laten zien van GPS, lengte- en breedtegraad op een LCD-Display. Ik beloofd een te maken, en hier is het.In dit Instructable, zal ik u tonen hoe u seriële GPS Module, en I2C LCD D
Netduino GPS met LCD Display

Netduino GPS met LCD Display

OverzichtIk vond een ongebruikte Netduino V1 kaartje in mijn vak delen dus wilde iets die kon ik draag het te vinden. Het was al aangesloten op een Nokia 5110 LCD display voor een eerder onvoltooide project. Het omhoog het aandrijven, vond ik dat bei
DIY I2C LCD Display met ingangen

DIY I2C LCD Display met ingangen

De typische parallelle LCD gebruikt met een Arduino (16 x 2 of 20 x 4) heeft 16 pinnen. Slechts 6 I/O pinnen zijn vereist op de Arduino, maar wat als je kon krijgen dat tot twee I/O pinnen, en nog steeds hebben die pins beschikbaar voor andere appara
Nodemcu devkit (esp8266) weergave temperatuur op een i2c lcd display

Nodemcu devkit (esp8266) weergave temperatuur op een i2c lcd display

In dit Instructable zal ik laten zien hoe ik de installatie van een esp8266 om te bepalen van een i2c 20 x 4 LCD-scherm weer te geven gegevens uit verschillende bronnen die is verzameld door andere apparaten esp8266 rond mijn huis.Ik begon door het v
LCD Display-beschermfolie

LCD Display-beschermfolie

Eenvoudige en goedkope LCD-scherm beschermfolieHeb je vingerafdrukken op uw beeldscherm? -Dan is dit de oplossing voor u!Stap 1: Oplossing 1: gebruik een zelfklevende folie Oplossing 1: gebruik een zelfklevende folieOpmerking: Controleer ook oplossin
DHT11 vochtigheid sensor met een lcd-display gemakkelijk!!!

DHT11 vochtigheid sensor met een lcd-display gemakkelijk!!!

Hallo, jongens vandaag gaan we vochtigheid sensor DHT11 werk met een LCD-scherm.Het is niet moeilijk voor een beginner net bedrading dat de LCD display is het harde deel.Dus laten we beginnen:):):):):):):):)!Stap 1: Verzamel uw lichaamsdelen U moet:1
Arduino Nano 5110 LCD Display DHT11 temperatuur vochtigheid Sensor

Arduino Nano 5110 LCD Display DHT11 temperatuur vochtigheid Sensor

Arduino Nano 5110 LCD Display DHT11 temperatuur vochtigheid sensorYouTube VideoDocumenten
Arduino Nano: Direct 2 X 16 LCD Display met Visuino

Arduino Nano: Direct 2 X 16 LCD Display met Visuino

Karakter LCD-schermen zijn een zeer veel gebruikte voor Arduino projecten, om kleine hoeveelheden tekstuele informatie te geven. De meest voorkomende zijn de fundamentele rechtstreeks aangesloten beeldschermen en degene met I2C adapter. Ik heb al gep
Hoe te repareren van multimeter lcd display zwarte vlek

Hoe te repareren van multimeter lcd display zwarte vlek

Wanneer uw multimeter bloot aan vocht, zonlicht of leeftijd. Het LCD-scherm zal degraderen langzaam en tot slot laat zwarte vlek (of grote) op het LCD-display. Maar u niet ongerust maken moet, kunt u deze herstellen zonder te betalen geen geld.Stap 1