14 segment display in flowcode

For Flowcode users to discuss projects, flowcharts, and any other issues related to Flowcode 2 and 3.

Moderators: Benj, Mods

Post Reply
triplestak
Posts: 7
Joined: Tue Apr 12, 2011 10:33 am
Contact:

14 segment display in flowcode

Post by triplestak »

Hello,

I'm powering a dual alphanumeric display 08FY5013B. I've been working with a program to produce different outputs through RB0 - RB7 and RC0 - RC7 of a PIC16F72. My problem lies in the fact that I can't manipulate the output codes to get the required characters on the display. I'm using the variables First_D_1 and First_D_2 to get the segments on the display to light up. But I'm not able to get a coherent system of decimal numbers that produce the desired output. I'm not sure if the output is in hex or binary or octal. For example, if First_D_1 = 178 and First_D_2 = 66 I get a "W" on the display. But I don't know how these numbers translate into the segments of the display. I've checked the spec sheet for this alphanumeric display and quite a few other spec sheets as well. I'm not sure where I'm going wrong but I'm not understanding which numbering system flowcode is using to drive the output and how to figure out which pins are being controlled by these display variables. Any suggestions?

Raj H.

medelec35
Matrix Staff
Posts: 9520
Joined: Sat May 05, 2007 2:27 pm
Location: Northamptonshire, UK
Has thanked: 2585 times
Been thanked: 3815 times
Contact:

Re: 14 segment display in flowcode

Post by medelec35 »

Hi Raj,
If you can send a link to the data sheet, post your flowchart of what you have done so far, and let me know what letters/numbers you are after,
Then I will will see if I can help you.
Basically If you assign a port with a value, e.g Decimal 178, then look at port as a binary value.
178 = 10110010

1st binary digit (in this case is a 1) = MSB
whereas last bianary digit (in this case is a 0) = LSB

So if all o/p's of port are available,
then
B7 = 1 = high or +5V
B6 = 0 = low or 0V
B5 = 1
B4 = 1
B3 = 0
B2 = 0
B1 = 1
B0 = 0

You will need to remember to disable low voltage programming, or you will lose the use of portB3
Your best bet is to assign 255 to both ports, then check all have +5 V, but also assign 0 to the ports to make sure all go from 5V to 0V

When you become more advance, you can parallel the cathodes up, and use timer interrupt to enable/disable each segment separately quickly.
Then that will free up o/p to do other things. But you will still see different letters in both segments, due to persistence of vision
Martin

Post Reply