![](https://csdnimg.cn/release/download_crawler_static/9643820/bg14.jpg)
techniques and limited hardware exposure. Most embedded software is written in C for portability
and complexity reasons, which argues favorably for reduced emphasis on assembly language and
increased emphasis on C. Embedded system hardware complexity is steadily increasing, which
means a first course in μC/μP that reduces assembly language coverage (but does not eliminate it)
in favor of hands-on experience with fundamental interfacing allows students to begin at a higher
level in an advanced course in embedded systems, the approach chosen for this textbook.
Hardware interface topics included in this book cover the fundamentals (parallel IO, serial IO,
interrupts, timers, analog-to-digital conversion, digital-to-analog conversion) using devices that do
not require extensive circuits knowledge because of the lack of a circuits course prerequisite. The
microcontroller interfacing topics presented in this textbook are sufficient for providing a skill set
that is extremely useful to a student in a senior design capstone course or in an advanced embed-
ded system course.
Thus, a principal motivation for this book is that microcontroller knowledge has become essential
for successful completion of senior capstone design courses. These capstone courses are receiving
increased emphasis under ABET 2000 guidelines. This places increased pressure on Computer
Engineering and Electrical Engineering programs to include significant exposure to embedded sys-
tems topics as early in the curriculum as possible. A second motivation for this book is that the
ACM/IEEE Computer Engineering model curriculum recommends 17 hours of embedded system
topics as part of the Computer Engineering curriculum core, which is easily satisfied by a course
containing the topics in this book. A third motivating factor is the increased pressure on colleges and
universities to reduce hours in engineering curriculums; this book shows how a single course can
replace separate courses in assembly language programming and basic microprocessor interfacing.
The course sequence used at Mississippi State University that this book fits into is as follows:
I
Basic digital design (Boolean algebra and combinational and sequential logic), which is
required by EE, CPE, CS, and SE majors.
I
Introduction to microprocessors (this book), which is required for EE, CPE, CS, and SE
majors.
I
Computer architecture as represented by the topic coverage of the Hennessy and Patterson
textbook, Computer Organization & Design: The Hardware/Software Interface. This includes
reinforcement of the assembly language programming taught in the microprocessor course
via a general-purpose instruction set architecture (e.g., the MIPS), along with coverage of
traditional high-performance computer architecture topics (pipelined CPU design, cache
strategies, and parallel bus I/O). Required for CPE, CS, and SE majors.
I
Advanced embedded systems covering topics such as real-time operating systems, Internet
appliances, and advanced interfaces such as USB, CAN, Ethernet, and FireWire. Required
for CPE majors.
Using This Book in an Academic Environment xix