Hello Jack, Nothing quite like being frustrated and hitting the wall when looking for ideas.
Eclectic has already pointed at a rich source of threads on the subject, but there are issues to consider.
The naked 18M2 will dirve ONE seven segment LED display. Assuming common cathode, then the individual segment anodes will be driven via current limiting resistors and the common cathode will be connected to Ground. With the decimal point, this will take eight pins, the B port is probably a good candidate, until you want some of the facilities from that port for other things of course, then you will have to start making compromises. This is proof of concept though so use B.0 through B.7.
Even then, you can use B.0 = segment A through B.6 = segment G and B.7 = decimal point. That makes the code relatively simple, but it might not be so smart for the ease of wiring up, which you may consider to be more important. I'm sure that you are getting the idea now. Each character will be an eight bit pattern sent to port B with the pinsB = %11110000 command which will in this case set half the segments on and the other half off. So, whether you use a Select Case statement or whatever to assign the characters is up to you.
The port pins will only drive a maximum of one LED effectively, so if you want to drive more than one display you will have to get
a little bit more cute.
A general purpose npn transistor with a 1k base resistor as shown in the diagram in the above link. The collector of which will go to the common cathode and the base resistor will be driven by a suitable (almost any) pin on portC being taken low to enable the display, while the individual segments are high.
If you want more than one display, then you will drive the anodes of all from the portB pins and select the appropriate transistor to take the relevant display cathode low and light the selected display. If you enable a number of transistors at the same time, then lights will go out as the Picaxe drive will be exceeded and could become very unhappy. if indeed the situation was reversed with common anode displays, then that sort of situation would probably cause the Picaxe to smoke somewhat.
If you only have a limited number of pins, such as wanting to drive one or more seven segment displays with an 08M2 for example, then you will need to
think about using a CD4026 seven segment counter display driver and changing the strategy to one of counting.
Using a 4511B binary to seven segment driver allows you to use four pins for the numeric information and one for a clock pulse.
Both these two strategies will cause the display to flicker slightly, so enter the 75HC595 serial in parallel out shift register. Run in your number as a suitable (you choose depending on your wiring) serial seven segment representation, (eight bits) into one or more shift registers daisy chained and when your number is loaded, strobe the chips to transfer the register contents to their outputs. Bang, the numbers are there, without any flicker and you can be loading the next reading whilst watching the current displayed values.
Where you make your compromises is a matter of personal preferences. Issues are parts availability, cost and complexity. but each has it's merits.
At the bottom of the food chain is the 4026 and the 74HC595 shift register is probably one of the more comprehensive options. Of course there are probably more esoteric integrated solutions out there which will really dent the brain cells.
Before you can program such devices, you need to understand how to drive the various options and the timing of things. it's not really something that is initially approached from the programming direction.
This has been general, I hope that it has been helpful and not caused any confusion, but there are literally a number of ways to skin a cat out there and the choice is yours. Bear in mind that if you are looking to source or sink more than 10mA to 15mA from a Picaxe pin, then you need to be thinking about a force multiplier of some sort to handle the current involved.
Ah, but