Microcontroller System Design


EE 347


Spring 20004



Announcement

Revealed at the review


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 Monday 2-4 pm
Wednesday 10-11 am
Friday 9-11 am
Text MC68HC11:An Introduction, Software and Hardware Interfacing, 2nd Ed. by Han-Way Huang, published by Delmar Thompson Learning

The text may also 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 345
Corequisites
EE 348 -- 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 25%
Exam #2 25%
Homework and Quizzes 15%
Class Participation 5%
Comprehensive Final Exam 30%

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 9 Introduction

Read Chapter 1

Homework # 1 assigned. Due at 1:00 pm on Tuesday January 13th

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

Through Section 1.5

Homework # 2 assigned. Due before class on Wednesday, January 21st

3 Jan 14 68HC11 Addressing Modes, and a sample of instructions

Section 1.6 through 1.8

4 Jan 16 Manual assembly, disassembly, use of op code map in Reference Guide
. Jan 19 No Class: Martin Luther King, Jr. Day Holiday
5 Jan 21 Program Traces (aka "execution history") and cycle-by-cycle operation

Homework # 3 assigned.

Homework 2 due before class, on table in front of room

6 Jan 23 Examples of program tracing and cycle-by-cycle operation
as11 and Sim68 demo
Intro to flowcharts, and the Carry/Borrow flag
7 Jan 26 Examples of C flag for multiprecision addition and subtraction
multiplication and division
double precision multiplication

Please read section 2.6 prior to class. You may skip section 2.6.5, but pay particular attention to the part on double precision multiplication and example 2.10. This is an important concept, and you will have a lab exercise that builds on these ideas. Since this concept gives many students difficulty I would prefer that you read these sections before class on Monday. Recall that quizzes can sometimes be based on the reading assignment...

Homework # 4 assigned.

Homework 3 due before class, on table in front of room

8 Jan 28 Condition Code Register (CCR), Branching, Increment, decrement, compare instructions.

Read through section 2.7.4

9 Jan 30 Arithmetic shift, logical shift, and rotate instructions
E-clock period, NOP instruction, timing, and delay loops

Skipping section 2.7.5, Complete sections 2.7.6-2.9

10 Feb 2 Introduction to the stack. Use of the SP. Stack overflow and underflow.
INS, DES, TSX, TXS, TYS, and TSY instructions

Read Sections 3.1-3.3, skip 3.4 and 3.5.

Homework # 5 assigned.

Homework 4 due before class, on table in front of room

11 Feb 4 Subroutine call and return. Parameter passing, result returning, and allocating space for local variables.

Read sections 3.6-3.10

12 Feb 6 Stack manipulation when returning results on stack
13 Feb 9 Homework 5 due
14 Feb 11 Review accessing matrix/array elements (will not be on test)
Went over homework 5 (will be on test)

Homework 6 assigned. This is a chance to redeem yourself on the trace, cycle-by-cycle, and Sim68 portions of homework 5. If you did it all by the original the due date, you get a 10/10 on HW 6 without handing anything else in. If not, do Homework 6 by 1:00 on Thursday, Feb 12. (Note that you will get an additional 0 if you fail to hand it in a second time)

. Feb 11 Optional help session at 7:00 pm in CEH 351.

Bring questions, this is not a lecture.

15 Feb 13 Exam # 1
. Feb 16 No Class (President's Day)
16 Feb 18 Go over Exam, Memory Technology (Chapter 5 thru 5.4)

Homework 7 assigned, due on Monday February 23

17 Feb 20 Memory Address Decoding, section 5.6
18 Feb 23 Bus Cycles and timing analysis, Section 5.7
19 Feb 25 More on Bus Cycles and timing analysis, examples pertaining to Section 5.7

Homework 7 Due

Homework 8 assigned due on Monday March 1st

20 Feb 27 Discuss Homework 7 solutions
Finish Bus Cycles and timing analysis examples, still in Section 5.7
21 Mar 1 Interrupts and Resets -- Chapter 6

Homework 8 due-date postponed

Homework 9 assigned Due on Monday, March 15th

22 Mar 3 Continue with Interrupts and Resets -- Chapter 6

Homework 8 due

23 Mar 5 Discuss Timing Analysis Homework (Chapter 5), and conclude with Interrupts and Resets (Chapter 6)
. Mar 8 No Class -- Spring Break
. Mar 10 No Class -- Spring Break
. Mar 12 No Class -- Spring Break
24 Mar 15 Parallel I/O Concepts -- Chapter 7

Homework 10 assigned Due Monday, March 22.

Homework 9 Due before Class

25 Mar 17 General concept of brute force, strobed, and handshaked (hand shaken?) Parallel I/O, as well as brute force I/O on the MC68HC11 -- Chapter 7
26 Mar 19 Introduction to PIOC for strobed and handshake Parallel I/O on the MC68HC11 -- Chapter 7
27 Mar 22 Details and examples of Strobed and handshake Parallel I/O on the MC68HC11 -- Chapter 7

Homework 10 Due

28 Mar 23 More I/O -- exact topic TBA
. Mar 23 Optional evening review session at 6:00 pm on Crothers 351.
Bring questions, this is not meant to be a lecture
29 Mar 26 Second Exam.
30 Mar 29 Discuss Second Exam
31 Mar 31 Parallel I/O. Centronics printer interface

Homework 11 assigned Due on Monday, April 5

32 Apr 2 Asynchronous Serial Communication basics
33 Apr 5 RS-232 and introductin to MC68HC11 SCI system Homework 11 Due
34 Apr 7 Use of SCI registers (SCDR, SCCR 1 & 2, BAUD, SCSR)

Homework 12 assigned, Due Friday, 4/16

. Apr 9 No Class (Easter Recess)
. Apr 12 No Class (Easter Recess)
35 Apr 14 Finish SCI (asynchronous serial) interface subsytem.
36 Apr 16 Begin SPI (synchronous serial) subsystem
37 Apr 19 Bus timing quiz and discussion
38 Apr 21 Wrap up SPI subsystem
39 Apr 23 Chapter 8--Timer Functions
40 Apr 26 Analog-to-Digital converter

Background in Chapter 11-11.5
Focus on Sections 11.6-11.9

41 Apr 28 On-chip EEPROM. (reference material to be provided)
42 Apr 30 Selecting the "best" microcontroller for your project
(Senior Design or real life)
May 4 Optional Review session, at 6 pm in Crothers 351. Please bring questions.
. May 5 Final exam -- 9 am -- Crothers 351 (Wednesday, May 5)