What's wrong?

Hi all, I'm really losing my mind now, been fighting with this for 8 days now, I give up. I hope you can tell me what's wrong in my setup. :(

I self made a PIC18F8720 development board, and it seems to work, because I can program the chip with no problems.

I'm using 100 nF SMD capacitors near every Vdd (including AVdd), and an integrated clock oscillator. It's a 24 MHz CMOS part by Epson.

I wrote a simple test program which is supposed to set all ports to output (via the TRISx registers), and then put all of them to the "HIGH" logic level (via the PORTx registers).

This is my code, as shown by IC-Prog:

0000: D00F 0000 0000 0000 0000 0000 0000 0000 0008: 0000 0000 0000 0000 0000 0000 0000 0000 0010: 0000 0E00 6E92 6E93 6E94 6E95 6E96 6E97 0018: 6E98 6E99 6E9A 0000 0000 0000 0000 0000 0020: 0EFF 6E80 6E81 6E82 6E83 6E84 6E85 6E86 0028: 6E87 6E88 0000 0000 0000 0000 0000 0000 0030: D7DE 0000 0000 0000 0000 0000 0000 0000

And this is the configuration: Config1 = 2500 Config2 = 000F Config3 = 0080 Config4 = 0081 Config5 = C0FF Config6 = E0FF Config7 = 40FF ID Value = 0123456789ABCDEF

Is there anything wrong in my machine code (for this quick test I don't want to nor I think I need to install MP-Lab.. I tried it and hated it, I will write my own source level debugger and assembler and release it to the PD after I'm finished).

Is the reset vector ok? It's supposed to be a BRA to 0010, where it will meet a NOP (no reason in particular) and then the value

00 will be moved to W, which in turn will be moved to all the TRISx registers. Then W will be loaded with FF, which will be copied to all the PORTx registers. Finally (through some NOPs, again, just to leave some space for inserting other code for experiments) there's supposed to be a final BRA back to 0010. Addresses don't represent bytes, but instruction words.

I know it's tedious to go through machine code.. but if you're kind enough, and if the code or the configuration is wrong, please, can you point me to the errors?

Or, in alternative, could some kind soul post a small .HEX file with a demo program that just turns some port pins ON and some others OFF, just to see if my problem lies in my hardware or in my code?

I hope to get your valuable help.. I really don't know what to experiment else.

Kindest regards, Mike Forrest

Reply to
invalid
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.