A less Cumbersome way of manipulating several LEDS?


Closed Thread
Results 1 to 16 of 16

Hybrid View

  1. #1


    Did you find this post helpful? Yes | No

    Default Re: A less Cumbersome way of manipulating several LEDS?

    Maybe something like this? Not very swanky, but should work.

    Code:
     
    LED VAR WORD
     
    Main:
    LED = %XXXXX111111111 'ALL LEDS ON 
    GOSUB LED_OUT
    LED = %XXXXX000000000 'ALL LEDS OFF
    GOSUB LED_OUT
     
    Goto Main
     
    LED_OUT:
    PORTC.6 = LED.0
    PORTB.6 = LED.1
    PORTB.5 = LED.2
    PORTB.4 = LED.3
    PORTC.2 = LED.4
    PORTC.1 = LED.5
    PORTC.0 = LED.6
    PORTA.2 = LED.7
    PORTA.1 = LED.8
    RETURN

  2. #2
    Join Date
    Jan 2006
    Location
    Istanbul
    Posts
    1,185


    Did you find this post helpful? Yes | No

    Default Re: A less Cumbersome way of manipulating several LEDS?

    Since you are driving LEDs, why not MIBAM ?
    "If the Earth were a single state, Istanbul would be its capital." Napoleon Bonaparte

  3. #3
    Join Date
    Mar 2009
    Posts
    653


    Did you find this post helpful? Yes | No

    Default Re: A less Cumbersome way of manipulating several LEDS?

    Quote Originally Posted by sayzer View Post
    Since you are driving LEDs, why not MIBAM ?
    I have a common dim function in place already (via a PWM driven mosfet)...I don't really need dimming per pin

  4. #4
    Join Date
    Mar 2009
    Posts
    653


    Did you find this post helpful? Yes | No

    Default Re: A less Cumbersome way of manipulating several LEDS?

    Hi Mark, Apologies...I missed your earlier contribution...that looks like something along the lines of what I need...I'll give it a try over the weekend - many thanks!

  5. #5
    Join Date
    Oct 2009
    Location
    Utah, USA
    Posts
    427


    Did you find this post helpful? Yes | No

    Default Re: A less Cumbersome way of manipulating several LEDS?

    You probably realize this... but you will need a pause, of some time delay, after each "GOSUB LED_OUT", in Mark's example. In order for your eye to see the LED's ON or OFF or they may just appear to be flickering at half brighteness.

    Also the "X's" in the example will not compile... need to use "0's". At least they don't compile using microcodestudio.

    Code:
    LED VAR WORD
     
    Main:
    LED = %0000000111111111 'ALL LEDS ON 
    GOSUB LED_OUT
    PAUSE 500 'or delay of your choosing
    LED = %0000000000000000 'ALL LEDS OFF
    GOSUB LED_OUT
    PAUSE 1000 'or delay of your choosing
     
    Goto Main
     
    LED_OUT:
    PORTC.6 = LED.0
    PORTB.6 = LED.1
    PORTB.5 = LED.2
    PORTB.4 = LED.3
    PORTC.2 = LED.4
    PORTC.1 = LED.5
    PORTC.0 = LED.6
    PORTA.2 = LED.7
    PORTA.1 = LED.8
    RETURN
    good luck!!
    Last edited by Heckler; - 3rd September 2011 at 00:31.
    Dwight
    These PIC's are like intricate puzzles just waiting for one to discover their secrets and MASTER their capabilities.

  6. #6


    Did you find this post helpful? Yes | No

    Default Re: A less Cumbersome way of manipulating several LEDS?

    Heckler, you are right on all accounts.

    In the digital world "X" means "don't care". A 1 or 0 will not cause a state change.
    Sorry for the confusion. In PBP you can drop the leading zeros in a binary variable.
    This %000000111111111 would equal %111111111.

    Best regards

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