Microcontroller System Design


EE 347


Spring 2007

Announcements:

1. Change of plans. The exam originally scheduled for Friday, March 30th has been postponed. The most likely date for this exam is now Friday, the 13th of April. We will also change the reading assignment for Wednesday, so please read Chapter 5, through Section 5.6 prior to class on Wednesday March 18th.


Instructor Dr. Robert S. Fourney
Email Robert.Fourney@ieee.org
Phone Office: 688-4016 (home number handed out in class)
Office 215 Harding Hall
Class Time MWF 9:00-9:50
Class Location Crothers Engineering Hall, room 351
Office hours TBD
Text MC68HC11:An Introduction, Software and Hardware Interfacing, 2nd Ed. by Han-Way Huang, published by Delmar Thompson Learning

The text will be supplemented with additional reference materials which will be linked from this page and/or handed out in class as they are assigned.



Prerequisites
EE 245 and either CSc 218 or CSc 250
Corequisites
EE 347L -- Microcontroller System Design Lab
Course Description
This course serves as an introduction to microcontrollers, using the MC68HC11 as an example.
Course Work

Unless otherwise specified, all work that you submit in this course must be your own; unauthorized collaboration is considered academic dishonesty. Please save us both a lot of trouble by realizing that I will pursue any such transgressions to the fullest extent possible.

As a rule, late assigments are not generally accepted (e.g., attempting to hand in an assigment after the start of class on the due date will result in a grade of 0 for that assignment).

Late assignments will only be accepted under exceptional circumstances AND with prior arrangement. A penalty may apply.

Grading Policy
 Final grades will be determined via the following breakdown:

 
Exam #1 20%
Exam #2 20%
Homework and Quizzes 10%
Class Participation (and quizzes) 5%
Design Lab Practical(s) 10%
Lab Project and PDR 15%
Comprehensive Final Exam 20%

Your class participation grade will be determined by your on time attendance to class as well as your participation in classroom discussions. Pop quizzes, when given, will cover material previously covered in class, previous homework assignments, and/or simple questions on the current days reading assignment.
 

Please read Making the Grade by Kurt Wiesenfeld and keep his views (which I share) in mind when deciding how much effort to invest in your coursework.

Schedule of Upcoming Classes
No. Date Topic, Reading, and Assignment
1 Jan 17 Introduction

Discuss Syllabus

Read Chapter 1

Homework # 1 assigned.

2 Jan 19 CPU Registers, machine code, source code, assembly vs higher level language

We covered through Section 1.5

Look at textbook problems E1.1-1.9 and Read section 1.6 again prior to Wednesday's lecture

3 Jan 22 Addressing Modes Section 1.6
4 Jan 24 Sample instructions, hand assembly and dis-assembly using opcode maps in reference guide (not the table in your textbook)
Through Section 1.8.1

Homework # 2 assigned. Due on Friday, Jan 26

5 Jan 26 Bring your textbook to class today

program tracing, cycle-by-cycle analysis, assembler directives, and flowcharts.

Chapter 2 through section 2.5
re-read example 2.10

Homework # 3 assigned for Monday.

Homework 2 due today, at start of class

6 Jan 29 Arithmetic, multiple precision addition and subtraction, outline of double precision multiplication, perhaps we'll have time for a Sim68 demo and discussion

Chapter 2 through section 2.7 (except 2.6.5 and FDIV) (so skip top of page 60 to start of 2.7

Homework # 4 assigned.

Note submission instructions!

7 Jan 31 relative addressing and the BRA instruction (branching), conditional branching (based on the CCR)
Sections 1.6.6 and 2.7-2.9
8 Feb 2 Introduce the stack, and the push and pull operations.
Discuss modular programming, subroutines, storage of the return address, and parameter passing.
Chapter 3 through 3.3

Homework # 5 assigned.

Note submission instructions!

9 Feb 5
Subroutine calls, parameter passing, reentrant and recursive subroutines, examples, "Well behaved" subroutines. Sim68 demo/discussion
10 Feb 7 Chapter 6: Interrupts (maskability, priority, "stacking registers") and Resets

Homework #6 assigned, due Wednesday.

11 Feb 9 Finish with Chapter 6: Interrupts and Resets (Buffalo Monitor JMP table, local and global enables and masks, various types of interrupts).

Homework #8 assigned, due before lab on Thursday, and
Homework #7 assigned, due Friday.

12 Feb 12 Parallel I/O: Brute Force, Strobed, and handshaking. general discussion (Read sections 7.4-7.7 and skim 7.7-7.11 for project hints)
Feb 12 Optional Evening Review at 8 pm in CEH 351. Bring Questions. This is Q&A and discussion, I do not intend to lecture.
13 Feb 14 Exam # 1
14 Feb 16 Parallel I/O on the MC68HC11 Prior to class you should read sections 7.4-7.7 and skim 7.7-7.11 for project ideas

Read 7.12 for next time

Homework #9 assigned, due Friday, Feb 23 (but you will have other assignments and labs due before then)

Feb 19 No Class -- President's Day Holiday
15 Feb 21 Output handshaking, Centronics printer example. Section 7.12

Homework # 10 assigned for Monday.

16 Feb 23 Centronics Printer example with the 68HC11 as the interface chip.

Begin to discuss the the built in analog-to-digital (A2D) subsystem, (Chapter 11, skim through 11.4, read 11.5-11.9, and browse 11.10-11.12 for project hints and ideas.)

17 Feb 26 Discuss the Pulse Accumulator Subsystem (Section 8.10)
18 Feb 28 Discuss on chip EEPROM. This is not covered in your textbook and there is no reading assignment prior to class.

Homework # 12 assigned for Wednesday, March 14th.

Mar 2 Classes Cancelled due to Snowy Weather
Mar 5 No Class -- Spring Break
Mar 7 No Class -- Spring Break
Mar 9 No Class -- Spring Break
19 Mar 12 Meet in Lab (HH 319). For some hands-on experience with the EEPROM on our 68HC11.

You might want to take a look at these two programs.

20 Mar 14 Meet in Lab (HH 319). Continue w/ the EEPROM, demonstrate Homework # 12 which was due today

Continue with this programs.

21 Mar 16 Meet in Lab (HH 319). Continue w/ the EEPROM, demonstrate Homework # 12 which was due Wednesday

Continue with this programs.

22 Mar 19 Meet in Crothers 351 to discuss the timer subsystems. This lecture will cover most of Chapter 8.
25 Mar 21 Timer Functions (Free running main timer, TIC/TOC functions, Real time interrupts (Chapter 8-8.9)
26 Mar 23 Asynchronous serial communication (Chapter 9-9.3).

Homework 14 assigned, Due Monday

27 Mar 26 Asynchronous Serial Communication, details on MC68HC11 subsystem.

Baud-rate mismatch homework due

28 Mar 28 Memory Decoding Please read Chapter 5 through Section 5.6. Much of this is review, but some of it is new. Make sure you read Section 5.6.2 and the associated examples prior to class.

You may resubmit Homework 14 prior class on Monday, April 2

Homework 15 Assigned, now due Wednesday April 4th

Homework 16 Assigned, still due Monday, April 2nd

Mar 28 Review Session Cancelled
Mar 30 Class Cancelled IEEE Industry Tour
29 Apr 2 Wrap up SCI subsystem.
Decide on Schedule for Lab Practical

Last chance to submit Homework 14
Homework 16 due

30 Apr 4 Homework 15 due
Apr 6 No Class -- Easter Recess
Apr 9 No Class -- Easter Recess
31 Apr 11 Synchronous serial communication and the SPI subsystem
Apr 11 Optional Afternoon Review Session in Crothers 221A I've got the room from 3-4 pm

This is not a lecture, bring questions.

32 Apr 13 Second Exam
33 Apr 16 Synchronous serial communication and the SPI subsystem on the 68HC11
Chapter 10 through 10.5
34 Apr 18 Discuss Timing and interfacing memory to MCU (Section 5.7)

Homework # 17 and assigned for Monday

35 Apr 20 More on timing and interfacing memory to MCU (Section 5.7)
36 Apr 23 Discuss Exam

Homework # 18 and # 19 assigned for Wednesday

Homework 17 Due

37 Apr 25 Discuss selecting a micro controller for your own projects. Also please read this EDN article: Putting the Squeeze on 16 bit microprocessors

Homework # 20 assigned for Monday

Homework 18 and 19 Due

Apr 27 Class cancelled so that we can all attend the Engineering Expo
. . . . . . . . .
May 8 Final exam -- 9 am -- Crothers 351 (Tuesday, May 8th)