Any ideas how I can improve this code? I'm trying to use a push button switch to toggle between 2 LEDs. For the most part it works, but the switch does not debounce very well. I'm actually trying to toggle between turning an LED on and turning a relay off, which is why one of the variables is named LATCH1, but for testing purposes I'm just using 2 LEDs.
' Name : BUTTONTEST.pbp
' Compiler : PICBASIC PRO Compiler 3.0
' Assembler : PM
' Target PIC : 8-pin PIC12F675 or similar type
' Hardware : Kee
' Oscillator : 4MHz internal
' Keywords : HIGH, LOW
' Description : PICBASIC PRO program to show button press on LED.
#config
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF & _CPD_OFF
#endconfig
Define OSCCAL_1K 1 ' PIC12F675, Calibrate internal oscillatordefine MCLRE_OFF
define BUTTON_PAUSE 65
LED1 Con 0 ' Alias GPIO.0 to LED1
LATCH1 con 1 'Alias GPIO.1 to LATCH1
PB1 Var GPIO.2 ' Alias GPIO.2 to push button
B1 var byte 'Working buffer for switch1 button command
ANSEL = 0 ' Set all digital
CMCON = 7 ' Analog comparators off
clear
low LED1 'Begin program with LED1 off
high LATCH1 'Begin program with relay1 in bypass
main:
switch1:
button PB1, 0, 40, 5, B1, 0, main
toggle LATCH1
toggle LED1
Goto main ' Do it forever
End
Bookmarks