The Jargon File (version 4.4.7, 29 Dec 2003):
bit bang
n.
Transmission of data on a serial line, when accomplished by rapidly
tweaking a single output bit, in software, at the appropriate times. The
technique is a simple loop with eight OUT and SHIFT instruction pairs for
each byte. Input is more interesting. And full duplex (doing input and
output at the same time) is one way to separate the real hackers from the
wannabees.
Bit bang was used on certain early models of Prime computers, presumably
when UARTs were too expensive, and on archaic Z80 micros with a Zilog PIO
but no SIO. In an interesting instance of the cycle of reincarnation,
this technique returned to use in the early 1990s on some RISC
architectures because it consumes such an infinitesimal part of the
processor that it actually makes sense not to have a UART. Compare cycle
of reincarnation. Nowadays it's used to describe I2C, a serial protocol
for monitoring motherboard hardware.
The Free On-line Dictionary of Computing (30 December 2018):
bit bang
Transmission of data on a serial line accomplished by
rapidly changing a single output bit, in software, at the
appropriate times. The technique is a simple loop with eight
OUT and SHIFT instruction pairs for each byte. Input is more
interesting. And full-duplex (doing input and output at the
same time) is one way to separate the real hackers from the
wannabees.
Bit bang was used on certain early models of Prime
computers, presumably when UARTs were too expensive, and on
archaic Zilog Z80 micros with a Zilog PIO but no SIO. In
an interesting instance of the cycle of reincarnation, this
technique is now (1991) coming back into use on some RISC
architectures because it consumes such an infinitesimal part
of the processor that it actually makes sense not to have a
UART.
[Jargon File]