PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PIC programmieren



inschenjoer
14.11.2006, 20:46
Hallo,

ich habe mir ne Schaltung gebaut mit nem PIC 16F873. Nun wollte ich den Controller programmieren. Aber da ich keine Erfahrung damit habe, funktioniert auch nichts. Ich weiß nun nicht genau obs an der Software oder Hardware liegt.

Mein Programm zum testen ist eigentlich ganz einfach aufgebaut:



#pragma config |= 0x3572 //Configuration Word

void main()
{
/*Put your code here*/
TRISA = 0b.0000.0000; // Alle Pins des Ports A sind als Ausgänge geschaltet
PORTA = 0b.1010.1010; //Pins 6,8,10,12- 0V Pins 7,9,11,13 - 5V
}


Also eigentlich sollten doch ein paar Pins auf high und ein paar Pins auf low geschaltet werden. Aber das passiert eben nicht. Ich nutze MPlab zum entwickeln mit dem CC5-Compiler. Danach programmiere ich die .hex datei in den Mikrocontroller mit ICProg.

Hat wer ne Idee?

mfg
Sebastian

inschenjoer
15.11.2006, 07:10
Hat wirklich niemand eine Idee?

Gruß
Sebastian

Felixx87
15.11.2006, 15:31
hmm ich weiß net ob man MPlab das beibringen kann aber ich würd vl. mal die Punkte in deinen Portzuweisungen kicken!

also net so TRISA = 0b.0000.0000

sondern TRISA = 0b00000000
oder TRISA = 0h00

PortA = 0hAA //für 0b10101010

gunzelg
16.11.2006, 08:06
Was noch fehlt: Alle PIC's, die einen Analogen Teil besitzen, haben diesen als Voreinstellung aktiviert.
Sollen die Pins digital verwendet werden, muss im ADCON1-Register dies umgestellt werden.
alls z.B. ADCON1 = 7; schaltet alle analogen Pins auf digital um.
Dann sollte dein Programm nach den Befehlen auch nicht ins Nirwana laufen:

void main()
{
/*Put your code here*/
ADCON1 = 7;
TRISA = 0b.0000.0000; // Alle Pins des Ports A sind als Ausgänge geschaltet
PORTA = 0b.1010.1010; //Pins 6,8,10,12- 0V Pins 7,9,11,13 - 5V
while(1)
{
}
}

Ob deine Konfiguration stimmt, kann ich nicht beurteilen. Wichtig ist jedoch, dass der Watchdog aus ist und die OSC-Einstellung deinem angeschlossenem Quarz entspricht.

Gerhard

inschenjoer
16.11.2006, 17:04
Hallo,

ich hab den Fehler nun gefunden. Die DEBUG Option im Configuration Word war an. Damit lief er scheinbar nicht los. Muss ich das beim Debuggen vom außen anstoßen?

Gruß
Sebastian

r.moshage
16.11.2006, 17:26
Die Debug-Option darf nur gesetzt sei wenn ein Hardware-Debuger wie der ICD2 eingesetzt werden.

r.moshage
16.11.2006, 17:27
Die Debug-Option darf nur gesetzt sei wenn ein Hardware-Debuger wie der ICD2 eingesetzt werden.