Microprocessor and microcontroller organization; assembly language and programming techniques, bus and memory organization, timing issues, interrupts, peripheral devices, serial and parallel communication, timing analysis; and interfacing to analog and digital systems.