The page uses Browser Access Keys to help with keyboard navigation. Click to learn moreSkip to Navigation

Different browsers use different keystrokes to activate accesskey shortcuts. Please reference the following list to use access keys on your system.

Alt and the accesskey, for Internet Explorer on Windows
Shift and Alt and the accesskey, for Firefox on Windows
Shift and Esc and the accesskey, for Windows or Mac
Ctrl and the accesskey, for the following browsers on a Mac: Internet Explorer 5.2, Safari 1.2, Firefox, Mozilla, Netscape 6+.

We use the following access keys on our gateway

n Skip to Navigation
k Accesskeys description
h Help
    Milwaukee School of Engineering
  Oct 19, 2017
2017-2018 Undergraduate Academic Catalog
[Add to Portfolio]

EE 1910 - Introduction to Embedded Systems Programming

3 lecture hours 2 lab hours 4 credits
Course Description
This course introduces concepts that are required to solve engineering problems using embedded systems. Students will develop a working knowledge of structured programming, basic microcontroller architecture and terminology, and the tools used in developing and designing embedded systems. In addition to implementing lecture topics, laboratory sessions include practical considerations for physical interfacing of basic analog and digital electronic devices. A course project emphasizes the interaction between physical processes, peripherals, and the computation/control capabilities of the microcontroller. A high-level programming language is used and all programs are executed on an embedded system. (prereq: MA 125 )
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Design and document algorithmic solutions for engineering problems
  • Understand variables, expressions, and operations in C
  • Use structured programming techniques in C
  • Design and write functions in C
  • Design and write embedded systems software to solve engineering problems
  • Use various subsystems of a microcontroller in practical applications
  • Use datasheets in support of device interfacing and software development
  • Understand concepts and terminology related to microcontroller architecture
  • Use embedded systems tools for software development and debugging
  • Recognize and employ good software practices as they relate to embedded systems

Prerequisites by Topic
  • College Algebra I

Course Topics
  • Introduction to the course (1 class)
  • Problem solving, algorithm, flow-chart, and pseudo-code development (2 classes)
  • Number systems and data types (2 classes)
  • Variables, expressions, and operators (5 classes)
  • Control constructs, and looping techniques (4 classes)
  • User-defined functions, parameters, returns, and function prototypes (2 classes)
  • Subscripted variables, arrays (3 classes)
  • Pointers and function parameter passing by pointers (2 classes)
  • Basic microcontroller architecture, subsystems, and memories (2 class)
  • Tool chain and device programming (1 class)
  • Software libraries, header files, and coding conventions (1 class)
  • State machines (2 classes)
  • Examinations (3 classes)

Laboratory Topics
  • Introduction to IDE and embedded hardware platform (1 session)
  • Data types, serial console (1 session)
  • Blinking/Fading LEDs (1 session)
  • Digital I/O (2 sessions)
  • Analog I/O (2 sessions)
  • Design Project (2 sessions)
  • Interfacing considerations, debugging techniques, professional software practices, and use of datasheets (distributed)

Sheila Ross

[Add to Portfolio]