EE 368 Microprocessors & Systems Interfacing Lab

Spring 2012

Wednesday 2:30 - 5:20 in EEB20

Course Instructor

Dr. Samuel H. Russ

Course Teaching Assistant

TBD

Course Syllabus

Syllabus

Class Schedule (Subject to Change!)

Date Work On / Demonstrate Due *
18-Jan    
25-Jan Experiment 1  
1-Feb Experiment 2 Experiment 1
8-Feb Experiment 3 Experiment 2
15-Feb Experiment 4 Experiment 3
22-Feb Experiment 5 Experiment 4
29-Feb Experiment 6 Experiment 5
7-Mar Experiment 7 Experiment 6
21-Mar Experiment 8 Experiment 7
28-Mar Experiment 9 Experiment 8
4-Apr Experiment 10 Experiment 9
11-Apr Lab Final? Experiment 10
18-Apr    
25-Apr    
2-May    

*The "due date" is the date that the report is due.  The lab should  be demonstrated to the instructor or TA the week before.

Lab Manual, Report Formats, and Group Assignments

Lab Manual (Updated October 2010)

Word Format

PDF Format

Lab Report Format

Word Format

Lab Groups

Group 1 French, John D.  Brown, Gerald E.  Martin, Matthew S.   
Group 2 Ford, Khaleahcia L.  Alalwani, Mohammed A.  Hardison, Sherome D.   
Group 3 Almadhi, Wail  Williams, Gerold W.  Faircloth, Brian M.   
Group 4 Lock, Robert L.  Webster, Jonathan D.  Bordeleau, Joseph C.   
Group 5 Shrestha, Sumit  Kamolzoda, Umed  Bhattarai, Victor M.  Alyami, Hamdan M. 
Group 6 Shapiro, Jonathan H.  Thomas, Nicklaus A.  Sexton, Alex R.  Ha, Tho D. 

Additional Resources

68HC11 Reference Manual

Reference Manual -- All you need to know about the 68HC11!  Warning:  7.5 MByte file!

Buffalo Monitor

List of functions and interrupt vectors -- This shows you the function calls that Buffalo supports and lists the interrupt-vector locations.

Mini-IDE and Wookie

Brief PowerPoint that explains them

Podcast: How to install and use them

ZIP File containing Mini-IDE and Wookie

"Example 1" from the Podcast

Recommended Wookie Settings for EE 368

Assembler asm11.exe
Wookie Mode Rug Warrior Expanded
Starting Address (Wookie and ASM file) $8000*
List File Format MGTEK Assembler

* We use starting address $8000 for experiments that run on the big boards and $0100 for experiments that run on the small Motorola EVB boards.  You will be told in class and in the manual which starting address to use.  The starting address is determined by the memory map of the development board, and is equal to the starting location of usable RAM.

Reminder about MiniIDE:  It is perfectly OK to use the MiniIDE to assemble programs, but remember that its default is to assemble for the 68HC12 processor.  Go to Build -> Options -> Tools and set the assembler to "asm11.exe".  If you do not change the assembler, the code will not run correctly in Wookie or on the EVB boards and you will spend hours trying to figure out why.  (Been there, done that!)

Example:  Lab1A modified to  run in Wookie

Example of a program that turns on interrupts

Example of a batch file to assemble a program using AS11

Tips on running your Buffalo board programs in Wookie:

1.  For every place that you set up to call a Buffalo routine (using an EQU statement), ORG to that location and execute an RTS.  This will cause Wookie to return from the corresponding Buffalo routine and continue execution.

2.  To check your program, set a breakpoint at the RTS location.  This will let you check each time the function is called.  For example, if the function is supposed to output one character, you can make sure that there is a character and it is the correct one.

3.  Wookie lets you assert IRQ and XIRQ interrupts so that you can debug programs that use these interrupts.

4.  There are significant differences between the way that Buffalo handles interrupts and Wookie.  If you are compiling for Wookie, you need to ORG to the native 68HC11 interrupt-vector location and put in the jump-table address that is used by Buffalo.  The instructor can explain this in more detail in class.

Old / Practice Final Exam

Example of a Lab Final