- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 7 von 7

Thema: PIC Programmierung (18F2455)

  1. #1

    PIC Programmierung (18F2455)

    Anzeige

    Praxistest und DIY Projekte
    Hallo,
    Für ein Projekt in der Schule müssen wir einen PIC progframmieren.
    Jedoch kennen wir uns mit der PIC Programmierung kaum aus und so
    funktioniert unser erstes Programm nicht. Vielleicht könnte einer von
    euch das Programm ansehen und uns helfen es lauffähig zu bekommen.
    Wir programmieren mit MPLAB 7.31 und dem C18 Compiler (MCC1.
    Eventuell liegt der Fehler auch an Einstellungen die man im Programm
    vornehmen muss.
    Ich hoffe, ihr könnt uns helfen.
    Angehängte Dateien Angehängte Dateien

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    27.01.2006
    Beiträge
    44
    Hallo,

    also Dein Programm ist ziemlich schlecht lesbar. Bei mir sind jedenfalls alle Zeilenumbrüche verschunden und damit ist das ganze kaum lesbar.

    Nun was mir jedenfalls aufgefallen ist:
    - Schalte LVP aus
    - Achte auf die korrekte Konfiguaration des Oszillators (RC/Int/XT/HS).
    - Bei Port A: Achte darauf sie in ADCON1 als digitale Ports zu definieren
    (sooweit bei deinem PIC damit gemultiplexed), achte
    darauf dass einige Eingänge mit/ohne Pull-ups und auch Schmitt-Trigger
    ausgeführt sind.
    - gehe die Fallen Rubrick in www.sprut.de durch.

    Wenn Du das Programm nochmals in lesbarer Form hochlädst, kann ich Dir sicher noch besser helfen.

    Gruß
    Mario

  3. #3
    hi
    ich habe ein paar Änderungen wieder gemacht

    ich habe auch ein paar Fragen:
    habe ich das Adcon1- Register jetzt richtig gesetzt?
    wie stellt man den Oszilator ein?

    index= !(PORTBbits.RB4)*1 + !(PORTBbits.RB5)*2 + !(PORTCbits.RC0)*4 + !(PORTCbits.RC1)*8;
    passt die Zeile?
    const int zu_tab[16]={0,1,0,2,0,0,0,3,0,0,0,0,0,0,0,4};
    damit wollen wir 4 Pins negieren und unterschiedlich wichten
    und dadurch einen bestimmten Wert aus der Zuweisungstabelle bekommen

    ich habe das C- File nochmal hochgeladen
    ich hoffe du kannst das File jetzt lesen
    und vielen Dank für deine Hilfe
    vielleicht kannst du mir noch weiter helfen
    Angehängte Dateien Angehängte Dateien

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    27.01.2006
    Beiträge
    44
    zu Deinen Fragen:

    Ob Du das ADCON1-Register richtig gesetzt hast, kann Dir nur das Datenblatt beantworten, das kann sich bei den unterschiedlichen PIC's unterscheiden. Rein gefühlsmässig würde ich mal sagen, dass das ganz gut aussieht.

    Oszillator: Ich selbst bin eher bei Assembler zuhause (was die PIC's angeht), aber die Oszillator-Einstellungen sind gleich wie WDT und LVP zu treffen (#pragma XT ?)

    Gibts auch bei Sprut eine gute Erklärung dazu.

    Tipp: Um zu checken ob der Osz läuft, kannst Du ja zu Beginn einen Port auf "high" setzten und eine LED dranhängen, dann weißt Du dass der Programm mal läuft - und damit der OSZ.

    Ob die Tabelle mit den definierten Konstanten so passt, musst Du schon selber wissen. Das Denken kann Dir niemand hier abnehmen .

  5. #5
    Hallo,
    wir haben jetzt ein neues Problem. Und zwar passt zwar das Programm aber der PIC schaltet jedesmal wenn man mit der Hand in die Nähe der Schaltung kommt. Woran könnte das liegen bzw. was kann man dagegen machen?

    mfg mf01

  6. #6
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo mf01!

    Das könnte vom Pin 1 (/MCLR), das unbeschaltet ist, verursacht werden. Die Lösung (wenn das zutrifft) ist: das Pin so wie auf der Skizze beschalten. Das ist (wahrscheinlich) eine Falle, die ich vergessen habe, in die Sammlung aufzunehmen.

    MfG
    Code:
              VCC
               +
               |
              .-.
              | |R
              | |ca.10k
              '-'
               |
               V D
               -
               |
               |
               |
               |
               |
               V
             ____
             MCLR Pin (1)

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    16.05.2004
    Beiträge
    304
    Außerdem sind Kondensatoren in der Nähe der Spannungsversorgungspins sehr hilfreich (ca 100n sollten reichen)

Berechtigungen

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

Solar Speicher und Akkus Tests