Here is an app note with source code describing how to implement a full-duplex software UART interface on LPC111x and LPC13xx microcontrollers.
However, some applications require more UARTs than are available on the device. While the addition of an external stand-alone UART IC could be used in some of these situations, software based UARTs result in reduced BOM costs and take up no additional space on the PCB. This allows designers to meet their ever increasing miniaturization requirements and ever decreasing cost targets. This application note describes one possible implementation of the full-duplex software UART