Component: LCD I2C (LCM1602) (Displays: Alphanumeric)

From Flowcode Help
Jump to navigationJump to search


Author Matrix Ltd
Version 1.0 (Release)
Category Displays: Alphanumeric


Image LCD I2C (LCM1602) component

Generic alphanumeric LCD display based on the standard Hitachi HD44780 controller IC. Connected using an I2C based PCF8574 IO Expander IC.

Examples

No additional examples


Downloadable macro reference

Clear

Clears the entire contents of the display.

Parameters

This macro has no parameters


Return value

This call does not return a value


PrintString

Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro

Parameters

<- STRING Text
Enter the text or variable to print to the LCD
This parameter may be returned back to the caller


Return value

This call does not return a value


PrintAscii

Takes the ascii value for a character and prints the character

Parameters

BYTE character
Holds an ascii value.


Return value

This call does not return a value


PrintNumber

Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767

Parameters

INT Number
Enter the number or variable to print to the LCD


Return value

This call does not return a value


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

Parameters

BYTE Index
Values 0 to 7
BYTE d0
BYTE d1
BYTE d2
BYTE d3
BYTE d4
BYTE d5
BYTE d6
BYTE d7


Return value

This call does not return a value


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.

Parameters

BYTE Line
The line to clear, zero being the first (top) line of the display


Return value

This call does not return a value


Cursor

Moves the cursor on the LCD Display

Parameters

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


Return value

This call does not return a value


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.

Parameters

BYTE instruction
Send a defined command to the LCD Screen. See datasheet for supported commands.


Return value

This call does not return a value


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

Parameters

ULONG Number
Enter the number or variable to print to the LCD
BOOL Format
0=Signed, 1=Unsigned


Return value

This call does not return a value


ScrollDisplay

Scrolls the display left or right by a number of given positions.

Parameters

BYTE Position
Holds the number of positions to shift the display
BYTE Direction
0 = left, 1 = right


Return value

This call does not return a value


RawSend

Sends data to the LCD display

Parameters

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


Return value

This call does not return a value


Backlight

Controls the backlight on the display module

Parameters

BYTE Mode
0 = Backlight Off / 1 = Backlight On


Return value

This call does not return a value


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.

Parameters

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.


Return value

This call does not return a value


Start

Startup routine required by the hardware device.

Automatically clears the display after initialising.

Parameters

This macro has no parameters


Return value

This call does not return a value


Simulation macro reference

This component does not contain any simulation macros


Property reference

Channel

This property is of type Fixed list of ints and can be referenced with the variable name cal_i2c1::CHANNEL.

Channel selection

SlaveAddress

This property is of type Unsigned integer and can be referenced with the variable name SlaveAddress.

No additional information


Baud Select

This property is of type Fixed list of ints and can be referenced with the variable name cal_i2c1::BAUD_LIST.

Baud rate option selector

Baud Rate

This property is of type Signed integer and can be referenced with the variable name cal_i2c1::BAUD.

Baud rate to be used

SDA

This property is of type Single digital pin and can be referenced with the variable name cal_i2c1::SDA.

Pin used for SDA (data signal)

SCL

This property is of type Single digital pin and can be referenced with the variable name cal_i2c1::SCL.

Pin used for SCL (clock signal)

Stop Delay

This property is of type True or false and can be referenced with the variable name cal_i2c1::StopDel.

On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not

a 10ms delay between an I2C stop event and the next I2C start event.


Most modern microcontrollers will not have a problem so this property can be disabled to speed up the

I2C communications.

Rows

This property is of type Fixed list of ints and can be referenced with the variable name Rows.

Number of lines of characters the LCD can display.

Columns

This property is of type Fixed list of ints and can be referenced with the variable name Columns.

Number of characters the LCD can display on a single line.

Remap Characters

This property is of type Unsigned integer and can be referenced with the variable name RemapCharacters.

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.

Delay Timings

This property is of type Unsigned integer and can be referenced with the variable name DelayTiming.

Delay in microseconds used in the display send function.

Most displays will work with the default value of 100us.

Some displays may need a slightly longer delay, 166us is known to work well.

Background Color

This property is of type Color picker and can be referenced with the variable name BackgroundColor.

Simulation only background colour, the actual hardware will have a fixed colour

Line Color

This property is of type Color picker and can be referenced with the variable name LineColor.

Simulation only line colour, the actual hardware will have a fixed colour

Text Color

This property is of type Color picker and can be referenced with the variable name TextColor.

Simulation only text colour, the actual hardware will have a fixed colour

Font

This property is of type Font picker and can be referenced with the variable name Font.

Font to use for simulation, the actual hardware will have a inbuilt fixed font.

Console Data

This property is of type True or false and can be referenced with the variable name cal_i2c1::ConsoleData.

Selects if the console data is automatically generated or not

Scope Traces

This property is of type True or false and can be referenced with the variable name cal_i2c1::ScopeTraces.

Selects if the component pin connections are automatically generated on the data recorder window or not.

Yes: Automatically add the component pins to a group on the data recorder which will reflect the sim data during simultion.

No: Do not show the pin signals on the data recorder window.

Injector

This property is of type Fixed list of ints and can be referenced with the variable name cal_i2c1::Injector.

No additional information