mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC 18F2550 läuft nicht


Autor: Jan Purrucker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits,

ich habe eine Testschaltung mit einem PIC 18F2550 aufgebaut.
Nun wollte ich mal nur zum Anfang einen Port als Ausgang setzten und 
einen Pin auf High setzen. Leider ist der Pin nach Anlegen der Spannung 
nur ca. 3 Sekunden High, und dann wieder low. Der PIC scheint irgendwie 
abzustürzen. Ich habe schon alle Oszillatoreinstellungen probiert. 
Quarz-Kondensatoren passen auch. Ich finde einfach den Fehler nicht. 
Kann mir jemand weiter helfen?
Folgenden Code habe ich zum Sezten des Ports verwendet (Ausschnitt)


         movlw   B'00000000'
  movwf   TRISD     ;Port RD komplett als Ausgang
  movlw   B'00001000'
  movwf   LATD               ;Setze RD3 auf High

loop:
goto loop


Für Hilfen wäre ich sehr dankbar. Ich habe vorher mit Atmel AVR 
gearbeitet und steige jetzt um.

Gruß
Jan

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist evtl. der Watchdog aktiv?

Autor: tastendrücker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich habe vorher mit Atmel AVR gearbeitet und steige jetzt um.

Uhh, darf man hie eigentlich nicht sagen... ;)

Aber wie Thorsen schon meinte: WatchDog ON? Und wie sieht der Rest 
deines Programms aus?

Autor: Jan Purrucker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin so langsam am Verzweifeln. Ich habe folgenden Code geschrieben:

  LIST P=18F4550    ;directive to define processor
  #include <P18F4550.INC>  ;processor specific variable


  CONFIG    PLLDIV = 1
  CONFIG    CPUDIV = OSC1_PLL2
  CONFIG    USBDIV = 1
  CONFIG    FOSC = HS
  CONFIG    FCMEM = OFF
  CONFIG    IESO = OFF
  CONFIG    PWRT = ON
  CONFIG    BOR = OFF
  CONFIG    BORV = 3
  CONFIG    VREGEN = ON
  CONFIG    WDT = OFF
  CONFIG    WDTPS = 1
  CONFIG    MCLRE = ON
  CONFIG    LPT1OSC = OFF
  CONFIG    PBADEN = OFF
  CONFIG    CCP2MX = OFF
  CONFIG    STVREN = OFF
  CONFIG    LVP = OFF
  CONFIG    XINST = OFF
  CONFIG    DEBUG = ON



    ORG  0x0000
    goto  Main    ;go to start of main code

Main:

         movlw    B'00000000'
  movwf    TRISD     ;RD-PORT als Ausgang
  movlw  B'11111111'
  movwf  LATD    ;Alle RD auf High

loop:
  goto loop

    END

Nun ist es so, dass ich einen 18LF2550 einsetze (also für niedriege 
Spannungen, Quarz ist ein 4MHz HC49U-S mit 20pF) Am CLKO Messe ich mit 
dem Oszi eine wunderschöne Sinusspannung mit 4MHz. Microchip empfiehlt 
aber allerdings 27pF Kondensatoren für 4MHz Quarz-Oszillatoren. Aber er 
müsste ja laufen, wenn ich die 4MHz Sinusspannung mit dem Oszi am 
Quarz-Ausgang (CLK0) Messe.
Nun ist folgendes Phänomen: Mit 5V funktioniert alles einwandfrei. 
Betreibe ich jedoch den PIC mit 4V, dann sind die RD für ca. 4Sekunden 
High und gehen dann auf Low. Hab mir schon gedacht, dass das mit dem 
Brown-Out zusammenhängt, aber das hab ich ausgeschalten. (Die 
Konfiguration habe ich über den Assembler-Text reingeschrieben)
Habe schon mit dem Watch-Dog, Brownout rumgespielt, aber ich weiß nicht, 
warum es bei 4V nicht funktioniert. Es ist ja ein LF-Typ, der bis runter 
zu 2V betrieben kann.
Für Hilfen wäre ich sehr dankbar.

Gruß
Jan

Autor: 1. Rahul nach Moiré (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#include <P18F4550.INC>  ;processor specific variable

Passt das zu deinem 18LF2550?

Autor: Jan Purrucker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habs jetzt mit einen 18LF4550 probiert. Das gleiche.
Aber ich hab jetzt die Lösung. Hab den Pull-up am MCLR vergessen.
Bitte vielmals um Entschuldigung, dass ich hier wegen so einem dummen 
Fehler gefragt habe. Aber wenigstens kenne ich jetzt schon mal alle 
Config-Einstellungen des PICs ;-)
Trotzdem danke.

Gruß
Jan

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.