mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DS1820 an PIC16F630 - Softwareprobleme, ich verzweifle!


Autor: Jan Purrucker (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits,

ich bin PIC Anfänger, und habe die Schaltung unter

http://elektronik.kai-uwe-schmidt.de/index.php?pag...

nachgebaut, bei der Kai Uwe Schmidt auch den Source-Code zur Verfügung 
gestellt hat. Der PIC16F84A soll hier alle Zeiteinheiten die 
umgerechnete Temperatur des digitalen Temperatursensors DS18S20 
ausgeben. (Die dann z.B. mit einem Terminalprogramm eingelesen werden 
kann)

Nun habe ich hierfür einen PIC16F630 hergenommen (lag gerade rum, und 
wegen einen PIC kann ich nicht extra bestellen). Daher habe ich die 
Software (Orignial: mess.asm) entsprechend modifiziert (Datei im Anhang)
Das Problem ist aber, dass ich im Terminalprogramm (Hyperterminal) ca. 
alle 1 Sekunde was empfange, jedoch totalen Schmarn, z.B.

$%-0521452

Wenn man in die Software schaut, dann müsste folgendes gesendet werden:

Temperatur: XX.X0 oC

als TX Pin benutze ich RC1, als RX Pin benutze ich RC0, die Datenleitung 
des DS1820 liegt auf DQ.
Hardwarebeschaltung habe ich schon 100 mal kontrolliert. Stimmt alles
Es muß an der Software liegen, bei der ich den Fehler einfach nicht 
finden kann. Bin am Verzweifeln.
Noch einen Anmerkung: Ich benutze einen DS1820 und nicht einen DS18S20 
wie bei Kai Uwe. Das dürfte aber nichts machen, da wenigstens der Text 
"Temperatur" richtig gesendet werden müsste. Ich vermute es liegt an der 
Software UART-Schnittstelle. Wenn mir ein echter Crack bei dem Assembler 
Programm weiterhelfen könnte wäre super.
Vielen Dank schon mal für Hilfen.

Gruß
Jan

Autor: Henrik J. (henrikj)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du die richtige Baudrate in deinem Terminalprogramm eingestellt?

Autor: Jan Purrucker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Henrik,

ja die richtige Baudrate ist eingestellt:
9600, 8, N, 1
Als Quarz nehme ich den internen 4MHz Oszillator, der ja hinreichend 
genau sein dürfte (+- 1%). Für Hilfen wäre ich sehr dankbar.

Gruß
Jan

Autor: Carsten St. (carsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich hatte schon das Problem, dass der interne Quarz (3,9 MHz) nicht 
genau genug war -> in das Baudratenregister musste ein anderer Wert (als 
die in der Datenblatt-Tabelle) eingetragen werden.
-> Lass dir den Takt ausgeben (Clockout) und messe

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carsten Steiner wrote:
> Hallo,
> ich hatte schon das Problem, dass der interne Quarz (3,9 MHz) nicht
> genau genug war


MCs mit internem Quarz gibt es nicht.

Die haben nur nen RC-Oszillator drin und der ist eben nicht mit einem 
Quarz vergleichbar.



Peter

Autor: Carsten St. (carsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entschuldigung, meinte Oszillator (sag ich leider immer falsch).
Ändert aber an dem Problem von Jan nichts. Wollte nur sagen, dass man 
sich nicht 100% auf die interne Taktquelle verlassen kann und ich denke, 
dass das Problem beim Systemtakt liegt.

Autor: Lazy Bee (lazybee)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast Du berücksichtigt, daß der 16f630 Analogeingänge hat, die 
deaktiviert werden müssen?

Gruß

LazyBee

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.