The 8051 is an eight bit microprocessor. It has 4k of program memory and 128 bytes of data memory on chip which is expandible to 64k.
The 8237A is a fully programmable DMA controller. It provides single tranfer, block transfer, demand trasnfer, and cascade modes. The DMA controller also offers fixed and rotating priority.
The 8255A is general purpose programmable I/O device which is designed for use with all Intel microprocessors and most other microprocessors. It provides 8-bit ports which can be programmed as inputs or outputs through its 8-bit CPU interface. The inputs and outputs can be read or written directly or they can be strobed by external handshaking and interrupt signals.
The PC16550 is a Universal Asynchronous Receiver Transmitter device that is commonly found in the IBM PC computers. The baud rate, modem control, and communication protocols can be programmed by reading/writing 8 internal registers.