BASIC stamp manual v2.2
5: BASIC Stamp Command Reference – BUTTON
BASIC Stamp Syntax and Reference Manual 2.2 • www.parallax.com • Page 137
BUTTON
BS1 BS2 BS2e BS2sx BS2p BS2pe BS2px
BUTTON Pin, DownState, Delay, Rate, Workspace, TargetState, Address
Function
Monitor and process a pushbutton input, perform auto-repeat, and branch
to address if button is in target state. Button circuits may be active-low or
active-high.
• Pin is a variable/constant/expression (0–15) that specifies the I/O
pin to use. This pin will be set to input mode.
• DownState is a variable/constant/expression (0 or 1) that specifies
which logical state occurs when the button is pressed.
• Delay is a variable/constant/expression (0 – 255) that specifies how
long the button must be pressed before auto-repeat starts. The delay
is measured in cycles of the BUTTON routine. Delay has two special
settings: 0 and 255. If Delay is 0, BUTTON performs no debounce or
auto-repeat. If Delay is 255, BUTTON performs debounce, but no
auto-repeat.
• Rate is a variable/constant/expression (0 – 255) that specifies the
number of cycles between auto-repeats. The rate is expressed in
cycles of the BUTTON routine.
• Workspace is a byte variable used by BUTTON for workspace. It
must be cleared to 0 before being used by BUTTON for the first time
and should not be adjusted outside of the BUTTON command.
NOTE: All RAM is cleared to 0 by default upon power-up or reset
of the BASIC Stamp module.
• TargetState is a variable/constant/expression (0 or 1) that specifies
which state the button should be in for a branch to occur. (0=not
pressed, 1=pressed)
• Address is a label that specifies where to branch if the button is in the
target state.
Explanation
When you press a button or flip a switch, the contacts make or break a
connection. A brief (1 to 20-ms) burst of noise occurs as the contacts scrape
and bounce against each other. By scanning an input within a loop to
NOTE: Expressions are not allowed as
arguments on the BS1. The range of
the Pin argument on the BS1 is 0 – 7.
1
1
A
ll
2