hi all,
Having a bit of trouble with trying to display numbers on a jumbo 7-segment LED panel. I'm using a fairly universal 'large digit driver' pcb with these things. When I use an oscilloscope on the PICaxe output pins, it seems the SER pin (serial data) sits low and the picaxe is trying to send it high, but it only reaches about 08v at its max when being driven. The other signals are pulsing/transitioning to logic high and low with no problems.
Is anyone familiar with using these LED drivers? Is my code alright?
Having a bit of trouble with trying to display numbers on a jumbo 7-segment LED panel. I'm using a fairly universal 'large digit driver' pcb with these things. When I use an oscilloscope on the PICaxe output pins, it seems the SER pin (serial data) sits low and the picaxe is trying to send it high, but it only reaches about 08v at its max when being driven. The other signals are pulsing/transitioning to logic high and low with no problems.
Is anyone familiar with using these LED drivers? Is my code alright?
Code:
' JUMBO LED:
' - these are SS5001SR2 - 180177
' - driver interface ic boards are TPIC6C596
' - LED driver board is :
' BLU = GND
' GRN = LAT = RCK
' YEL = CLK = SRCK
' ORG = SER
' RED = +5v
' BRN = +12v
symbol SER = C.6 ' Serial Data ' SER ORG
symbol SRCK = C.5 ' Shift Register Clock ' CLK YEL
symbol RCK = C.4 ' Register Clock Input (Latch) ' LAT GRN
' Initialization
init:
low SER
low SRCK
low RCK
pause 100
high RCK ' Set RCK high initially
pause 10 ' Pause to stabilize
main:
for b0 = 0 to 9
gosub send_digit
pause 500 ' Display each digit for half a second
next b0
goto main
send_digit:
low RCK ' Prepare to latch new data
select case b0
case 0
b1 = %00111111 ' Display 0
case 1
b1 = %00000110 ' Display 1
case 2
b1 = %01011011 ' Display 2
case 3
b1 = %01001111 ' Display 3
case 4
b1 = %01100110 ' Display 4
case 5
b1 = %01101101 ' Display 5
case 6
b1 = %01111101 ' Display 6
case 7
b1 = %00000111 ' Display 7
case 8
b1 = %01111111 ' Display 8
case 9
b1 = %01101111 ' Display 9
endselect
for b2 = 0 to 7 ' Loop through 8 bits of the digit
' Send each bit to the shift register
if b1 BIT b2 SET then
high SER
else
low SER
endif
pulsout SRCK, 5 ' Pulse the shift register clock
next b2
high RCK ' Latch the new data
return
Attachments
-
71.5 KB Views: 14
-
151.2 KB Views: 15