Cpr E 211
Microcontrollers & Digital Systems Design
Department of Electrical & Computer Engineering
Iowa State University

Fall 2001

Course Information

Cpr E 211 - Introduction to Microcontrollers

Course Description: Logic families. Documentation standards. Implementation and testing of combinatorial and sequential systems and subsystems.  Introduction to  microcontrollers.  Microprocessor registers, memory, and programmable input/output devices.  Interrupts.  Single chip controllers. Design and testing of software for  microcontrollers.  Hardware/software design tradeoffs and issues. Individual design projects.

Prerequisite: 210, Com S 207 or 227

Textbook: A Programmer's View of Computer Architecture, Goodman & Miller, Oxford University Press, 1993

RCPU Reference Manual, MPC500 Family, Motorola, 1994 (provided)

Website: http://class.ee.iastate.edu/cpre211/

Class Schedule: The class meets three hours every week. The laboratory meets once weekly for two hours.

Meeting Times and Places:

Section 1

TR 9:30-11, Lagomarcino E164
Lab: T 12-2, Coover 1301, Teaching Assistant (TA) - Miller

Section 2

TR 9:30-11, Lagomarcino E164
Lab: R 12-2, Coover 1301, TA - Nadathur

Section 3

TR 9:30-11, Lagomarcino E164
Lab: T 4-6, Coover 1301, TA - Froehlich

Section 6

TR 4-5:30, Beyer 104
Lab: W 4-6, Coover 1301, TA - Froehlich

Section 7

TR 4-5:30, Beyer 104
Lab: W 6-8, Coover 1301, TA - Nadathur

Section 8

TR 4-5:30, Beyer 104
Lab: R 6-8, Coover 1301, TA - Nadathur

Note: All labs are in 1301 Coover.

Instructional Staff:

Instructor

Diane T. Rover, 3227 Coover, 294-7454, drover@iastate.edu
Office Hours: TR 11-12, 3-4 and by appointment

Lab Coordinator

Aaron Striegel, adstrieg@iastate.edu
Office Hours: by appointment

Grader

Sriram Nadathur, sriramgn@iastate.edu
Office Hours: TBD and by appointment

Lab Instructors

Jon Froehlich, jonf@iastate.edu
Office Hours: by appointment

Derek Miller, dlmiller@iastate.edu
Office Hours: by appointment

Sriram Nadathur, sriramgn@iastate.edu
Office Hours: by appointment

 

Course Learning Objectives

General Objectives
  • Enable the student to design software to interact with “real-world” systems
  • Familiarize the student with interfaces between the “real-world” and a digital system
  • Provide the student with information to work effectively in the laboratory
  • Familiarize the student with typical engineering activities
  • Provide students with the interactive skills needed to work in teams
Themes and Specific Objectives: After studying each of the following themes -- and attaining the general objectives -- the student should be able to do the following:
Introduction and Fundamentals
  • define basic terms relating to digital systems
  • organize problems into the basic components
  • design simple interfaces with TTL
Real-World Interfacing
  • identify methods of converting to and from digital levels
  • design simple interfaces
  • calculate the input/output values for A/D and D/A converters
Memory
  • define basic terms relating to memory systems
  • differentiate between different memory systems
Computer Organization
  • define basic terms relating to computer systems
  • differentiate between microcontrollers  and microprocessors
  • demonstrate an understanding of program execution
  • analyze simple programs
Programming
  • define basic terms relating to assembly and C programming
  • demonstrate an ability to manipulate bits in software
  • design programs to control hardware
  • demonstrate an ability to use interrupts & the stack
PowerPC
  • define basic terms relating to the PowerPC
  • demonstrate an ability to program the PowerPC
  • explain how the PowerPC operates
  • demonstrate an ability to use interrupts on the PowerPC
Miscellaneous
  • define basic terms relating computer engineering
  • analyze problems
  • solve the laboratory problems
Interactive Skills
  • Active Listening
  • Stay on Task
  • Paraphrasing
  • Group interaction

By the end of the CprE 211 course, you should be able to:

Be knowledgeable of the PowerPC and how it operates
Be able to program in C and Motorola assembly
Be able to understand how C is converted in assembly
Understand basic concepts of  microcontrollers
Understand basic computing concepts such as interrupts,  ISRs, and I/O subsystems
Do basic hardware and software debugging
Be able to work with and design basic embedded systems

 

Course Plan Summary

WEEK 1

Aug 28

Review of digital logic and introduction to digital system design
  • Text: Chapter 1
  • No Lab
 WEEK 2

Sep 4

  • First Lab: Program development environment
  • Student Management Team
WEEK 3

Sep 11

  • Base Groups
WEEK 4

Sep 18

  •  
 
WEEK 5

Sep 25

  •  
 
WEEK 6

Oct 2

  • Exam 1
  • Reserved for night exam: Wednesday, Oct 3, 6:30-7:30 p.m.
WEEK 7

Oct 9

  •  
 
WEEK 8

Oct 16

  •  
 
WEEK 9

Oct 23

  •  
 
WEEK 10

Oct 30

  • Lab Project
WEEK 11

Nov 6

  • Exam 2
  • Reserved for night exam: Monday, Nov 5, 8-9 p.m.
WEEK 12

Nov 13

(Recess Nov 19-23)

  •  
 
WEEK 13

Nov 27

  • Lab Project
WEEK 14

Dec 4

  • Reserved for night exam: Wednesday, Dec 5, 8-9 p.m.
WEEK 15

Dec 11

  • Lab Final
WEEK 16

Dec 17-21

Finals Week

  • Final Exam
    • 9:30 Lecture: Tuesday, Dec 18, 9:45-11:45 a.m.
    • 4:00 Lecture: Monday, Dec 17, 2:15-4:15 p.m.

 

Weekly Course Plan

WEEK 1 

Aug 28

 

Milestones: 
  1. Students develop an understanding about the course learning objectives
  2. Students learn about course policies and procedures
  3. Revisit digital logic design fundamentals
  4. Motivation for microcontroller system design

 

Assigned Reading: 
  • Text: Chapter 1
Homework: 
  • HW 1
Lab: 
  • No lab meeting
Deliverables: 
  • Survey

 

Policies and Procedures

General

  1. You are required to access the course home page for relevant and timely information throughout the term.
  2. Class attendance is required. If you will be absent, you must notify the instructor by email or phone before the absence for it to be an excused absence. Unexcused absences affect your grade.
  3. The textbook is required.
  4. Be aware of the laboratory policies (refer to the course home page).
  5. Be aware of Dr. Rover's "teaching statement" (refer to the course home page). Take responsibility for your own learning, learn with others and learn by doing, and be active in the course.
  6. A Student Management Team is one means for improving course quality. We will also conduct a couple of surveys during the term to get your feedback on aspects of the course.
  7. Email is an effective way to communicate with the instructor and TAs. 

Overall Goals 

Minimum Requirements 

Grading

  1. Both individual and group work are graded to evaluate your performance in the course. The instructor will grade each individual based on his/her own work. Specific group work that is graded includes the lab project. You are expected to participate fully in informal and formal group work in and out of the classroom. You are allowed to work together on homework and laboratory exercises, but you are not allowed to submit duplicate work unless it is co-authored. Exams must be exclusively your work; cheating will be dealt with per University regulations.
  2. The following grading scheme will be used (* denotes group work):
  1. The following grading scale will be used:

Range (%) Grade
88-100 4.0 
86-87 3.67 
82-85 3.33 
74-81 3.0 
71-73 2.67 
68-70 2.33 
60-67 2.0 
58-59 1.67
54-57 1.33 
49-53 1.0 
46-48 0.67
0-45 0.0 

 

Lab Policies

Lab policies will be distributed separately. Lab grades will be based on prelab reports, laboratory demonstrations, and lab reports, in addition to the lab project.

Integrity of Scholarship and Grades

All students are to adhere to the University's policy relating to integrity of scholarship and grades as presented in the Student Information Handbook.