It worked perfectly
thank 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 question
I 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
Bookmarks