-
        

Ergebnis 1 bis 7 von 7

Thema: PIC programmieren

  1. #1

    PIC programmieren

    Anzeige

    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:
    Code:
    #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

  2. #2
    Hat wirklich niemand eine Idee?

    Gruß
    Sebastian

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    23.08.2004
    Ort
    Verden (bei Bremen)
    Alter
    30
    Beiträge
    247
    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

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    20.08.2004
    Ort
    Unterschleissheim
    Beiträge
    218
    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

  5. #5
    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

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    17.09.2006
    Ort
    Essen
    Alter
    56
    Beiträge
    83
    Die Debug-Option darf nur gesetzt sei wenn ein Hardware-Debuger wie der ICD2 eingesetzt werden.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    17.09.2006
    Ort
    Essen
    Alter
    56
    Beiträge
    83
    Die Debug-Option darf nur gesetzt sei wenn ein Hardware-Debuger wie der ICD2 eingesetzt werden.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •