Microprocessor and Interfacing: Programming and Hardware - Douglas V. Hall (McGraw Hill, 1992)