Charlie-plexing


Closed Thread
Results 1 to 40 of 61

Thread: Charlie-plexing

Hybrid View

  1. #1
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,170


    Did you find this post helpful? Yes | No

    Default Re: Charlie-plexing

    Quote Originally Posted by AvionicsMaster1 View Post
    Did this a while ago. Don't know if it will help. http://www.picbasic.co.uk/forum/showthread.php?t=14220

    If you use the above program you'll need to change you define osc line.

    Good luck.

    LMAO!

    I posted YOUR program above! I googled and searched this forum to try and find where I got it from but never found it.

    I'll have to look this over again, I must miss something obvious. You have GPIO, I only see PORT and TRIS registers as relevant on a 16F877.

    Robert

  2. #2
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,170


    Did you find this post helpful? Yes | No

    Default Re: Charlie-plexing

    Partly fixed.

    I was using 3 red, green and yellow LEDs; they have wildly different current draw/voltage drops. I switched to all greens and the ghosting effect is practically gone.

    I saw your comments about ghosting and noticed you output PORT before TRIS, didn't help me; tried both ways.

    Robert

    EDIT:
    Code:
    asm
     __config _HS_OSC & _WDT_OFF & _PWRTE_OFF & _BODEN_ON & _LVP_OFF & _CPD_OFF & _WRT_OFF & _DEBUG_OFF & _CP_OFF
    endasm
    DEFINE OSC 20
    ADCON1 = 7                  ' Set Ports to digital
    TRISA = %00000000           ' Set all Ports to output 
    TRISB = %00000000
    TRISC = %00000000
    TRISD = %00000000
    TRISE = %00000000
    PORTA = %00000000           ' Set ports OFF
    PORTB = %00000000
    PORTC = %00000000
    PORTD = %00000000
    PORTE = %00000000
        pause 100
    mainloop:
        TRISD = %11111001       ' Enable pins D.1 and 2
        PORTD = %00000100       ' Turn ON pin D.2 --> D.1
        pause 500
        TRISD = %11111001       ' Enable pins D.1 and 2
        PORTD = %00000010       ' Turn ON pin D.1 --> D.2
        pause 500
    
        TRISD = %11110101       ' Enable pins D.1 and 3
        PORTD = %00001000       ' Turn ON pin D.3 --> D.1
        pause 500
        TRISD = %11110101       ' Enable pins D.1 and 3
        PORTD = %00000010       ' Turn ON pin D.1 --> D.3
        pause 500
    
        TRISD = %11110011       ' Enable pins D.2 and 3
        PORTD = %00000100       ' Turn ON pin D.2 --> D.3
        pause 500
        TRISD = %11110011       ' Enable pins D.2 and 3
        PORTD = %00001000       ' Turn ON pin D.3 --> D.2
        pause 500
    
        TRISD = %11111111       ' All pins disabled
        pause 500
        goto mainloop
    End

  3. #3
    Join Date
    Jun 2016
    Posts
    19


    Did you find this post helpful? Yes | No

    Default Re: Charlie-plexing

    Hi
    Looks like I made a wrong post??
    Don't know what?

  4. #4
    Join Date
    Apr 2014
    Location
    OK
    Posts
    557


    Did you find this post helpful? Yes | No

    Default Re: Charlie-plexing

    On topic, the March 2018 Nuts and Volts Magazine has an article on "Charlieplexing an analog style LED clock", by Robert Gill. It drives 182 LEDs with 14 I/Os.

  5. #5
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    4,134


    Did you find this post helpful? Yes | No

    Default Re: Charlie-plexing

    Isn't that impressive?

    Ioannis

Members who have read this thread : 3

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