Button Library

The Button Library provides routines for detecting button presses and debouncing (eliminating the influence of contact flickering upon pressing a button)

Library Routines

Button

Prototype

sub function Button(dim byref port as byte, dim pin, time, active_state as byte) as byte

Returns

  • 255 if the pin was in the active state for given period.
  • 0 otherwise

Description

Function eliminates the influence of contact flickering upon pressing a button (debouncing).

Parameter port specifies the location of the button; parameter pin is the pin number on designated port and goes from 0..7; parameter time is a debounce period in milliseconds; parameter active_state can be either 0 or 1, and it determines if the button is active upon logical zero or logical one.

Requires

Button pin must be configured as input.

Example

Example reads RB0, to which the button is connected; on transition from 1 to 0 (release of button), PORTD is inverted:

while true
  if Button(PORTB, 0, 1, 1) then
    oldstate = 255
  end if
  if oldstate and Button(PORTB, 0, 1, 0) then
    PORTD = not(PORTD)
    oldstate = 0
  end if
wend
Copyright (c) 2002-2012 mikroElektronika. All rights reserved.
What do you think about this topic ? Send us feedback!
Want more examples and libraries? 
Find them on LibStock - A place for the code