Parallax BASIC Stamp 2e Programming Manual page 244

Table of Contents

Advertisement

PULSIN - BASIC Stamp Command Reference
"times out" and store 0 in Variable. This operation keeps your program
from locking-up should the desired pulse never occur.
Regardless of the size of Variable, PULSIN internally uses a 16-bit timer.
Unless the pulse widths are known to be short enough to fit in an 8-bit
result, it is recommended using a word-sized variable. Not doing so may
result in strange and misleading results as the BASIC Stamp will only
store the lower 8-bits into a byte variable.
Demo Program (PULSIN.bas)
' This program uses PULSIN to measure a pulse generated by discharging a 0.1 uF capacitor
' through a 1k resistor (see the figure in the description of PULSIN in the manual).
' Pressing the switch generates the pulse, which should ideally be approximately 120 us
' (12 PULSIN units of 10 us) long. 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 BS1}
SYMBOL
Time
=
W0
Again:
PULSIN 7, 1, Time
IF Time = 0 THEN Again
DEBUG CLS, Time
GOTO Again
Demo Program (PULSIN.bs2)
' This program uses PULSIN to measure a pulse generated by discharging a 0.1 µF capacitor
' through a 1k resistor (see the figure in the description of PULSIN in the manual).
' Pressing the switch generates the pulse, which should ideally be approximately 120 µs
' (60 PULSIN units of 2 µs) long. 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}
Time VAR
WORD
Again:
PULSIN 7, 1, Time
IF Time = 0 THEN Again
DEBUG CLS, DEC ? Time
GOTO Again
Page 242 • BASIC Stamp Programming Manual 2.0b • www.parallaxinc.com
'STAMP directive (specifies a BS1)
' Measure positive pulse.
' If 0, try again.
' Otherwise, display result.
'STAMP directive (specifies a BS2)
' Measure positive pulse.
' If 0, try again.
' Otherwise, display result.
H
OW THE RESULT IS REPORTED
1
2
2
2
2
e
sx
p
NOTE: This is written for the BS2
but can be used for the BS2e,
BS2sx and BS2p also. Locate the
proper source code file or modify
the STAMP directive before
downloading to the BS2e, BS2sx or
BS2p. Keep in mind that the unit of
time may be different than what
appears in the comments here.
.

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the BASIC Stamp 2e and is the answer not in the manual?

Table of Contents