|
|
Line 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 424: |
Line 426: |
| | width="90%" style="border-top: 2px solid #000;" | ''Return'' | | | width="90%" style="border-top: 2px solid #000;" | ''Return'' |
| |} | | |} |
− |
| |
− |
| |
| | | |
| | | |
Revision as of 12:20, 3 February 2023
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
Component Source Code
Please click here to download the component source project: FC_Comp_Source_temp/LCD_Base.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_temp/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.
|
- 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
|
|