A high-speed programmable serial port having a finite state machine, a
clock generator capable of controlling shifting of bits from a shift
register and a shift register having a bit counter capable of maintaining
a numbered count of data bits in a serial output. The clock generator and
shift register reduce the burdens on a finite state machine, thus
improving data throughput and the ability to provided data according to a
multitude of data protocols.