LED ON and OFF with 2 Push button switches


Closed Thread
Results 1 to 16 of 16

Hybrid View

  1. #1
    Join Date
    Aug 2003
    Posts
    985


    Did you find this post helpful? Yes | No

    Default Re: LED ON and OFF with 2 Push button switches

    It’s a flip-flop, so if you do it in software a flip-flop might as well be 1 bit of memory.
    You’re going to want to look a the LED in a real program and know if it’s on or off,
    so will usually want to store the LED state which would usually represent some program state.

    Code:
    flipflop var bit ‘ 1 = LED is on 0 = LED is off
    debounce var byte ‘ button debounce counter
    flipflop = 0 ‘ start with LED off at power up, or on if you want to
    debounce = 0 ‘ reset debounce counter
    
    trisb.0 = 1’ button pin input
    trisb.7 = 0’ LED pin output
    
    cycle: 'program cycle
    
    if debounce > 199 then
    if portb.0 = 1 then
    flipflop = 1
    debounce = 0
    else
    flipflop = 0
    debounce = 0
    endif
    endif
    
    if flipflop = 1 then ‘ set LED to flip flop state
    portb.7 = 1
    else
    portb.7 = 0
    endif
    
    if debounce < 200 then ‘ increment button debounce counter
    debounce = debounce + 1
    endif
    
    goto cycle ‘ repeat loop forever

  2. #2
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,166


    Did you find this post helpful? Yes | No

    Default Re: LED ON and OFF with 2 Push button switches

    But that's only using 1 button Art not 2 as in the title of the thread.....
    Dave Purola,
    N8NTA
    EN82fn

  3. #3
    Join Date
    Aug 2003
    Posts
    985


    Did you find this post helpful? Yes | No

    Default Re: LED ON and OFF with 2 Push button switches

    Quote Originally Posted by Dave View Post
    But that's only using 1 button Art not 2 as in the title of the thread.....
    Whoops!
    No need to accommodate contact bounce for the buttons then.

    Code:
    flipflop var bit ‘ 1 = LED is on 0 = LED is off
    flipflop = 0 ‘ start with LED off at power up, or on if you want to
    
    trisb.0 = 1’ buttonA pin input ON
    trisb.1 = 1’ buttonB pin input OFF
    trisb.7 = 0’ LED pin output
    
    cycle: 'program cycle
    
    if portb.0 = 1 then
    flipflop = 1 ‘ set memory bit
    endif
    if portb.1 = 1 then
    flipflop = 0 ‘ reset memory bit
    endif
    
    portb.7 = flipflop ‘ set LED on or off
    
    goto cycle ‘ repeat loop forever

  4. #4
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,166


    Did you find this post helpful? Yes | No

    Default Re: LED ON and OFF with 2 Push button switches

    Now, Thats nice and easy. The only thing I would change is not having a variable for the state of the output pin but reading the output state.
    Dave Purola,
    N8NTA
    EN82fn

  5. #5
    Join Date
    Aug 2003
    Posts
    985


    Did you find this post helpful? Yes | No

    Default Re: LED ON and OFF with 2 Push button switches

    In the long run, for midrange pics that don’t have a port latch register,
    we should be using a byte port latch to avoid RWM error if time allows.
    So it would go, write single bit to port latch byte, write entire port latch byte to port, read back bit from port latch byte.
    Not that I can say I’ve ever encountered a problem I’d put down to RWM error.

Similar Threads

  1. Push button on PIC16F887
    By menta in forum General
    Replies: 21
    Last Post: - 25th June 2008, 07:47
  2. 12f629 push button & LED
    By yankee in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 10th February 2006, 01:45
  3. Button Push within 3 second Window
    By Tissy in forum mel PIC BASIC Pro
    Replies: 6
    Last Post: - 22nd December 2005, 10:06
  4. push button problem
    By ngeronikolos in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 2nd June 2005, 19:44
  5. Push Button 'Menu' to Choose Variable.
    By Tissy in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 10th March 2005, 07:00

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts