beautypg.com

4communications, 1 introduction – Matrix Orbital LCD2041 User Manual

Page 20

background image

3.3

The display module is communicating, however text cannot
be displayed.

• A common cause may be that the contrast settings have been set to low. The solution to this problem

is to adjust the contrast settings. The default setting that will work in most environments is 128.

NOTE

Optimal contrast settings may vary according to factors such as temperature, view-

ing angle and lighting conditions.
If you are unable to resolve any issue please contact Matrix Orbital. See 12.6 on page 51
for contact information.

4

Communications

4.1

Introduction

The commands listed in this chapter describe how to configure data flow on the LCD2041.

4.1.1

I

2

C Communication Summary

The LCD2041 is capable of communicating at 100 KHz in I

2

C mode, with 127 units addressable on a

single I

2

C communication line. However, in order to communicate via I

2

C you must first ensure that pull up

resistors, with a nominal value of 1K to 10K, are placed on the SCL and SDA communication lines coming
from pins two and three of the Data / Power Connector respectively. Data responses by the module are
automatically output via RS232, in case the host will be querying the module, it is necessary for the host
to inform the module that its responses are to be output via I

2

C. This can be done by sending command

254 /160 / 0 to turn off auto transmission of data in RS232. This will keep the data in the buffer until the
master clocks a read of the slave. The I

2

C data lines operate at 5V normally or 3.3V for -1U style units. The

LCD2041 uses 8-bit addressing, with the 8th or Least Significant Bit (LSB) bit designated as the read/write
bit, a 0 designates a write address and a 1 designates a read address. The default read address of the display
module will be 0x51, whereas the write address is 0x50 by default. This address may be changed by using
cmd 254 / 51 /

. The LCD2041 should only be sent addresses that are even (LSB is 0). When the
I

2

C master wishes to write to the display, the effective address is $50 (0101 0000) , since the LSB has to be

0 for an I

2

C master write. When the I

2

C master wishes to read the LCD2041, the effective address is $51

(0101 0001), since the LSB has to be 1 for an I

2

C master read.

If we take a standard Phillips 7 bit address of $45 (100 0101), Matrix Orbital’s LCD2041 would describe

this Phillips I

2

C address as $8A (1000 1010). The read address would be $8B (1000 1011).

The unit does not respond to general call address ($00).
When communicating in I

2

C the LCD2041 will send an ACK on the 9th clock cycle when addressed.

When writing to the display module, the display will respond with a ACK when the write has successfully
been completed. However if the buffer has been filled, or the module is too busy processing data it will
respond with a NAK. When performing a multiple byte read within one I

2

C transaction, each byte read from

the slave should be followed by an ACK to indicate that the master still needs data, and a NAK to indicate

Matrix Orbital

LCD2041

16