Microprocessors and Interfacing: programming and hardware. 2nd Rev Ed. - Hall, Douglas V (Tata McGraw-Hill publishing company limited, 2006)