Microprocessors and interfacing: Programming and hardware - Hall, Douglas V (1986)