This course teaches students how to employ microcontrollers in the design of an embedded system. Cadets first review basic microcontroller organization and system requirements. The detailed study of common microcontroller peripheral devices follows with emphasis on their application to real-time control design. Cadets practice top-down design of both hardware and software components of moderately complex digital systems throughout the semester. Cadets are exposed to addressing, serial and parallel input and output, timing, interrupts, A-to-D and D-to-A conversion, and will develop system software using both assembly and C programming languages.