A course in the design of microcomputer systems for hardware engineers which includes the following topics: use of uncommitted logic arrays in instruction set design; hardware support for operating systems and programming languages; customizing microcomputers for specific execution environments; and control of concurrency.
EE 581 and EE 583, or consent of instructor. Engineering standing.
Students need a basic ability to program in a high-level programming language such as C, C++, or Java. Knowledge of digital logic is assumed.
EE 587 is a 'hands-on' course where we will use the latest microcontrollers to implement embedded systems. Lectures will cover the theory behind microcontroller architecture, programming, and interfacing and lab projects will back up that theory with actual implementations using microcontrollers. Students will be expected to spend a considerable amount of time outside of lecture, in the lab (or elsewhere) experimenting with a microcontroller development board and building an embedded system.
Students are evaluated on their work (homeworks, programs, exams). Students receive back their homework, programs, and exams. These papers are marked to indicate problems and they point out correct or better solutions. Problems that turn out to be especially difficult are discussed in class during lectures or during recitations.
Students who fulfill the requirements for this course will have demonstrated:
The 8051 Microcontroller and Embedded Systems,
M. A. Mazidi, J. G.
Mazidi, Prentice Hall, 2000 (ISBN: 0-13-861022-3).