Digital Logic Lab 07 - Serial to Parallel Shift Register Name In this

advertisement
Digital Logic Lab 07 - Serial to Parallel Shift Register
Name ____________________________________________________________________________
In this laboratory experiment you will implement a sequential circuit using D-type flip-flops that accepts a
serial data and outputs a data byte in parallel. You will also program the Arduino to generate the serial
data stream to drive this circuit to control a seven-segment display.
Background - Almost all data that is transmitted over significant distances is converted to serial data
streams and transmitted one bit at a time. In this experiment the Arduino will be used to generate serial
data to drive a 7-segment display. The data will be captured in an 8-bit shift register built from a 74273
octal D-type flip-flop. The output of the flip-flops will be connected to the seven segments and the decimal
point LED of the display.
"The 74F273 has eight edge-triggered D-type flip-flops with individual
D inputs and Q outputs. The common buffered Clock (CP) and
Master Reset (MR) inputs load and reset (clear) all flip-flops
simultaneously. The register is fully edge-triggered. The state of each
D input, one setup time before the LOW-to-HIGH clock transition, is
transferred to the corresponding flip-flop’s Q output. All outputs will
be forced LOW independently of Clock or Data inputs by a LOW
voltage level on the MR input. The device is useful for applications
where the true output only is required and the Clock and Master
Reset are common to all storage elements."*
The pinout of the MAN 3910A Seven-Segment Display is shown below. Note
that there are missing pins on this device, but the numbering is based on a
standard 14-pin DIP IC.
1. Cathode A
2. Cathode F
3. Common Anode
4. No Pin
5. No Pin
6. No Connection
7. Cathode E
1
2
3
8. Cathode D
9. Cathode D.P.
10. Cathode C
11. Cathode G
12. No Pin
13. Cathode B
14. Common Anode
14
13
11
10
9
8
6
7
MAN 3910A
Step 1: Assemble the circuit shown below using the 74273 and MAN3910A seven-segment display.
Connect a 1K ohm resistor between the common anode and +V. Be sure to connect MR to +V to prevent
a reset (or lockup) of the flip-flops.
a
f
b
g
e
c
dp
d
dp
serial input
D Q
D Q
g
f
D Q
e
D Q
c
d
D Q
D Q
b
D Q
a
D Q
clock
*
Fairchild Semiconductor Datasheet - Octal D-Type Flip Flop, Copyright 2000, Fairchild Semiconductor Corporation
DS009511, www.fairchildsemi.com, April 1988, Revised September 2000.
This version of the software generates the bit sequences needed to drive the chosen seven-segment
display with wired as shown in the circuit above. Any variation in either the display type or wiring of the
seven segments will result in an unreadable display.
Step 2: Use Mode A to test and debug this circuit.
Question 1: Did your circuit operate correctly on the first try? __________ If "NO" describe the problem
and how you corrected it.
____________________________________________________________________________________
____________________________________________________________________________________
Step 3: Verify each hexadecimal digit 0 thru F in mode b of the PDLP.
Question 2: Seven segment displays are typically used to display base 10 digits, only. There are a
number of IC's available for driving seven segment displays. Why might you want to build your own
seven-segment display driver circuit?
____________________________________________________________________________________
____________________________________________________________________________________
Step 4: Demonstrate your circuit to the to the lab instructor using Mode C.
Passed _________________________
Review the PDLP software used in this laboratory experiment, as you answer the following questions:
Question 3: Why does the display flicker between each displayed digit?
____________________________________________________________________________________
____________________________________________________________________________________
Question 4: What is the purpose of the D( ) array in the subroutine Seven_Seg_Serial( )?
____________________________________________________________________________________
____________________________________________________________________________________
Question 5: The PDLP user can push 1's and 0's into the serial input of this laboratory circuit. What is the
result of pushing the sequence 10101010 (entered from left to right)? That is, describe the display.
____________________________________________________________________________________
____________________________________________________________________________________
Question 6: What bit-string should be pushed into the serial input to produce a capital "H" on the display?
__ __ __ __ __ __ __ __
Comments: __________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________
Download