EECE-218 Lab Information

Lab Descriptions

There are ten scheduled labs, which are structured and mandatory. The plan for these structured labs is as follows. Please, follow the appropriate link to go for a full description of the lab contents and write-ups:

  1. Introduction to Micro-computing
  2. Cross compiling on a Host System
  3. The WOOKIE Simulator
  4. Some Math Operations
  5. Floating Point Library
  6. Parallel I/O: Lights and 7-segment Display
  7. A Programmable Function Generator
  8. The MC68HC11 Timer
  9. Asynchronous Serial Communication
  10. System Debugging

 

Download Software

- Assembler asm11d84.zip

- Wookie simulator wookie171.zip

- Floating point library  fp01.asm

- Buffalo monitor AxIDE2.zip

Lab Guidelines

Equipment

  • HC11 Axiom Development Kit
    Always replace the development board  into its case. These kits should be stored in the back room when the lab is complete.

  • Computers
    Each computer has a EE218 directory where the assemblers, compilers and terminal software is located. (See the Software section below to download these programs.) There is also a TEMP directory where you should copy your programs to/from for lab. Always copy your working programs off these computers at the end of lab. None of these computers are accessible via network so bring in your programs on a 3.5" disk.

  • Lab Components
    Any power supplies, oscilloscopes, connectors, etc. should be documented for your lab report and stored at the end of lab.

  • Report any equipment failure to the TA.

Lab Work

Most labs have an even number of people so all work should be performed with at least one lab partner. Work should be divided between the two partners. Each student should submit a lab report. Final program listings should be included in each report with each student's pre-lab program listings included in their report.

Software

We have the programs used in lab available as an exe file. Click here to download the file with these programs. The files are:

  • AsmIDE.exe: IDE for the cross assembler

  • as11.exe: freeware HC11 assembly compiler

  • As11.txt: Reference manual for the assembler

  • GNU_C_68HC11:GNU C cross-compiler

  • EGnu08b: IDE for the GNU C cross-compiler

  • Wookie.exe: Wookie simulator

  • the6811wookie.pdf: accompanying simulator documentation

You will also need need the HC11 floating-point library. You can download it from the link below:

You should use as11 to assemble your programs.

Cleanup

At the end of each lab, all equipment used during the lab should be stored properly. Each desk should be free of equipment and/or trash. Points will be deducted for neglected cleanup. Give a hoot, don't pollute!

No food or drink will be permitted in the lab. However, there is a lovely hall located adjacent to the lab that makes the perfect setting for downing a candy bar and beverage!

Lab Reports

In industry you will be expected to submit reports, both technical and non-technical, discussing the status of your projects. EECE 218 is a good tune-up to the real world with its lab reports and project progress reports that cover both technical and non-technical issues. Lab reports should be written so another engineer could reproduce your work and receive the same results you show. Progress reports should be accurate, brief, and informative. Below we present an example lab report outline with some important tips.

Outline

  1. Cover Page

  2. Goals & Introduction

  3. Equipment List (boards, satellite boards, etc)

  4. Procedure

  5. Discussion

  6. Answers to After-lab questions

  7. Conclusion

  8. Appendix: Program listings

Sample Report

Cover page

EECE 218 Lab 6: Parallel I/O: Lights and 7 Segment Display
by
Jane Rodriguez
 Performed : 02/26/2001
 Submitted : 03/05/2001
Lab Partner(s): John Rodriguez, Jr.
        T.A. : John Rodriguez, II

Goal & Introduction

In this section, you should

  • discuss what you expect to learn

  • discuss the importance of this lab

  • Do NOT copy from the lab manual

  • Do not explain what you learned in the lab, since you have to discuss these issues in the conclusion not in the introduction.

   Goal and Introduction

   The goal of this lab is to familiarize  the  student  with  the
   HC11-VDK board through the use of  the  BUFFALO  monitor program, a
   few  simple  assembler  programs,  and  acquaintance  with  the
   environment of the BUFFALO software.  The  student expects to learn
   basic terminology, and commands  associated  with  the Motorola
   68HC11  microprocessor.   This  lab  emphasizes  the  need  and
   importance of the environment under which debugging takes place
   for user programs.  It's  hoped that a better  understanding of
   the functioning of the microprocessor will  be  gained  through
   this activity. 

Equipment List

Besides listing the equipment, describe how it was connected. Often, a diagram of the lab-setup may be more informative. Also mention any special hardware or connections. You have to mention all the equipment you use. Don't write vague expressions such as "BUFFALO monitor", "Terminal". By the way, BUFFALO monitor is not equipment. For example

     Equipment List

     HP Vectra PC
     HC11-VDK board
     power supply
     Serial cable

Procedure

Again, don't copy from the lab manual. Don't write like the lab manual, either. Try to be original.

In this part, you have to explain your lab work. You have to devote at least 5-6 sentences to each program written. Explain what the requirements were, how they were met. You are not supposed to explain how you got it to work, since you have to give these details in the discussion section. The "procedure" section gives an outline of the lab work expected.

   Procedure

   The  HC11-VDK  board  is  connected to the HP Vectra  PC   and 
   power supply is attached to the  Vandymatic  board.  After  BUFFALO
   monitor  prompt  was  seen  on  the  terminal  screen,  several
   BUFFALO commands were  tried.  Among  them,  d  (dump  memory),  mm
   mm (memory modify), rm (register modify), rd (register display)
   were the most useful ones.

   The program given in the manual was entered into the memory and
   executed. The error was found and corrected using the debugging
   facilities of the BUFFALO monitor.

   Then the prelab programs entered into memory and executed.  The
   The first program was to fill the first RAM page with ....

   The second program copies the first RAM page  ($C100-$C1FF)  to
   the second page ($C200-$C2FF). Two index registers,  namely  IX
   and IY are used to copy 256 bytes. The program shown in Appendix
   was entered into memory location $C000 and executed. The output
   was verified.

   The purpose of the third program is to print out the string NAME
   The letters were first stored in memory with ASCII codes. The
   subroutine 'outstrg' provided by the BUFFALO monitor program is cal-
   led to display the string pointed by Y register.

Discussion

Discuss what happened in the lab. This section is the post-mortem of your lab experience. Especially give details of what went WRONG. Explain how your final program was different from your pre-lab program. Explain which parts of the pre-lab you had to modify. Indicate whose pre-lab  program (yours or your partner's) you modified to make the code working correctly.

The important thing is that you should not write "there was an error in the second program, we fixed it, it worked." We would like to see what the error was, how you noticed it, how you fixed it. The explanations should not be long. For example, "The second program did not work as expected. By inserting breakpoints within the loop, we noticed that the X register should have been incremented twice. We added another INX and the program executed correctly. "

The following is an example discussion section. Read it carefully to understand what you should write in the discussion section. It is important to write everything in essay format devoting a paragraph (3-4 sentences long) for each problem encountered. Use short but concise expressions.

   Discussion

   The program given in the lab manual was entered into memory and
   executed. Since we forgot to reset the stack pointer  to  $DFFF
   the Vandymatic board reset itself. We changed  the  value
   SP using the rm (register modify)  command  and  the  program  ran.
   By inserting breakpoints, the error was located  and  corrected
   by changing .....

   The calculation of the BNE offset is tricky  especially  when  a 
   backward jump is performed. Incorrect offset resulted in erratic
   program behavior. We were able to calculate the offset by count-
   ing the number of bytes between the first instruction after  BNE
   and the jump point. Once the correct negative number was computed 
   the program ran as expected.

Answers to After-lab questions

Answer all the questions asked in the lab text. If these questions are not answered, the lab report will be treated as incomplete. If you find any question confusing, discuss with your TA.

Conclusion

In this section, we would like to see what you learned in the lab. For instance, in the first lab we expect you to learn how to use the BUFFALO monitor, i.e. entering programs, displaying and modifying the contents of registers and memory, how to debug your programs with breakpoints, trace command. Also, after some calculations (in the After lab), you must realize that computation time is cheap. You must think about how you can implement breakpoints. Therefore, plenty to learn. In this section, we would like to see that you learned what we expected you to learn.

How would you use what you learned in the lab be useful in the "Real World?" It is a general question, but give it a shot.

   Conclusions

   This lab introduced us HC11-VDK board and program  development
   environment. We were able to enter codes of our programs using
   the facilities of BUFFALO  monitor.  This  program provides  basic
   tools  for modifying and displaying the content of the memory,
   modifying  the  register  contents,  executing  and  debugging
   programs. The debugging facilities of BUFFALO monitor were  useful
   in locating and fixing the errors.
   
   In this lab, I learned the differences between the  addressing
   modes of  HC11  processor. Almost all addressing were used  in
   in the lab.....

   All programs were using loops. The offset calculation of.... 

Appendix

This is the section of the report where you will list both your pre-lab and lab program listings. Even if they are identical, you should list both of them. Follow the directions given below for properly commenting your code. A detailed explanation on how to comment your programs can be found in Comments in Assembly Programs.

  • Your programs should be fully commented. Comments should be informative. For instance, the following attempt of a comment in this line of code has no sense:

    LDAA	#$10	; move $10 to A

    It is obvious that the above line moves 10 to register A. The comment does not tell us anything. You should explain why you are moving $10 to A. For example:

    LDAA	#$10	; initialize counter, counter=$10

    Thus, the above comment is now telling us something. Doesn't it?

Grading

So that you will know precisely what you will be graded on, below is a breakdown for our grading policy. Green shaded areas represent 100% of all the parts making your Lab Report, while the rest represent deduction points for various reasons. 

Late Report

-10%

Per day late. No exceptions

No Prelab

-30%

No exceptions

Half of PreLab

-15%

No exceptions

Goals and Introduction

+10%

Required

Equipment

+10%

Required

Procedure

+15%

Required

Discussion

+20%

Required

After Lab Questions

+20%

Required

Conclusion

+10%

Required

Appendix

+15%

Includes code listings and other output

-10%

If code not properly commented

Comments:

  • You have to use a word processor to type your report. Hand written reports will not be accepted.

  • Profusion of font types should be avoided.

  • Report text body should be "Justified". If you do not understand what this means, talk to your TA about it.

  • Headings for sections in bold face

  • Double space report body

  • Put program listings in appendix--include both prelab and final programs, even if they are identical. For each listing, you must CLEARLY indicate (1) which program it is, and (2) if it is a prelab or a final version.

  • Use official English. Do not use informal expressions such as "Next, display the memory to see if anything funky happened...", or "We showed our Lab TA a correctly running version and went home happy!".

  • Lab reports are due promptly one week after the lab is performed. That is, if you perform a lab on 9-7-2000, then your report is due when you walk into lab on 9-14-2000.

 


| EE-218  Homepage | Syllabus | Schedule | Lab News | Faculty | Contact Information | Lab Info | Project |


Department of Electrical Engineering and Computer Science
Box 1824 Station B
Nashville, TN 37235
Phone: 322-2771
Fax: 343-6702


 | Search | Site Index | People Finder | Phone Directory | VUnet | VUmail | VU Library | Help |


Last Updated: Wednesday, January 11, 2006

Juan J. Rodriguez-Moscoso

Copyright © 2005 Vanderbilt University