Digital and Microprocessor Fundamentals, Theory and Applications