www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC16F676 (interner RC) läuft nicht !?


Autor: Marco (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Habe einen PIC16F676 und will ihn mit internem RC betreiben, leider
macht er einfach nichts...

Befasse mich noch nicht allzulange mit PICs und komme hier einfach
nicht weiter. Vielleicht hat jemand eine Idee?

Vielen Dank im vorraus!

Autor: Memmer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
www.sprut.de

Alles beschrieben, was du suchst

Autor: Schoaschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie siehts mit den Fuses aus? Wo hast du diese gesetzt? Denn die Wahl
der Taktquelle hängt von den Fuses ab.
Ich kann zwar kein Assembler... doch sind sie mir hier nicht
untergekommen.

Autor: sackgesicht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Laut Datenblatt beginnt der Programmspeicher bei 0x0005. Also würde ICH
so anfangen:

       :
ORG    H'0000'     ; Reset-vektor
       goto Start

ORG    H'0004'     ; Interrupt-Vektor
       goto IRS

ORG    H'0005'     ; Programm Start

ISR:               ; hier die Interrupt Service Routine(n)
       retfi

Start:             ; hier startet das Hauptprogramm
       clrf PORTA
       :

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Schoaschi!

Die Fuses werden gewöhnlich in Assembler nicht im Programmtext gesetzt
sondern später beim Brennprogramm eingestellt ...

LG

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Sackgesicht!

Das sind doch soweit ich weiß nur die Einsprungadressen!?
Normalerweise kann man sein Programm direkt bei 0000H beginnen.
Verwende auch keinen Interupt. Werds aber einfach mal ausprobiern.
Danke.

LG

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Memmer!

Danke für den Sprut-Tipp! Klasse Seite, ist echt weiterzuempfehlen!
Glaube ich hab den Fehler gefunden. Da muss man erstmal drauf kommen.
Werds auf jeden Fall gleich mal ausprobieren......


Ausschnitt aus der Seite von www.sprut.de :
Dem Autor sei gedankt!

"Wenn ein Brenner auf einen PIC zugreifen will, dann schaltet er
normalerweise seine 5V-Betriebsspannung ein, legt  MCLR auf Vss (um
einen Reset auszulösen) und legt dann MCLR schlagartig auf Vpp (+12V),
so daß der PIC nach dem Reset nicht dazu kommt, auch nur einen einzigen
Befehl abzuarbeiten. Damit ist der PIC im Programmiermodus, und durch
den Reset steht der interne Programcounter des PIC auf der Adresse
0x00. Dort kann man dann anfangen zu brennen.
Wenn bei einem PIC aber beim vorigen Brennen der interne Oszillator
aktiviert wurde und MCLR zu einem I/O-Pin gemacht wurde, dann ignoriert
der PIC das Vss-Signal an MCLR und beginnt mit der  Abarbeitung seines
Programms, sobald die Betriebsspannung Vdd angelegt wird.. Beim dann
folgenden Anlegen von Vpp an MCLR stoppt der PIC seine Arbeit, aber der
Programcounter steht nicht mehr auf 0x00, und das anschließende Brennen
eines neuen Programms erfolgt auf zufälligen Adressen des
Programmspeichers.
Solche PICs lassen sich nur problemlos brennen, wenn zuerst  Vpp (12V)
und danach Vdd (5V) angeschaltet wird."

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.