LCD Module Control over IR Link using PIC16F690

Recently I got my hands on a couple of HSDL-1100 based IR transceivers and a KS070B LCD display module. This was a nice opportunity to experiment with three things: (1) controlling an LCD module, (2) serial communication between two PIC microcontrollers, and (3) making this work over an IR link.

LCD Module

Serial protocol supports addressing of up to 32 devices over shared media (IR or direct connection) and have basic error detection (2 inverse parity bits). Packets consist of 16 bits, as given below:

  • P0 – inverse parity of all even numbered bits [2-14]
  • P1 – inverse parity of all odd numbered bits [3-15]
  • Device ID – ID of the target device; LCD responds to ID 00001
  • C/D – Code or Data; if “1”, following byte contains command (for example, LCD “CLEAR SCREEN” command); if “0”, following byte contains data (in case of the LCD this would be code of a character to be displayed).

Data is encoded as a sequence of short pulses. The beginning of a data packet is shown below:


For more detail: LCD Module Control over IR Link using PIC16F690