Component: LCD I2C (LCM1602) (Displays: Alphanumeric)
Author | Matrix Ltd |
Version | 1.0 (Release) |
Category | Displays: Alphanumeric |
Contents
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