Table of Contents

Lab 3: Bouncing Lights Revisited

Overview

The purpose of this lab is to gain some experience with branching, loops, and the bit instruction set.

Lab activity

In this lab, you will redesign the program developed for the previous lab. Your redesigned program must:

  1. Begin with all but the right most LED (LED 0) off. The position should not change initially.
  2. When any key in row R1 is pressed, the “on” LED should rotate to the left continuously. The “on” LED should wrap around to the right most position after being in the left most position. The rotation should terminate when all keys in R1 are no longer depressed.
  3. When any key in row R4 is pressed, the “on” LED should rotate to the right continuously. The “on” LED should wrap around to the left most position after being in the right most position. The rotation should terminate when all keys in R4 are no longer depressed.
  4. If keys in both rows R1 and R4 are pressed at the same time, the “on” LED should blink. When all keys in one or both rows are no longer pressed, the “on” LED should be restored to the “on” state.

Design constraints:

Hints:

Demonstration

You are required to demonstrate your program to your instructor. As part of your demonstration, you must use the oscilloscope to demonstrate the timing of your delay loop.

FAST Data

You should indicate how much time (in minutes) you spend on this assignment in the FAST database. You are encouraged to log your activity as you work on the project. At a minimum, you should log all of the time spent on this assignment before the due date given above. All time spent on this assignment should be entered into the week 4 column (even if you worked on it in week 3 or 5).

Lab Deliverables

You should follow your instructor's instructions for your lab submission.

Taylor

If you have any questions, consult your instructor.