Logic problem for bi-color SANSUN PH14 LED display module
T&E Engineer
Posts: 1,396
I have a 16x8 bi-color (2R, 1G) display module of 14mm pitch. It·can drive at·1/2 Duty (not sure what that exactly means yet - but think it is related to my problem. Its "greyscale" is 65535 (although the limited chinese datasheet does not·mention any PWM). I have modiffied some test SX28 code to figure out how to turn this display on but it has 2 signals (A and that I am not sure how to control effectively.
1-CLK, 2-GND, 3-STB, 4-GND, 5-DR, 6-GND, 7-DG, 8-GND, 9-A, 10-GND, 11-B, 12-NC (DATA IN/OUT)
1-VCC, 2-GND, 3-GND, 4-VCC (POWER)
I have connected the display to my SX28 and used code based off of the Sure Electronics 6432 (bit banging code) display and can see how data can be sent out. Signal A and B are some sort of Enable lines that when active LOW (ground or 0VDC) they turn certain rows on of the 8. If I remember correctly A enables the odd 4 rows and B enables the even 4 rows. So you might think ok just set them both LOW and your ok but it is not. The display is set up like this below:
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o··
So with a DATA statement like this:
Picture1:
DATA % 11000000
DATA % 00000000
DATA % 00000000
DATA % 00000000
DATA % 00000000
DATA % 00000000
DATA % 00000000
DATA % 00000000
·
And having A set LOW, the display looks like this:
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
·
Having B set LOW, the display looks like this:
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
·
Having both A and B set LOW, the display looks like this:
·o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
·
This means that the first “2” columns are set by alternating conditions of A and B.
Or you can think of it like this:
DATA %11111111
·
Looks like this (with A set LOW):
o o o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
·
Likewise for A and B are both set LOW:
x x o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
·
·I hope you can see what I am explaining here.
So you might think just run the code twice (once for the DATA when A is LOW and once for the DATA when B is LOW but the problem is that it doesn’t have RAM like the Sure 0832 displays have so when you run the code twice the last values are over written and only the last code run is displayed.
·
So if A = 0 and B = 1
Run code and display….
Now set A = 1 and B = 0
Run code and display….
·
At the end, all you see is when A = 1 and B = 0 or this:
x x o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
·
I tried using some inversions or NOT statements which did not help (e.g., A = NOT A, B = NOT and still only displayed the last code run and does not “hold” the previous code on the display.
I also tried something like A = NOT A OR B,· B = NOT B OR A··· (All this did was turn the LEDs on ½ brightness).
So, let me know if it is possible to help me understand how to manipulate A and B to get this right. This is probably why the datasheet says it is ½ Duty on the front cover page. I did a good search on Google too and came up empty on getting more information on this SANSUN (not SAMSUNG) PH14 display.
·Thanks!
·
1-CLK, 2-GND, 3-STB, 4-GND, 5-DR, 6-GND, 7-DG, 8-GND, 9-A, 10-GND, 11-B, 12-NC (DATA IN/OUT)
1-VCC, 2-GND, 3-GND, 4-VCC (POWER)
I have connected the display to my SX28 and used code based off of the Sure Electronics 6432 (bit banging code) display and can see how data can be sent out. Signal A and B are some sort of Enable lines that when active LOW (ground or 0VDC) they turn certain rows on of the 8. If I remember correctly A enables the odd 4 rows and B enables the even 4 rows. So you might think ok just set them both LOW and your ok but it is not. The display is set up like this below:
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o··
So with a DATA statement like this:
Picture1:
DATA % 11000000
DATA % 00000000
DATA % 00000000
DATA % 00000000
DATA % 00000000
DATA % 00000000
DATA % 00000000
DATA % 00000000
·
And having A set LOW, the display looks like this:
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
·
Having B set LOW, the display looks like this:
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
·
Having both A and B set LOW, the display looks like this:
·o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
x o o o o o o o o o o o o o o o
·
This means that the first “2” columns are set by alternating conditions of A and B.
Or you can think of it like this:
DATA %11111111
·
Looks like this (with A set LOW):
o o o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
·
Likewise for A and B are both set LOW:
x x o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
·
·I hope you can see what I am explaining here.
So you might think just run the code twice (once for the DATA when A is LOW and once for the DATA when B is LOW but the problem is that it doesn’t have RAM like the Sure 0832 displays have so when you run the code twice the last values are over written and only the last code run is displayed.
·
So if A = 0 and B = 1
Run code and display….
Now set A = 1 and B = 0
Run code and display….
·
At the end, all you see is when A = 1 and B = 0 or this:
x x o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
x x o o o o o o o o o o o o o o
o o o o o o o o o o o o o o o o
·
I tried using some inversions or NOT statements which did not help (e.g., A = NOT A, B = NOT and still only displayed the last code run and does not “hold” the previous code on the display.
I also tried something like A = NOT A OR B,· B = NOT B OR A··· (All this did was turn the LEDs on ½ brightness).
So, let me know if it is possible to help me understand how to manipulate A and B to get this right. This is probably why the datasheet says it is ½ Duty on the front cover page. I did a good search on Google too and came up empty on getting more information on this SANSUN (not SAMSUNG) PH14 display.
·Thanks!
·