Mikroelektronika MIKROE-724 データシート

ページ / 726
656
mikoBasic PRO for dsPIC30/33 and PIC24
MikroElektronika
Button
Prototype
sub function Button(dim byref port as word, dim pin as byte, dim time as 
word, dim ActiveState as byte) as 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 
port:
 button port address 
pin:
 button pin 
time:
 debouncing period in milliseconds 
active_state:
 determines what is considered as active state. Valid values: 
0
 (logical zero) and 
1
 (logical one)
Returns
-
255
 if the pin was in the active state for given period. 
0
 otherwise
Requires
Nothing.
Example
program Button_Test
dim oldstate as bit
main:
  oldstate = 0
  ADPCFG = 0xFFFF                        ‘ initialize AN pins as digital
  TRISD = 0xFFFF                             ‘ initialize portd as input
  TRISB = 0x0000                             ‘ initialize portb as output
  while TRUE
    if (Button(PORTD, 0, 1, 1)) then    ‘ detect logical one on RB0 pin
      oldstate = 1
    end if
    if (oldstate and Button(PORTD, 0, 1, 0)) then
      LATB = not LATB                   ‘ invert value of PORTB
      oldstate = 0
    end if
  wend                                  ‘ endless loop
end.
Notes
None.