CE2800 -- Embedded Systems Software I

This course presents assembly language programming as the bridge between hardware and high-level programming languages. Topics covered include the addressing modes, register file, and instruction set of a microcontroller; subsystems such as timers and analog to digital conversion; and interrupts. Software control of hardware is stressed. In the laboratory, students design software to demonstrate proficiency in these areas. (prereq: CE-1900 and SE-1010) (3-3-4)

Outcomes

On successful completion of this course, the student will:

  • recognize the role of assembly language programming
  • state the programmer's model of a typical embedded processor (ATmega32)
  • break down the instruction set of a typical embedded processor, recognizing load/store, arithmetic, conditional branch, and unconditional branch instructions
  • construct assembly language programs by using and reusing subroutines
  • apply memory addressing and various addressing modes
  • employ hardware interrupts

The above course description and goals were taken from the official course description.

General Course Policies

Please review the general course policies webpage.

Materials

ATmega32 Development Board purchased through the MSOE Technical Support Center.

Quizzes

Quizzes will be given nearly every week at the beginning of lab. The lowest quiz score will be dropped. No make-up quizzes will be given.

Laboratory

Unless stated otherwise, all laboratory assignments will be completed individually. All Lab assignments are worth 100 points per week (i.e., a two week lab assignment is worth 200 points).

My Schedule

[an error occurred while processing this directive]

Grading

Lab projects: 25%
Quizzes: 20%
Exam I and II: 30%
Final exam: 25%
Total: 100%
  • © 2001-2015 Dr. Christopher C. Taylor •
  • Office: L-343 •
  • Phone: 277-7339 •
  • npǝ˙ǝosɯ@ɹolʎɐʇ