mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC16f84a Quarz;Takt funktioniert nicht?


Autor: Andreas Prager (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo erst mal.....
Hab ein riesen Problem mit meinem PIC.
Die Ausgabe normaler Zustände funktionieren alle.(also setze bit 1 von 
portb oder so).

Aber z.B. ein Blinklicht funktioniert nicht.
Auch ein Lauflicht nicht.
Daher denke ich es hat etwas mit der Taktversorgung zu tun.Warum auch 
immer.....
Die Led geht an......und bleibt an.....soll aber blinken!
Beim Lauflicht das selbe 1.led geht an...der rest nicht!

Die beiden Programme sind richtig geschrieben.Auf einer anderen
Testplatine funktionierten sie auch. Aber auf meiner nicht^^


Hier mal der Quellcode:
VON DEM BLINK-programm
(ich schreibs mal ohne Include....sondern mache Zuweisungen.)(wie gesagt 
es funktioniert egtl.)

;***********************************************
;Blink led
;27.12.08
;Andreas Prager
;***********************************************
;Grund-zw

  list  p=16f84
  radix  hex
;register-zw
  status  equ  03
  portb  equ  06
  trisb  equ  86
  d    equ  20
  e    equ  21
  f    equ  22
;Bit-zw
  rp0    equ  05
;***********************************************

    CLRF  portb
    bsf  status,rp0
    bcf  trisb,0
    bcf  status,rp0

start:          bsf  portb,0
    Call  up
    bcf  portb,0
    Call  up
    goto  start

;Pause:(ca.16sekunden....ziemlich lang..aber egal)
up:    movlw  d'255'
    movwf  f
vw:    movwf  e
neu:  movwf  d
again:  decfsz  d
    goto  again
    decfsz  e
    goto  neu
    decfsz  f
    goto  vw
    return
    end




So das isses........
In der schaltung seht ihr meine Quarz beschaltung.....den Rest bitte 
nicht betrachten.

So was noch wichtig wäre:
-Programmiere über Vellemann brenner.
-Betriebsspannung an meiner Testplatine: über 7805 kommen ca. 4,5V
-Quarz 4,000MHz
-Kondensatoren am Quarz: je 22pf



Danke im Vorraus für die Antworten

Autor: Andreas Prager (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja Zwischen quarz und OSC1 bzw. OSC2 ist jeweils ein Kondensator 
geschalten.(22pF)
Ich seh gerade eben das sie hier nicht mit eingezeichnet sind....sry

Autor: Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andreas,

ist es wirklich ein Quarz oder ein Keramikschwinger mit eingebauten 
Kondensatoren?

Rainer

Autor: Andreas Prager (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein ist schon ein richtiger Quarz
--bei Conrad bestellt:
Typenbezeichnung:   QU4,0000MHZHC-49/U
Conrad-nr.:182087 - 62

Autor: Tino N. (tino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie hast du die Kondensatoren verschaltet ?
Wenn sie zwischen OSC1 und OSC2 liegen ist das mit Sicherheit verkehrt .
Hast du beim Brennes des PIC auch einen Quarz als Takt angegeben ?

Autor: Andreas Prager (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
nein die Kondensatoren hängen zwischen: OSC1 und Quarz
                                        OSC2 und Quarz
(siehe Bild......ist nicht meine schaltung...aber die Taktbeschaltung 
ist die selbe)

Beim Brennen setze ich das Kreuz bei: (01) XT Oscillator

(also quarz bis ca.4,000MHz)

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Prager wrote:
> nein die Kondensatoren hängen zwischen: OSC1 und Quarz
>                                         OSC2 und Quarz
> (siehe Bild......ist nicht meine schaltung...aber die Taktbeschaltung
> ist die selbe)

Im Bild sind die Kondensatoren aber (richtigerweise) zwischen OSC1 und 
GND resp. OSC2 und GND.

Was stimmt jetzt?

Andere Frage: läuft das Programm im Simulator denn korrekt?

Autor: Andreas Prager (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wie in dem Bild hängen die Kondensatoren....hab mich vll. etwas 
seltsam oben ausgedrückt...sry

Im simulator läuft das programm richtig...und wie gesagt auch auf der 
anderen Testplatine.

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Prager wrote:

> Im simulator läuft das programm richtig...und wie gesagt auch auf der
> anderen Testplatine.

Sorry, letzteres habe ich übersehen.

Wenn eine Led angeht, dann heisst das doch, dass das Programm startet, 
denn bei einem Reset sind alle I/O-Pins als Eingang konfiguriert, und 
dann könnte keine Led leuchten.

Kannst Du mit einem Oszilloskop sehen, ob der Oszillator sauber läuft?
Andernfalls versuch es doch mal mit einem RC-Oszillator. Das hat den 
weiteren Vorteil, dass Du auf OSC2 den Takt/4 messen kannst, und dies 
ohne den Oszillator zu belasten.

Autor: Andreas Prager (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja....das mit dem RC-glied wäre noch ne Idee.....ich probiers heut 
abend mal aus.

Oszi hab ich erst wieder am 5.Januar zur Verfügung stehen...wenn ich auf 
Arbeit muss.

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann es sein, dass du nur nicht lange genug wartest? Deine innere 
Warteschleife benötigt bei 4 MHz für einen Durchlauf (bis d=0 ist) 768 
Takte = 768µs. Insgesamt benötigt laut Stopwatch des Simulators deine 
gesamte Warteschleife knapp 50 Sekunden. Das liegt daran, dass der goto 
Befehl 2 Taktzyklen benötigt und der decfsz einen (bzw. 2, wenn er 
skipt). Warte doch einfach mal eine Minute und schau ob es daran liegt.

Schau dir auch mal die Programme von sprut.de an. Dort sind 
Warteschleifen, welche recht genau funktionieren.

Sven

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>-Betriebsspannung an meiner Testplatine: über 7805 kommen ca. 4,5V

Ziemlich wenig Ausgangsspannung für einen 7805

>-Quarz 4,000MHz
>-Kondensatoren am Quarz: je 22pf

Waren das schon alle Teile?
Was ist mit Blockkondensatoren am 7805 und am uC?
Elko vor dem 7805? Wie sieht das Netzteil aus?

Autor: Andreas Prager (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@sven:
hmm...ich schau mir die Pausen nochmal genau an...vielleicht stimmt da 
wirklich etwas nicht.

@Holger:
Das dachte ich ja auch...das evtl. sogar die Betriebsspannung was damit 
zu tun hat.
Ich hab einen Koppelkondensator für den µC aber am 7805 hab ich weder 
Elko noch Koppelkondensator......
( was macht der Elko? Glätten? stabilisieren?...)

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.