BASIC stamp manual v2.2

5: BASIC Stamp Command Reference – PULSIN
BASIC Stamp Syntax and Reference Manual 2.2 www.parallax.com Page 345
Main:
PULSIN Pulse, 1, time ' measure positive pulse
IF time = 0 THEN Main ' if 0, try again
DEBUG CLS, time ' else display result
GOTO Main
END
Demo Program (PULSIN.bs2)
' PULSIN.bs2
' This program uses PULSIN to measure a pulse generated by discharging a
' 0.1 uF capacitor through a 1K resistor. Pressing the switch generates
' the pulse, which should ideally be approximately 120 us (60 PULSIN units
' of 2 us) long (for BS2 and BS2e). Variations in component values may
' produce results that are up to 10 units off from this value. For more
' information on calculating resistor-capacitor timing, see the RCTIME
' command.
' {$STAMP BS2}
' {$PBASIC 2.5}
Pulse PIN 7 ' pulse input pin
#SELECT $STAMP
#CASE BS2, BS2E, BS2PE
Scale CON $200 ' 2.0 us per unit
#CASE BS2SX, BS2P
Scale CON $0CC ' 0.8 us per unit
#CASE BS2PX
Scale CON $0CF ' 0.81 us per unit
#ENDSELECT
time VAR Word
Main:
PULSIN Pulse, 1, time ' measure positive pulse
IF (time > 0) THEN ' if not 0
DEBUG HOME,
DEC time, " units ", CLREOL ' display raw input
time = time */ Scale ' adjust for Stamp
DEBUG CR,
DEC time, " us " ' display microseconds
ELSE
DEBUG CLS, "Out of Range" ' else error message
ENDIF
PAUSE 200
GOTO Main
END
All
2
NOTE: This example program can be
used with all BS2 models. This
program uses conditional compilation
techniques; see Chapter 3 for more
information.