You are here

CharLCD_I2C Component interface for PCF8574AT / HD44780 Combo | Cypress Semiconductor

CharLCD_I2C Component interface for PCF8574AT / HD44780 Combo

Summary: 22 Replies, Latest post by Minatsu Tukisima on 27 Apr 2017 06:13 AM PDT
Verified Answers: 1
Last post
Log in to post new comments.
Michael Bey's picture
User
29 posts

The CharLCD_I2C component provides an interface with the PCF8574AT I2C PC Board connected to the Industry Standard HD44780 LCD  Controller (running in 4-bit mode) using only 2 I/O pins, SDA and SCL pins. The CharLCD_I2C component requires an I2C Master component to provide the I/O. For the PSoC 4 use the I2C (SBC mode)[v3.2] Master Component. For the PSoC 3 and PSoC 5 use the I2C Master (Fixed Function)[v3.50] Component. The instance name of the I2C Master Component needs to be  I2C_ 'instance name of the CharLCD_I2C component'. It has been tested and works with the PSoC 3, PSoC 4 and the PSoC 5 provided with the C8YC KIT-001.

Michael Bey's picture
User
29 posts

CharLCD_IC2 component version 1.1 update. The While Loop statements /* Waits for Master to Complete Transfer */ were removed because it produces an endless loop if the I/O pins of the PSoC are not connected to the LCD. The PCF 8574AT PC Board and HD44780 combo are available on eBay for as little as 3 dollars.

Michael Bey's picture
User
29 posts

CharLCD_IC2 component Version 1.2 to correct a few typing errors of the PDF file and a statement in the CharLDC.c file that did not produce a compiler error. Sorry for any inconvenience.

user_342122993's picture
User
787 posts

Thank you for sharing. Nice datasheet also.

Michael Bey's picture
User
29 posts

CharLCD_IC2 v1.4 component update to interface with the PCF8574A I2C Adapter PC board connected to the HD44780 Contoller. I have changed the generated API file names at build so there is no conflict with other generated LCD Display component API's such as the Charter LCD or the CharLCDmp component if for some reason they are included in the same project.

I have included additional documentation on how the Slave Address can be changed for the PCF8574/PCF8574A chip if it becomes necessary. At this time the PCF8574A PC boards available on eBay are using the 7 bit Slave Address 0x3F which is the default address for the CharLCD_I2C component.

I have been using the PSoC4 28 SSOP package for my project and have been able to keep my pin count down , simplify my PC board layout and able to connect to the LCD with a simple 4 wire connecter. My project is being used in small RC devices and the PCF8574A/HD44780 LCD combo is removed after the variables of my project are programmed. The 3 dollar price for the LCD combo is also a significant cost savings.

 

 

Michael Bey's picture
User
29 posts

CharLCD_IC2 v1.5 component upgrade for minor changes of the Slave Address section of the Datasheet and the beginning Comment Section of the generated API files.  There should be no other upgrades unless I can determine a way of customizing the component to include a way to input for the 7 Bit Slave Address and Instance Name of the I2C Master Component. Sorry for so may upgrades and any inconvenience it may have caused.

Michael Bey's picture
User
29 posts

CharLCD_I2C v1.5 upgrade

Michael Bey's picture
User
29 posts

Changed the Component Catalog Tab name from "MyLib" to "Component". Also, remember to Start the I2C Master component before starting the CharLCD_I2C component in the main.c file.

Michael Bey's picture
User
29 posts

Changed the Command Delay in the CharLCD_I2C.h file from 1.5msec to 2.0msec so the ClearDisplay API command works properly with the HD44780 controller.

user_49135791's picture
User
12 posts

Hello Michael,

thank you for sharing this nice program! But I miss a little "demo", for user's comfort.

Anyway, I have edited a lot of lines, then I was successful and could see the result on a 16 x 2 Display, with CY8CKIT-059.

Best regards, Wolfgang (DH1AKF)

 

frmsos_1565511's picture
User
6 posts

Hi guys. I was probing the component in the PSOC 5LP. I have some problems when I build the project, I guess is because of the version of the PSOC. How can I make it work in the PSOC 5LP? The error I get is relating a missing I2C_CharLCD.h and I2C_CharLCD_PVT.h.  I attached the bundle and the images that show the error. I'll appreciate the help. 

Thanks.

Log in to post new comments.