Please share the datasheet of the Segment LCD you are interfacing with. It will contain information on the number of segments and commons you need.
I'm working with 7 segment LED display, and it's common anode type. It doesn't need any specific command for it's operation. To interface single digit segment with PSOC 4200L device, I followed this video tutorial
I'm trying to extend this understanding for a 4 digit display with help of datasheet provided for LCD segment by cypress and not being able to figure out which step I'm missing or doing wrong.
Every Segment LCD has a segment-common mapping table. You need to assign each pixel to right segment-common in the Display Helpers tab in the Segment LCD configurator.
For example, suppose the datasheet for your 7 segment LCD (with decimal points) has the following mapping table:
Then you would do the mapping as follows:
Please share the LCD datasheet if you need help with the mapping.
Are you working on PSoC 042 Kit? Please share your project, it will be easier.
I was also following this topic.
And I was trying to control 4 digit 7 segment LED with Segment LCD module.
It took me a few days till I finally noticed that a LED is NOT a LCD.
And to make things difficult for those who does not know this,
Segment LCD module almost looks like working for LED,
so I did a lot of tweaking... orz
For PSoC 5LP there is a component 4 Digit 7-Segment LED Driver,
which works nicely with 4 Digit 7 Segment LED
But we don't have the counter part of this for PSoC 4.
Anyway, after noticing that Segment LCD is not for LED, I hacked a switcher for PSoC 4 in verilog
output reg [1:0] count,
output [3:0] com
always @ (posedge clk or posedge reset) begin
if (reset == 1'b1) begin
count <= 2'b00 ;
end else begin
count <= count + 2'b01 ;
assign com = (count == 2'd3) ? 1'b1 : 1'b0 ;
assign com = (count == 2'd2) ? 1'b1 : 1'b0 ;
assign com = (count == 2'd1) ? 1'b1 : 1'b0 ;
assign com = (count == 2'd0) ? 1'b1 : 1'b0 ;
And the schematic looks like
Although the count4 is for 4 digit 7 segment LED,
if you don't connect 1 of com bits, it should work for 3 digit 7 segment LED.
After building and loading the project,
you can test the behavior of the program like commands below from TeraTerm.
Note: When I started this project, I was thinking that the display is LCD,
so the LCD(x) = x is wrong now, but I hope that you can understand what it means.
After entering the command above, my LED showed
I hope this sample could be a little help for you.
Thanks a lot for clarifying this and putting your efforts for the project.
I've successfully replicated the results at my end. Again, thanks.
segment = a
segment = b
segment = c
segment = d
segment = e
segment = f
segment = g
segment = DP