NOTE: The example below is written for the BS2 and will run on any of the BS2-family modules. Modify the $STAMP directive (as required) before downloading to the BS2e, BS2sx, BS2p, BS2pe, or BS2px.
' SHIFTOUT.BS2
' This program uses the SHIFTOUT command to interface to the 74HC595 shift
' register as an 8-bit output port. The '595 requires a minimum of three
' inputs: data, clock, and latch. See the figure in the SHIFTOUT command
' description in the manual for wiring information. SHIFTOUT automatically
' handles the data and clock, pulsing the clock to shift data bits into the
' '595. An extra step (pulsing the latch input) is required to move the
' shifted bits in parallel onto the '595's output pins. Note: this code does
' not control the output-enable or reset lines of the '595. This means that
' before the BASIC Stamp first sends, the '595's output latches are turned
' on and may contain random data. In critical applications, you should hold
' output-enable high (disabled) until the BASIC Stamp can take control.
' {$STAMP BS2}
' {$PBASIC 2.5}
Dpin PIN 0 ' data pin to 74HC595
Clk PIN 1 ' shift clock to 74HC595
Latch PIN 2 ' latch 74HC595 outputs
counter VAR Byte
Setup:
LOW Latch ' initialize latch output
' This loop moves the 8-bit value 'counter' onto the output lines of the
' '595, pauses, then increments counter and repeats. The data is shifted
' MSB first so that the MSB appears on pin QH and the lsb on QA. Changing
' MSBFIRST to LSBFIRST causes the data to appear backwards on the outputs.
Main:
DO
SHIFTOUT Dpin, Clk, MSBFIRST, [counter] ' send the bits
PULSOUT Latch, 1 ' transfer to outputs
PAUSE 100 ' Wait 0.1 seconds
counter = counter + 1 ' increment counter
LOOP
END
BASIC Stamp Help Version 2.5.4
Copyright © Parallax Inc.
8/8/2012