The integration of the JHD-2x16-I2C module with Proteus enables users to simulate and visualize the behavior of their circuits in a virtual environment. This simulation capability is particularly beneficial for:
This public link is valid for 7 days and shares a thread, including any personal information you added. This link or copies made by others cannot be deleted. If you share with third parties, their policies apply. Can’t copy the link right now. Try again later.
The firmware for this simulation component is nearly identical to the code you would write for a real-world I²C LCD module. The approach is:
The JHD-2X16 LCD displays 16 characters per line across 2 lines. When equipped with an I2C backpack (based on the PCF8574 chip), the module connects directly to microcontrollers like Arduino, Raspberry Pi, or PIC. 5V GND: Ground SDA: I2C Data Line SCL: I2C Clock Line jhd-2x16-i2c proteus
If you are using the breakdown method (), wire the components according to standard backpack configurations: 1. PCF8574 to LM016L (LCD) Connections The I2C backpack maps its 8 output pins ( P0cap P sub 0 P7cap P sub 7 ) to the control and data lines of the LCD in 4-bit mode: P0 →right arrow RS (Register Select) P1 →right arrow RW (Read/Write) P2 →right arrow E (Enable) P3 →right arrow Backlight Control (Optional/Transistor circuit) P4 →right arrow D4 (Data Bit 4) P5 →right arrow D5 (Data Bit 5) P6 →right arrow D6 (Data Bit 6) P7 →right arrow D7 (Data Bit 7)
void main(void) I2C_init(100000); // Example I2C write sequence SEN = 1; // Send Start condition while(SSP1STATbits.BF); SSP1BUF = 0x7C << 1; // Send slave address (0x7C) + write while(SSP1CON2bits.ACKSTAT); SSP1BUF = 0x00; // Send control byte while(SSP1CON2bits.ACKSTAT); PEN = 1; // Send Stop condition
The I2C adapter chip maps its outputs to the LCD pins as follows (this mapping is crucial for writing the driver code): The integration of the JHD-2x16-I2C module with Proteus
In Proteus, double-click your microcontroller (e.g., ATmega328P / Arduino Uno VSM), click the folder icon next to , select your .hex file, and click OK . 4. Simulating and Debugging in Proteus
If the simulation runs but the LCD shows only the top row of solid black boxes (or nothing at all):
Ensure the PCF8574 address pins (A0, A1, A2) are grounded to maintain the address in simulation. Library Configuration Do not use the standard LiquidCrystal_I2C If you share with third parties, their policies apply
This public link is valid for 7 days and shares a thread, including any personal information you added. This link or copies made by others cannot be deleted. If you share with third parties, their policies apply. Can’t copy the link right now. Try again later.
: Many Proteus users use a standard LM016L (16x2 LCD) connected to a PCF8574 I/O expander to mimic the I2C module's behavior. 2. Pin Connections (Proteus & Hardware)
(Read/Write - usually tied to Ground or controlled via P1) P2 →right arrow E (Enable) P3 →right arrow Backlight Control (Transistor switch configuration) P4 →right arrow D4 (Data Bit 4) P5 →right arrow D5 (Data Bit 5) P6 →right arrow D6 (Data Bit 6) P7 →right arrow D7 (Data Bit 7) Microcontroller to PCF8574 Connections:
Once your schematic is wired and your firmware is compiled, you are ready to configure the Proteus simulation execution. Loading the Hex File