|
Dec 21, 2024
|
|
|
|
CE 2801 - Embedded Systems I3 lecture hours 2 lab hours 4 credits Course Description This course presents a typical embedded microcontroller and assembly language programming as an efficient and direct means of programmatically controlling an embedded system. 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: CS 1011 or SE 1011 or experience with a procedural programming language) (coreq: CE 1901 or CE 1900) Course Learning Outcomes Upon successful completion of this course, the student will be able to:
- Recognize the role of assembly language programming
- State the programmer’s model of a typical embedded processor
- 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
- Understand the concept and usage of interrupts
- Given proper documentation, be able to configure and use common microcontroller subsystems such as timers, UART, ADC
Prerequisites by Topic
- Structured programming techniques such as selection, iteration, and variables
- Procedural programming fundamentals including functions with arguments
Course Topics
- Introduction to microcomputer/microcontroller structure from a programmer’s perspective
- Programmer’s model of the microcontroller
- Addressing modes and memory types
- Tool usage (assembler, downloader, simulator, debugger)
- Microcontroller instruction set
- Assembly language program structure, including comparisons to high-level languages
- I/O port configuration and usage
- Timer subsystem
- A/D conversion
- Interrupts, including their use related to the timer and external sources such as pushbuttons
- Asynchronous serial communication (UART subsystem)
- Tests and review
Laboratory Topics
- Tools familiarization: assemble, download, run, and simulate a program given to the student
- The first student-written program: assemble, download, run, and simulate a program written by the student
- Simple I/O program, Button I/O
- Bit banging the LCD display
- Keyboard scanning program
- Timing subsystem program
- A/D program
- Interrupt-driven program
- UART serial communication program
Coordinator Darrin Rothe
Add to Portfolio (opens a new window)
|
|