Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

16f84,max7219,7 seg displays all confusing.

Status
Not open for further replies.

sccs

Newbie level 5
Joined
Jan 23, 2006
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,389
16f84 7 segment display

hi guys...

i posted this in the wrong section earlier. then i found this section and realised my mistake.

i currently have a circuit that allows me to read bytes from a atmel flash. currently it out puts the data as 32bit binary or 8 * 4bits

currently it uses 32 led's to dispaly the data i then convert it to hex using windows calc.

what i would like to do is display this on a 7 seg displays. i did think about the simple route of using 7447 ics but these dont display hex digits.

i have searched high and low for a solution but come up blank. i have a pic16f84 to play with but have no knowledge on writing code for it.

i did find the max7219 can display on upto 8 digits which is perfect but that means i need to use the 16f84 to read the binary and output the data to the 7219..i think...

ne help would be great.
 

VVV

Advanced Member level 5
Joined
Nov 26, 2004
Messages
1,582
Helped
383
Reputation
766
Reaction score
86
Trophy points
1,328
Activity points
19,971
circuits using max7219

I looked at the MAX7219 datasheet and this part does not display hex digits, either. it displays some symbols, E, H, L, P, but not regular hex digits.

I think you can do a few things:

1. Drive the 7-segment displays using the PIC. That way you can display the characters any way you want. The trouble is that you do not have many I/O pins on the 16F84 and you want 8 digits multiplexed. That will add to the complexity.

2. Use an LCD display. You just need to send ASCII codes to it to display any alphanumeric characters. You can also display messages, to guide the user. Very neat.

3. Use a serial communication (you need a SW driver for the 16F84 and an RS-232 transceiver) to send the data to the PC (Hyperterminal). Again, you can display the data any way you like, plus save it, etc.

Once you decide on one of the options, perhaps I can suggest a few more things.
I hope this helps.
 

sccs

Newbie level 5
Joined
Jan 23, 2006
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,389
max7219+circuits

hi thanks for the reply

option 3 is a no go. i could use a jtag interface to do the same operation.

i did consider the lcd but cost and lack of knowledge put me off.

option 1 looked the simplest to me.

basically u know more than i do. so what would be your sudgestion.


i am limited to a few lcd displays.

http://www.maplin.co.uk/Media/product_pdfs/N24AZ.pdf
http://www.maplin.co.uk/Media/product_pdfs/N25AZ.pdf
http://www.maplin.co.uk/Media/product_pdfs/N26AZ.pdf
http://www.maplin.co.uk/Media/product_pdfs/N27AZ.pdf

the pic dosent have to be a 16f84. the main reason i chose that one was because i have one here from when i built my fluffy2 programer. same goes for the 7segs i have a few here as the max7219. basically i was trynig to prototype with parts i already own.

as i have said if u have ne sudgestions on a better design im all ears.

thanks.
 

throwaway18

Advanced Member level 2
Joined
Jun 9, 2005
Messages
596
Helped
101
Reputation
202
Reaction score
24
Trophy points
1,298
Location
Kent, UK
Activity points
8,362
multiplex displays 16f84

>i have a pic16f84 to play with but have no knowledge on writing code for it.

This is your chance to learn. This is a straightforward project.

>i did find the max7219 can display on upto 8 digits which is perfect but
>that means i need to use the 16f84 to read the binary and output the data
>to the 7219..

Yes. I'v used the max7219 with a PIC.

>I looked at the MAX7219 datasheet and this part does not display hex digits,
>either. it displays some symbols, E, H, L, P, but not regular hex digits.

The 7219 can display hex digits however you have to use it in non-decode mode
and tell it what individual led's to illuminate.

You can finds lots of PIC sourcecode on the web to get started.

1. Drive the 7-segment displays using the PIC. That way you can display the characters any way you want. The trouble is that you do not have many I/O pins on the 16F84 and you want 8 digits multiplexed.
You don't have to multiplex the display. One option is to drive a chain of shift registers,
you just need three PIC pins. There are driver chips with syncronous serial (clock and data pin)
inputs that are easy to drive with a microcontroller.
 

sccs

Newbie level 5
Joined
Jan 23, 2006
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,389
max7219 7seg

This is your chance to learn. This is a straightforward project.
i dnt mind learning but i need somewhere to start. can u recomend some where to start. if found loads of info on web. but nothing as yet thats for the complete beginer.
 

VVV

Advanced Member level 5
Joined
Nov 26, 2004
Messages
1,582
Helped
383
Reputation
766
Reaction score
86
Trophy points
1,328
Activity points
19,971
max7219 pic

The LCD displays are fine.
For an example of how to connect and drive it, see this appnote: www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011059

Even though the LCD may be different, they are all very similar. You will be able to use a large portion of the code, too.

Throwaway18 is right, the MAX7219 can be used in no-decode mode to display anything (I missed that one).
Since you have the part, this seems the easiest way to do your project. Just send the data serially to the MAX7219.
 

sccs

Newbie level 5
Joined
Jan 23, 2006
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,389
max7219 data

thanks guys got a lot to think about. just got to learn to prog the pic now.. any pointers for a total beginer? thanks
 

sccs

Newbie level 5
Joined
Jan 23, 2006
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,389
max7219 pic16

just another thought. im getting the hang of the displays now(i think).. but any ideas how i can i get the 32 binary inputs into 1 pic to translate into hex to display. i know how to get 4 in and display 0 - f on the display, but im stuck as to how to get the other 28 bits to read...

any ideas thanks...

also i cant get the just of these shift registers..
 

sccs

Newbie level 5
Joined
Jan 23, 2006
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,389
send data rs232 max7219

ok... thanks for the help guys. i now have my displays displaying what i want them to when i want them to.

the problem i now have is how to get the 32 signals into one pic chip.

atm the 32 signals can be split into groups of 4 and decoded to display the correct digit one group at a time

the problem i now have is how to get the pic to read the other signals

basically what i need is,,,

read group 1 and display on disp1
read group 2 and display on disp2
so on so forth

the problem is i cannot fathom how to switch the inputs....

please help.

thanks
 

VVV

Advanced Member level 5
Joined
Nov 26, 2004
Messages
1,582
Helped
383
Reputation
766
Reaction score
86
Trophy points
1,328
Activity points
19,971
Sorry, I do not understand what you mean by "read group 1", etc.
Where do these signals come from?
Are they separate 4-bit groups that you need to read?
If so, then input shift registers could be the answer (like the good old 4021 or the newer 74HC165), cascaded. Load them with all the bits and then shift the data serially into the PIC, do the conversions, display, etc.
A solution involving multiplexers is also possible, but I like the shift registers better because they require fewer I/O pins.
 

sccs

Newbie level 5
Joined
Jan 23, 2006
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,389
ok at the moment the data is supplied via a 34 pin connector

1 x gnd and 1x 5v.
32 x outputs.

as in the diagram above i currentl have 32 leds one connected to each pin in the connector, when powered the circuit displays the data in the form of binary digits. leds on for 1 and off for 0.

the leds can be converted in groups of 4 or as one

ie

1001 1101 0101 0100 1110 0010 0101 0010
9 D 5 4 E 2 5 2

hope thats a bit clearer.


currently i have the circuit displaying the data that i have programed into the pic.
i now have to write the code to retreive the data and display the relevent data on the relevent display. i think that shouldnt be too bad.

but i cant get my head arround using shift registers...
 

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top