Microprocessors and interfacing : programming and hardware - Hall, Douglas V.