Yes, there is a debugger for C source codes in the Proteus ISIS VSM, however since C code will differ with the compiler, only certain compilers are allowed.
In the website, you can see that supported compilers for PICs are:
- CCS for PIC (at least V4.107)
- Hi-Tech C for dsPIC33 (at least V9.60)
- Hi-Tech C for PIC10/12/16 (at least V9.8)
- Hi-Tech C for PIC18 (at least V9.63)
- MPLAB C18 for PIC18 (at least V3.34)
- MPLAB C30 (at least V3.21)
These compilers each generate a debug file, if enabled in the output options. You have not mentioned your compiler, so I am going to give an example for Hi-Tech C for PIC10/12/16. Your compiler is going to generate a .cof file as well as a .hex file after the compilation, if enabled in the compiler output options.
Double click your PIC in proteus, "Edit Component" dialog will appear. It is the same window that you include your hex file, however this time you are going to include your .cof file:
Click "OK" after you have included, now double click on your crystal if you have any, and click and activate the box labeled "Exclude from Simulation", click "OK", do the same for the capacitors that are connected to that crystal, if any.
Now click on "Advance Simulation by one animation frame" button, shown below:
Now you can see your source code, and navigate through it via the same button above. If you cannot see the code, and your compiler is not in the list I mentioned, then unfortunately it is not supported. If you cannot see any code window, then activate it by "Debug >> PIC CPU >> Source Code". You can also see your variables with "Debug >> PIC CPU >> Variables".
For more information:
The best example I can think of is the "Peggy," A Light Emitting Pegboard Display. It is a 25x25 LED matrix display driven by an ATmega168 (which is pin compatible with the ATmega328)
The wiki page has a lot of good information. Including a detailed schematic.
There are few things to notice in their layout.
For one, they use a row common anode setup. That is the current source is on the row, and sink on the column. You have yours in row common cathode. There is nothing inherently right or wrong with either layout. Just something to keep in mind when designing your circuit. If using discrete leds, it just means flipping the led connections. If using a prebuilt LED matrix, it is something important to know. (I'll assume you can easily swap the order to match the peggy schematic. If not, just swap column for row in your head)
They use 74HC154 4-16 decoder/demux chips for row select. Since you only need 10 rows (or cols) you can get away with just one. Of course, there is the issue of current. In your case, at 10 x 30mA = 300mA minimum. To solve that problem they used 2STX2220 PNP transistors which will be able to source up to 1.5A per row. A bit over kill in your case. Since you will just use these as row select switches, just about any other pnp transistor that can source your max current should work just as well. Take a look at Transistor Circuits to figure out what resistor values you'll need for full on/off operations.
On the Peggy board, for the column sink driver they use an STP16DP05. But I have found these difficult to find and expensive. There are many other alternatives like the TLC5916 These use a serial input, and can be easily cascaded. If not, a digikey of mouser search for led sink driver will yield many results.
Alternatively, since you already have ULN2803 arrays, you could use two of these with a single current limit resistor per column. That's a lot of pins, so you'll have to get creative, but it could work for the column sink as well.
Avago published a nice application note titled "Introduction to Driving LED Matrices". It covers this and a few other things.
Best Answer
The general solution for translating a circuit diagram into a physical implementation is to read the data sheets for the products involved to determine the pinouts.
Here's part of an example data sheet for LuckyLight KWM-20882AVB
This shows you the correspondence between pin numbers in the logical circuit diagram and the physical pins on the package.
It is likely that many Chinese manufacturers copy the same implementation.
You can check the pinout with a 3V CR2032 battery (for any other power source use a suitable resistor to limit the current). E.g applying a current-limited 3V coin-cell across pins 9 and 13 should light the corner LED. Try both polarities. Double check by powering other pins and checking the expected LED is illuminated.
If your Four 8x8 devices are laid out like this
Your top diagram says you want to link pin 13 of C to pin 13 of A. Using the information you have, you can identify where pin 13 is on each and solder a wire between them. Or design a PCB with tracks that link these positions.
Add numbers to the pins in your bottom diagram and draw lines for the wires you need to solder on.
If this is your first electronics project, I suggest you temporarily put it aside, obtain a few discrete LEDS, 470 ohm resistors, 9v battery and breadboard and spend an hour getting comfortable with something simpler before moving on.
I'm unfamiliar with Proteus but I expect you need to select or import the model for your 8x8 LED-module and then follow the instructions given when you were trained in the use of that software package.