Microcontroller System Design


EE 347


Fall 2004

Announcements:

1. 1. Dr. Fourney's schedule for finals week.


Instructor Dr. Robert S. Fourney
Email Robert.Fourney@sdstate.edu
Phone 688-4016
Office 215 Harding Hall
Class Time MWF 8:00-8:50
Class Location Crothers Engineering Hall, room 351
Office hours MWF 10-11, Tu 12-1, Th 12:30- 1:30
Please do not disturb MWF 7-8 or 11-12
Other times by available by appointment
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 (formerly known as EE 345)
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 30%
Homework and Quizzes 10%
Class Participation (and quizzes) 5%
Design Lab Practical 10%
Lab Project 20%
Comprehensive Final Exam 25%

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 Sep 1 Introduction

Discuss Syllabus

Read Chapter 1

Homework # 1 assigned.

Not required reading, but since we were just talking about Moore's Law (defined: [Intel], [Wikipedia]) here's a link to the current state of the art.

2 Sep 3 CPU Registers, machine code, source code, assembly vs higher level language

Through Section 1.5

Sep 6 No Class -- Labor Day
3 Sep 8 Addressing Modes
4 Sep 10 Sample instructions, hand assembly, program tracing

Homework # 2 assigned. Due on Wednesday, September 15

5 Sep 13 Cycle-by-Cycle analysis, dis-assembly using opcode maps, flowcharts
Thru section 2.5, subject to caveats discussed in class

For next time, read 2.6, except 2.6.5, thru the bottom of page 59

6 Sep 15 Arithmetic -- Covered through section 2.6 in Huang
Look at example 2.10 on page 58-59 for next time

Homework # 2 due before class

Homework # 3 assigned. Due on Wednesday, September 22

7 Sep 17 Relative addressing, Branching, loops, and more on the CCR
Sections 1.6.6 and 2.7-2.9
8 Sep 20 Bubble-sort example, shift and rotate instructions.
Through section 2.9, skipping (for now) 2.7.5. Skim 2.10, concentrating on the parts that are relevant to the axiom Eval boards.
9 Sep 22 The stack (Sections 3-3.3) and subroutine calls (Sections 3.6-3.8)

Read these (Chapter 3) sections before class.

Homework # 4 assigned. Due Monday before class.

Homework 3 due, before class

10 Sep 24 Parameter passing, result returning, and local variables in sub-routines. Sim68 demo
11 Sep 27 Creating a "hole" in the stack. "Well behaved" subroutines. More Sim68, and and intro to interrupts.

Homework # 5 assigned. Due Wednesday before class.

Homework 4 due, before class, part by email, part hardcopy in class

12 Sep 29 Recursive subroutines. Homework and lab discussion. Interrups.

Homework # 6 assigned. Revised due date: Tuesday before 8:00 am.

13 Oct 1 More on Interrupts and Resets. Discuss memory map, modes of operation, and memory decoding.
14 Oct 4 More on Interrupts and Resets. (Chapter 6)
Discuss memory map, modes of operation, and memory types (Chapter 5)
15 Oct 6 Memory timing requirements: set-up and hold times
Memory decoding. (Chapter 5)

Start reading Section 5.7 for next time

16 Oct 8 Timing Diagrams, general conventions
Read Section all of Section 5.7 for next class
Oct 11 No Class -- Native American Day
17 Oct 13 MC 68HC11 Bus Timing Diagrams. Memory timing diagrams.
Interfacing memory to the MC 68HC11

Homework # 7 assigned. Revised due date: Monday, 10/25.

18 Oct 15 Began talking about I/O

Deadline for Homework 7 postponed, but

Homework # 6.5 assigned. This homework is due Monday before class

19 Oct 18 Parallel I/O, brute force and strobed I/O

Homework 6.5 due before class

20 Oct 20 Handshaking and the PIOC
Oct 20 Optional Evening Review Session
5:00 pm in Crothers 351
21 Oct 22 First Exam
22 Oct 25 Discuss First Exam

Homework # 8 assigned to those who did poorly on certain sections of the exam. Due Wednesday

Homework 7 due before class

23 Oct 27 Discuss timing analysis, subroutine, and decoder homeworks

Homework # 9 assigned.

Homework 8 Due (for some) before class

24 Oct 29 Discuss timing analysis, subroutine, and decoder homeworks
Handshaking example--interfacing a printer to the 68HC11

Homework 9 due before class

Read section 7.12 before class

Homework # 10 assigned, due Wednesday, 11/03

25 Nov 1 Serial Communication basics, RS-232
26 Nov 3 Asynchronous Serial Communication Subsystem on the 68HC11basics, RS-232
27 Nov 5 SCI registers, sample programs (polling)
28 Nov 8 More on BAUD register. Clock error (tolerance of) Loopback tester circuit and program

Preliminary Design Document due

Homework # 11 assigned, due Friday, Nov 12.

Nov 16 Last Day to Drop with a W
Nov 26 No Class -- Day after Thanksgiving
36 Nov 29 Which Microcontroller should I use?

PAI/EEPROM Homework re-assigned.
Hard and soft-copies due Wednesday, Dec 1. (in HH 319)

37 Dec 1 Meet in Harding 319 Programming On-chip EEPROM (under software control)
38 Dec 3 Meet in Harding 319
Using on-board (off-chip) flash and on-chip EEPROM to run programs. Running w/out Buffalo Monitor.
39 Dec 6 Meet in Harding 319
(More) on using on-board (off-chip) flash and on-chip EEPROM to run programs. Running w/out Buffalo Monitor, (resetting directly to your program, etc) using a simple light flashing program.
40 Dec 8 Meet in Harding 319
Communicating with another board in stand-alone mode. I meant for you to use parallel (port C), but the groups that were farther along selected the SCI interface.

HomeworkBring a soft copy of a program to receive characters over the SCI subsystem and put them out to your LCD display. Use the default power-up parameters wherever possible. You probably ought to put out a few (10, 16, whatever) then stop so that we can read them and make sure you're getting the characters being sent.

41 Dec 10 Last Class (Still meeting in HH 319)
Final Project Report Due . If you do not bring it to class, you must arrange to put it in my hands by the time I go home on Friday.
Dec 15 Optional Review Session at 5 PM in CEH 358
Dec 17 Final exam -- 9 am -- Crothers 351 (Friday, December 17)