It worked perfectlythank you for explaining. I wanted to ask another question I thought I would just keep it in this thread since its small.
I am thinking of ways to hook up a 3 digit seven segment display to my pic, it has a common cathode. I was wondering if it would work to hook up each anode to lets say portc.0 through to portc.7 (the dot) and connect the cathode for each digit to a different port say portb.4 through to say portb.6. That way when I want to write something to the first digit I set portb.4 low and set portb.5 and portb.6 to high. When I tried to connect it up this way, the numbers appeared very dim. I think I have the right idea because I can decrease the pause between switching to each digit and to the human eye it would appear like they are all on at the same time? I am new to both electronics and microcontrollers so i apologise if it's a stupid questionI will post the code I was fiddling with:
Code:define OSC 4 LEDTOP var PORTC.0 LEDTOPLEFT var PORTC.1 LEDTOPRIGHT VAR PORTC.2 LEDMIDDLE VAR PORTC.3 LEDBOTTOMRIGHT VAR PORTC.4 LEDBOTTOM VAR PORTC.5 LEDBOTTOMLEFT VAR PORTC.6 SEG1 VAR PORTB.4 SEG2 VAR PORTB.5 SEG3 VAR PORTB.6 TRISC = %00000000 TRISB = %00000000 ADCON1=%00000111 ANSELH=0 ANSEL=0 CM1CON0=0 CM2CON0=0 loop: gosub Selseg1 gosub DisNo5 pause 500 goto Selseg2 goto DisNo5 pause 500 goto Selseg3 goto DisNo5 pause 500 goto loop Selseg1: seg1 = 0 seg2 = 1 seg3 = 1 RETURN Selseg2: seg1 = 1 seg2 = 0 seg3 = 1 Return Selseg3: seg1 = 1 seg2 = 1 seg3 = 0 RETURN DisNo1: LEDTOP = 0 LEDTOPLEFT = 0 LEDTOPRIGHT = 1 LEDMIDDLE = 0 LEDBOTTOMRIGHT = 1 LEDBOTTOM = 0 LEDBOTTOMLEFT = 0 return DisNo2: LEDTOP = 1 LEDTOPLEFT = 0 LEDTOPRIGHT = 1 LEDMIDDLE = 1 LEDBOTTOMRIGHT = 0 LEDBOTTOM = 1 LEDBOTTOMLEFT = 1 return DisNo3: LEDTOP = 1 LEDTOPLEFT = 0 LEDTOPRIGHT = 1 LEDMIDDLE = 1 LEDBOTTOMRIGHT = 1 LEDBOTTOM = 1 LEDBOTTOMLEFT = 0 return DisNo4: LEDTOP = 0 LEDTOPLEFT = 1 LEDTOPRIGHT = 1 LEDMIDDLE = 1 LEDBOTTOMRIGHT = 1 LEDBOTTOM = 0 LEDBOTTOMLEFT = 0 return DisNo5: LEDTOP = 1 LEDTOPLEFT = 1 LEDTOPRIGHT = 0 LEDMIDDLE = 1 LEDBOTTOMRIGHT = 1 LEDBOTTOM = 1 LEDBOTTOMLEFT = 0 return DisNo6: LEDTOP = 0 LEDTOPLEFT = 1 LEDTOPRIGHT = 0 LEDMIDDLE = 1 LEDBOTTOMRIGHT = 1 LEDBOTTOM = 1 LEDBOTTOMLEFT = 1 return DisNo7: LEDTOP = 1 LEDTOPLEFT = 0 LEDTOPRIGHT = 1 LEDMIDDLE = 0 LEDBOTTOMRIGHT = 1 LEDBOTTOM = 0 LEDBOTTOMLEFT = 0 return DisNo8: LEDTOP = 1 LEDTOPLEFT = 1 LEDTOPRIGHT = 1 LEDMIDDLE = 1 LEDBOTTOMRIGHT = 1 LEDBOTTOM = 1 LEDBOTTOMLEFT = 1 return DisNo9: LEDTOP = 1 LEDTOPLEFT = 1 LEDTOPRIGHT = 1 LEDMIDDLE = 1 LEDBOTTOMRIGHT = 1 LEDBOTTOM = 0 LEDBOTTOMLEFT = 0 return End


thank you for explaining. I wanted to ask another question I thought I would just keep it in this thread since its small.


Bookmarks