In Proteus, you must construct this device by combining two separate components:
An I/O expander integrated circuit (PCF8574). Step-by-Step Circuit Design in Proteus
To control the JHD2X16I2C, your code must transmit data packets over the I2C bus containing the device address, control flags, and character bytes. The standard LiquidCrystal_I2C library simplifies this process.
If you need to integrate any or input peripherals alongside the display. Share public link jhd2x16i2c proteus exclusive
Locate the temporary file directory path in the output console at the bottom and copy the path to the compiled file. 6. Running and Debugging the Simulation
Load the compiled HEX file into your microcontroller in Proteus, then click the Play button. If everything is configured correctly, you should see "Hello, World!" appear on the LCD within a fraction of a second. If not, proceed to the troubleshooting section below.
The model is an indispensable tool for modern embedded design. By utilizing this library, you can significantly reduce development time, troubleshoot I2C communication issues virtually, and ensure your hardware design works before you ever pick up a soldering iron. In Proteus, you must construct this device by
LCD_send_byte(0x28, 0); // 2 lines, 5x8 font LCD_send_byte(0x0C, 0); // Display ON, cursor OFF LCD_send_byte(0x06, 0); // Entry mode: increment LCD_send_byte(0x01, 0); // Clear display delay_ms(2);
The Proteus JHD-2X16-I2C model expects address by default. The DVCADDR=$7C property explicitly defines this. Your microcontroller code must be adjusted to communicate with this address, or you must change the component's property to match your code.
If the exclusive JHD component isn't available, simulate the interface by placing a PCF8574 I/O expander between your microcontroller and a standard LM016L LCD. 3. Step-by-Step Circuit Setup If you need to integrate any or input
Proteus includes an interactive tool. Drop this tool onto your schematic window and wire its SCL and SDA pins directly to your communication lines. Run the simulation to view a real-time log of data packets, NACK/ACK errors, and address requests sent by the processor. Verify Operating Frequency
If you're diving into I2C displays, you'll need the right libraries to make it all work. You can download the necessary library here to get started. For your next project,
| 属性 | 值 | 含义 | |------|-----|------| | | LCDALPHA | 调用Proteus内置的字母数字LCD仿真模型 | | PRIMITIVE | DIGITAL,I2C | 同时具备数字电路和I2C总线的物理特性 | | NUMCOLS | 16 | 字符列数(每行16个字符) | | NUMROWS | 2 | 字符行数(共2行) | | CLOCK | 100kHz | I2C总线时钟频率 | | ROW1 | 80-8F | 第一行显示内存的起始地址和结束地址(16进制) | | ROW2 | C0-CF | 第二行显示内存的地址范围 | | DVCADDR | $7C(即0x7C) | I2C器件地址(7位,十六进制7C) | | TRACE | 1 | 开启仿真跟踪功能 |
Standard Arduino libraries like LiquidCrystal_I2C often fail with the JHD2X16I2C due to internal wiring differences in the backpack.