All pastes #10729 Raw Edit

Untitled

public text v1 · immutable
#10729 ·published 2005-05-01 19:14 UTC
rendered paste body
Section 1: Basic Interrupt Handler
Requirements:
1. Write a C[++] program that does the following:
a. Your task is to turn the Fox11 board into a one-bit logic analyzer. A logic analyzer
displays the waveform of a digital signal. Pin PA0 will be used for input. The program
will print a message to the terminal over the SCI system whenever the signal on PA0
changes. For this part of the lab, use pushbutton PA0 to cause changes on the pin.
b. When the program starts, the line: “ECE 3534 Lab 5 – Part 1” is displayed over the SCI
system. “Lab 5 – Part 1” is displayed on the first line of the LCD.
c. The output sent over the SCI system to the terminal are lines of the format:
typeofedge: xxx us, where typeofedge is either “rising” or “falling” and xxx is the timestamp
of the event in decimal format. The timestamp is the number of μs since the program
started.
d. A running count of the combined number of rising and falling edges is displayed on the
second line of the LCD.
e. The program must run under DevHC11 when the user types “go 3002”. Autostart mode
not required.
f. The program must “loop forever” after its execution has started.



Part 2:

Section 2: Circular Queue
In this section, you will develop code that improves the logic analyzer from part 1. The input capture
system will be used to obtain time stamps that are accurate to 0.5μs. In addition, the concept of buffering
will be introduced to improve performance.
Requirements:
1. Set DevHC11 into “RAW Terminal” mode, so that individual characters will be transmitted to the
Fox11 as soon as they are typed on the keyboard of your laptop.
2. Run a wire from jumper J12 (next to the HC11 chip) to pin PA0 on P1. Just stick the wire into the
jumper, ensuring that it is making electrical contact. This wires the SCI RxD line to PA0. Now,
any characters that are sent over the serial cable to the Fox11 board will be available at PA0. So
the logic analyzer will be monitoring the HC11 receive line, which is driven by the serial transmit
line of your laptop.
3. Write a C program that does the following:
a. Initializes the SCI system to 300 baud. You will also need to change the baud rate in
DevHC11 to 300. You need to close and restart DevHC11 for the baud rate to actually
change. This is done because the HC11 cannot keep up with a 9600 baud serial line as a
logic analyzer.
b. Print the message “ECE 3534 Lab 5 – Part 2' over the SCI system.
c. Display the message “Lab 5 – Part 2” on the first line of the LCD.
d. Uses IC3 to capture events on PA0. An interrupt handler must be used to process IC3.
e. Events are displayed in the same format as in part 1 over the SCI system.
f. A running count of the number of the total number of events is displayed in decimal on the
second line of the LCD.
g. Autostart mode is required, because Buffalo will not be available when DevHC11 is set to
300 baud..