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 |
function Button(var port: word; pin: word; time: word; ActiveState: word) : word; |
|---|---|
| Description |
The function eliminates the influence of contact flickering upon pressing a button (debouncing). The Button pin is tested just after the function call and then again after the debouncing period has expired. If the pin was in the active state in both cases then the function returns 255 (true). |
| Parameters |
|
| Returns |
|
| Requires |
Nothing. |
| Example |
program Button_Test;
var oldstate : bit;
begin
oldstate := 0;
ADPCFG := 0xFFFF; // initialize AN pins as digital
TRISD := 0xFFFF; // initialize PORTD as input
TRISB := 0x0000; // initialize PORTB as output
while TRUE do
begin
if (Button(PORTD, 0, 1, 1)) then // detect logical one on RB0 pin
oldstate := 1;
if (oldstate and Button(PORTD, 0, 1, 0)) then
begin // detect one-to-zero transition on RB0 pin
LATB := not LATB;
oldstate := 0;
end;
end; // endless loop
end.
|
| Notes |
None. |
Copyright (c) 2002-2012 mikroElektronika. All rights reserved.
What do you think about this topic ? Send us feedback!
What do you think about this topic ? Send us feedback!



