Jump to content

Component: LCD Base (Alphanumeric): Difference between revisions

From Flowcode Help
No edit summary
m Text replacement - "class="wikitable" style="width:60%; background-color:#FFFFFF;"" to "class="mtx-class-macrotable wikitable""
Line 96: Line 96:


===Clear===
===Clear===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 110: Line 110:


===ClearLine===
===ClearLine===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 129: Line 129:


===Command===
===Command===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 148: Line 148:


===Cursor===
===Cursor===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 172: Line 172:


===PrintAscii===
===PrintAscii===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 191: Line 191:


===PrintFloat===
===PrintFloat===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 215: Line 215:


===PrintFormattedNumber===
===PrintFormattedNumber===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 239: Line 239:


===PrintNumber===
===PrintNumber===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 258: Line 258:


===PrintString===
===PrintString===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 277: Line 277:


===RAMWrite===
===RAMWrite===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 336: Line 336:


===RawSend===
===RawSend===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 360: Line 360:


===RemapCharacter===
===RemapCharacter===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 389: Line 389:


===ScrollDisplay===
===ScrollDisplay===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 413: Line 413:


===Start===
===Start===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
Line 428: Line 428:
==Property reference==
==Property reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]

Revision as of 14:15, 13 July 2026

Author Matrix Ltd
Version 2.5
Category Alphanumeric


LCD Base component

Generic configurable alphanumeric LCD display component based on the standard Hitachi HD44780 controller IC wiith selectable 4/8 bit interface

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. 
- VOID Return


ClearLine

ClearLine
Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data. 
- BYTE Line
The line to clear, zero being the first (top) line of the display 
- VOID Return


Command

Command
Use this method/macro to send a specific command to the LCD. Refer to the Matrix Multimedia EB006 datasheet for a list of supported instructions. For Non-Matrix LCD's refer to the manufacturers datasheet. 
- BYTE instruction
Send a defined command to the LCD Screen. See datasheet for supported commands. 
- VOID Return


Cursor

Cursor
Moves the cursor on the LCD Display 
- BYTE x
Set the cursor position in the X plane, 0 is the left most cell 
- BYTE y
Set the cursor position in the Y plane, 0 is the top most cell 
- VOID Return


PrintAscii

PrintAscii
Takes the ascii value for a character and prints the character 
- BYTE character
Holds an ascii value. 
- VOID Return


PrintFloat

PrintFloat
Print a Float number rounded up to a specified amount of decimal places. 
- FLOAT Number
Enter the number or variable to print to the LCD 
- BYTE DecimalPlaces
Enter how many decimal places to round up to (1 - 6) 
- VOID Return


PrintFormattedNumber

PrintFormattedNumber
Will allow you to print a number up to 32-bits with signed or unsigned formatting. Signed = -2147483648 to 2147483647 Unsigned = 0 to 4294967295 
- ULONG Number
Enter the number or variable to print to the LCD 
- BOOL Format
0=Signed, 1=Unsigned 
- VOID Return


PrintNumber

PrintNumber
Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 
- INT Number
Enter the number or variable to print to the LCD 
- VOID Return


PrintString

PrintString
Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro 
- STRING Text
Enter the text or variable to print to the LCD 
- VOID Return


RAMWrite

RAMWrite
Modifies the internal memory of the LCD to allow for up to 8 customised characters to be created and stored in the device memory 
- BYTE Index
Values 0 to 7 
- BYTE d0
 
- BYTE d1
 
- BYTE d2
 
- BYTE d3
 
- BYTE d4
 
- BYTE d5
 
- BYTE d6
 
- BYTE d7
 
- VOID Return


RawSend

RawSend
Sends data to the LCD display 
- BYTE data
The data byte to send to the LCD 
- BOOL type
A boolean to indicate command type: true to write data, false to write a command 
- VOID Return


RemapCharacter

RemapCharacter
Assigns a remap character allowing the PrintString function to automatically swap between pre-defined characters. The characters can be custom (in the range 0-9) or can point to an existing character in the LCD character map. 
- BYTE RemapIdx
Remap Index, Range: 0 to (Remap Characters - 1) 
- BYTE SearchCharacter
Character to look for a replace 
- BYTE ReplacementCharacter
New character value to use in place of the search character. 
- VOID Return


ScrollDisplay

ScrollDisplay
Scrolls the display left or right by a number of given positions. 
- BYTE Position
Holds the number of positions to shift the display 
- BYTE Direction
0 = left, 1 = right 
- VOID Return


Start

Start
Startup routine required by the hardware device. Automatically clears the display after initialising. 
- VOID Return


Property reference

Properties
Connections
Interface mode
Choose between 4-bit mode, 8-bit mode and 8-bit mode using a port instead of individual pins to improve code efficiency. 
Data 0 (11 / 7)
Data pin 0 - Connects to Data 4 on the hardware in 4-bit mode or Data 0 in 8-bit mode 
Data 1 (12 / 8)
Data pin 1 - Connects to Data 5 on the hardware in 4-bit mode or Data 1 in 8-bit mode 
Data 2 (13 / 9)
Data pin 2 - Connects to Data 6 on the hardware in 4-bit mode or Data 2 in 8-bit mode 
Data 3 (14 / 10)
Data pin 3 - Connects to Data 7 on the hardware in 4-bit mode or Data 3 in 8-bit mode 
Register Select (4)
Register Select Pin - Informs the display if a command or data is about to be sent. 
Enable (6)
Enable pin - Used to synchronise data writes to the display 
Use Read/Write Pin
Set to "true" if the displays R/W pin is not hard wired. Set to "false" if the R/W pin is wired to ground. 
Remap Characters
Used to allow characters to be replaced with alternate characters. Custom characters or characters from the LCD memory map can be used as replacements. Each replacement consumes two bytes of RAM memory and is applied automatically when printing strings. 
Display Settings
Rows
Number of lines of characters the LCD can display. 
Columns
Number of characters the LCD can display on a single line. 
Simulation
Show Background Elements
Show or hide features like the title and background. 
Component Label
 
Component Label Scale
The label scale can be change if the amout of text is too wide for the display  
Text Colour
Colour of the font characters drawn on the display 
Text Background
 
Display Background
 

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