Difference between revisions of "Component: LCD Base (Alphanumeric)"
From Flowcode Help
Jump to navigationJump to searchLine 86: | Line 86: | ||
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change. | The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change. | ||
{{Fcfile|LCDDemo.fcfx|LCD Demo}} | {{Fcfile|LCDDemo.fcfx|LCD Demo}} | ||
+ | |||
+ | |||
Line 91: | Line 93: | ||
==Macro reference== | ==Macro reference== | ||
+ | ===Clear=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 104: | Line 107: | ||
+ | ===PrintString=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 122: | Line 126: | ||
+ | ===PrintAscii=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 140: | Line 145: | ||
+ | ===PrintNumber=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 158: | Line 164: | ||
+ | ===RAMWrite=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 216: | Line 223: | ||
+ | ===ClearLine=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 234: | Line 242: | ||
+ | ===Cursor=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 257: | Line 266: | ||
+ | ===Command=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 275: | Line 285: | ||
+ | ===PrintFormattedNumber=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 298: | Line 309: | ||
+ | ===ScrollDisplay=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 321: | Line 333: | ||
+ | ===RawSend=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 344: | Line 357: | ||
+ | ===PrintFloat=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 367: | Line 381: | ||
+ | ===RemapCharacter=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 395: | Line 410: | ||
+ | ===Start=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- |
Revision as of 11:50, 3 February 2023
Author | Matrix Ltd |
Version | 2.5 |
Category | Alphanumeric |
Contents
LCD Base component
Generic configurable alphanumeric LCD display component based on the standard Hitachi HD44780 controller IC wiith selectable 4/8 bit interface
Component Source Code
Please click here to download the component source project: FC_Comp_Source_LCD_Base.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_LCD_Base.fcfx
Detailed description
No detailed description exists yet for this component
Examples
Connections
For the LCDs to work with the Flowcode LCD component they need to be connected up in 4-bit data mode.
The 4 data signals actually go to the upper data nibble on the LCD as shown below.
Displaying a numeric value
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.
LCD Demo
Macro reference
Clear
![]() |
Clear |
Clears the entire contents of the display. | |
![]() |
Return |
PrintString
![]() |
PrintString |
Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro | |
![]() |
Text |
Enter the text or variable to print to the LCD | |
![]() |
Return |
PrintAscii
![]() |
PrintAscii |
Takes the ascii value for a character and prints the character | |
![]() |
character |
Holds an ascii value. | |
![]() |
Return |
PrintNumber
![]() |
PrintNumber |
Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 | |
![]() |
Number |
Enter the number or variable to print to the LCD | |
![]() |
Return |
RAMWrite
ClearLine
Cursor
Command
PrintFormattedNumber
ScrollDisplay
![]() |
ScrollDisplay |
Scrolls the display left or right by a number of given positions. | |
![]() |
Position |
Holds the number of positions to shift the display | |
![]() |
Direction |
0 = left, 1 = right | |
![]() |
Return |
RawSend
![]() |
RawSend |
Sends data to the LCD display | |
![]() |
data |
The data byte to send to the LCD | |
![]() |
type |
A boolean to indicate command type: true to write data, false to write a command | |
![]() |
Return |
PrintFloat
RemapCharacter
Start
![]() |
Start |
Startup routine required by the hardware device. Automatically clears the display after initialising. | |
![]() |
Return |