Probleme mit PICs (PIC 16F84A)

J

Jakob

Guest
Hallo!

Ich sollte die Grundschaltung von [1] nachbauen, in der ein blanker PIC
mit einem Keramikschwinger angesteuert wird, um zu messen, ob der PIC
überhaupt schwingt. Nachdem alle externen Fehlerquellen eleminiert
wurden, kamen wir zu den Schluß, daß der PIC *nicht* schwingt. Heute
morgen habe ich auf [2] gelesen, daß dem PIC expressis verbis gesagt
werden muß, wie er seinen Takt bekommt. Ist diese Annahme richtig?

Weiter hege ich den Verdacht, daß der Keramikschwinger keine Spannung
bekommt und möglicherweise falsch angeschlossen ist.

Mit freundlichen Grüßen,

Jakob Dölling

[1] http://www.sprut.de/electronic/pic/allgemein/b84.gif
[2] http://www.sprut.de/electronic/pic/osc/index.htm
 
Hallo,

"Jakob" <jjj@tu-clausthal.de> schrieb im Newsbeitrag
news:diifi4$1he3$1@ariadne.rz.tu-clausthal.de...
Hallo!

Ich sollte die Grundschaltung von [1] nachbauen, in der ein blanker PIC
mit einem Keramikschwinger angesteuert wird, um zu messen, ob der PIC
überhaupt schwingt. Nachdem alle externen Fehlerquellen eleminiert
wurden, kamen wir zu den Schluß, daß der PIC *nicht* schwingt. Heute
morgen habe ich auf [2] gelesen, daß dem PIC expressis verbis gesagt
werden muß, wie er seinen Takt bekommt. Ist diese Annahme richtig?
Der PIC hat Konfigurationsbits, welche im Programm konfiguriert
werden müssen.
Der PIC 16F84 ist von Hause aus so konfiguriert, daß er als
Taktgeber ein RC Glied erwartet. Somit wird er den Keramikresonator
nicht ansprechen können. Gerdae diese Seite, welche Du erwählt hast,
ist erstklassig. Ich hole mir selbst dort hin und wieder einige Anregungen.
So haben wir in der Firma z.B. unsere Lehrlinge den Frequenzzähler nachbauen
lassen. (4 Hz-50 MHz) und waren relativ überrascht, daß das Teil ziemlich
genau ist.

Weiter hege ich den Verdacht, daß der Keramikschwinger keine Spannung
bekommt und möglicherweise falsch angeschlossen ist.
Siehe weiter oben. Kofigurationsbits richtig setzen und er schwingt.
Denn mehr als die beiden äußeren Pins des Resonators an die Anschlüsse 16 und 15
sowie den mittleren Pin an Masse anzuschlißen, kann man nicht tun.

Gruß Ingo
 
Hi,

Ingo Liebe schrieb:
Der PIC hat Konfigurationsbits, welche im Programm konfiguriert
werden müssen.
Das stimmt nicht ganz. Die Konfigurationsbits (Oszillator,
Watchdog, usw) kann man NUR mit einem Programmer setzen.
Vom Programm aus hat man keinen Zugriff auf dieses Register.
Nicht zu verwechseln mit dem Option-Register, dieses kann man
NUR mit dem Programm selbst ändern.

Der PIC 16F84 ist von Hause aus so konfiguriert, daß er als
Taktgeber ein RC Glied erwartet. Somit wird er den Keramikresonator
nicht ansprechen können.
Richtig, das wird des OPs Problem sein :)

HTH
Wolfgang

--
From-address is Spam trap
Use: wolfgang (dot) mahringer (at) sbg (dot) at
 
Hallo,

"Wolfgang Mahringer" <yeti201@gmx.at> schrieb im Newsbeitrag
news:4N33f.64$1W.28276834@news.salzburg-online.at...
Hi,

Ingo Liebe schrieb:
Der PIC hat Konfigurationsbits, welche im Programm konfiguriert
werden müssen.

Das stimmt nicht ganz. Die Konfigurationsbits (Oszillator,
Watchdog, usw) kann man NUR mit einem Programmer setzen.
Vom Programm aus hat man keinen Zugriff auf dieses Register.
Nicht zu verwechseln mit dem Option-Register, dieses kann man
NUR mit dem Programm selbst ändern.
Naja, nicht wirklich nur mit dem Programmer Programm.
Schau Dir mal das Stückchen Code an.

#include <P16f84.INC>
__CONFIG _PWRTE_ON & _WDT_OFF & _XT_OSC

Damit hat man die Konfigbits im Code entsprechend eingestellt und muß
es im Programmer nicht mehr tun. Damit kommt auch MPLAB klar.


Der PIC 16F84 ist von Hause aus so konfiguriert, daß er als
Taktgeber ein RC Glied erwartet. Somit wird er den Keramikresonator
nicht ansprechen können.
Richtig, das wird des OPs Problem sein :)

So sehe ich das auch.

Gruß Ingo
 
Hallo:

#include <P16f84.INC
__CONFIG _PWRTE_ON & _WDT_OFF & _XT_OSC

Damit hat man die Konfigbits im Code entsprechend eingestellt und muß
es im Programmer nicht mehr tun. Damit kommt auch MPLAB klar.
Kann ich diesen Code-Schnipsel auch einfach so in den PIC brennen?

Danke im Voraus,

Jakob
 
Hallo,

"Jakob" <jjj@tu-clausthal.de> schrieb im Newsbeitrag
news:diiofq$1ugo$1@ariadne.rz.tu-clausthal.de...
Hallo:

#include <P16f84.INC
__CONFIG _PWRTE_ON & _WDT_OFF & _XT_OSC

Damit hat man die Konfigbits im Code entsprechend eingestellt und muß
es im Programmer nicht mehr tun. Damit kommt auch MPLAB klar.

Kann ich diesen Code-Schnipsel auch einfach so in den PIC brennen?
Uff, da fragst Du was.
Mit was für einem Brenner arbeitet Ihr denn?
Welche Soft nutzt ihr dafür?
Ich arbeite privat mit dem Pic Start plus. In der Firma haben wir
einige ProMate`s und Galep IV. Mit Selbstbaubrennern und
deren Software habe ich keine Erfahrungen gesammelt.

Ich bin mir aber fast sicher, daß die Sprut Brenner und die dafür vorgesehene
Soft die Möglichkeiten bietet, die Konfiguration einstellen zu können.

Gruß Ingo
 
Ingo Liebe schrieb:
Hallo,

"Jakob" <jjj@tu-clausthal.de> schrieb im Newsbeitrag
news:diiofq$1ugo$1@ariadne.rz.tu-clausthal.de...

Hallo:


#include <P16f84.INC
__CONFIG _PWRTE_ON & _WDT_OFF & _XT_OSC

Damit hat man die Konfigbits im Code entsprechend eingestellt und muß
es im Programmer nicht mehr tun. Damit kommt auch MPLAB klar.

Kann ich diesen Code-Schnipsel auch einfach so in den PIC brennen?


Uff, da fragst Du was.
Mit was für einem Brenner arbeitet Ihr denn?
Wir arbeiten mit dem PICStart Plus von Mikrochip und der MPLAB IDE v7.00
ohne irgendwelche Zusätze.

Danke für die Hinweise.

Jakob Dölling
 
Hallo Jakob,

"Jakob" <jjj@tu-clausthal.de> schrieb im Newsbeitrag
news:dij0hi$29m4$1@ariadne.rz.tu-clausthal.de...

Wir arbeiten mit dem PICStart Plus von Mikrochip und der MPLAB IDE v7.00
ohne irgendwelche Zusätze.
Na dann MPLAB aufgemacht, Menüpunkt Configure angeklickt,
mit select Device den Controller ausgewählt und unter Configuration Bits
die Konfiguration eingestellt.
Ein kleines Progrämmchen entworfen, in den PIC hinein und fettich.

Gruß Ingo
 
Hallo Ingo,

Ingo Liebe wrote:

Naja, nicht wirklich nur mit dem Programmer Programm.
Schau Dir mal das Stückchen Code an.

#include <P16f84.INC
__CONFIG _PWRTE_ON & _WDT_OFF & _XT_OSC

Damit hat man die Konfigbits im Code entsprechend eingestellt und muß
es im Programmer nicht mehr tun. Damit kommt auch MPLAB klar.
Entschuldige, da hast Du etwas missverstanden. Diese Zeile beschreibt
ja gerade die Fuses des Prozessors. Aus dem Programm heraus ist es
unmöglich beim PIC den Oszillator auszuwählen.

Gruß, Kurt
--
Kurt Harders
MBTronik - PiN - Präsenz im Netz GITmbH
mailto:news@kurt-harders.de
http://www.mbtronik.de
 
Hallo Kurt,

"Kurt Harders" <news@kurt-harders.de> schrieb im Newsbeitrag
news:3r4ptlFhg3u3U1@individual.net...
Hallo Ingo,

Ingo Liebe wrote:

Naja, nicht wirklich nur mit dem Programmer Programm.
Schau Dir mal das Stückchen Code an.

#include <P16f84.INC
__CONFIG _PWRTE_ON & _WDT_OFF & _XT_OSC

Damit hat man die Konfigbits im Code entsprechend eingestellt und muß
es im Programmer nicht mehr tun. Damit kommt auch MPLAB klar.

Entschuldige, da hast Du etwas missverstanden. Diese Zeile beschreibt
ja gerade die Fuses des Prozessors. Aus dem Programm heraus ist es
unmöglich beim PIC den Oszillator auszuwählen.
Hmm, wo schreibe ich die Zeile denn hin, wenn nicht in mein
Programm. Wenn auch ganz am Anfang, noch vor der Deklaration
meiner Variablen, aber dennoch im Programm.
Wie sollte denn z.B. ein artfremder Programmer, wie es der Galep
z.B. ist, wissen, wie er die Konfiguration vornehmen soll.
Er bekommt ja nur das .hex File.
Lasse mich aber gerne belehren.

Gruß Ingo
 
Hallo Ingo,

Ingo Liebe wrote:

Hmm, wo schreibe ich die Zeile denn hin, wenn nicht in mein
Programm. Wenn auch ganz am Anfang, noch vor der Deklaration
meiner Variablen, aber dennoch im Programm.
Die Zeile kannst Du auch ganz weglassen und alles am PicStart
einstellen :). Die Zeile erzeugt im Hex-File einen Eintrag für eine
besondere Adresse, nämlich die Fuses.

Wie sollte denn z.B. ein artfremder Programmer, wie es der Galep
z.B. ist, wissen, wie er die Konfiguration vornehmen soll.
Er bekommt ja nur das .hex File.
Genau im hex-File steht es.

Lasse mich aber gerne belehren.
Bin ja kein Lehrer :). Beim PIC wird der Oszillatortyp durch dieses
Fuse-Byte angegeben und ist durch das im Flash/EEPROM befindliche
Programm nicht zu ändern. Bei anderen Prozessoren läuft der Prozessor
im intern getakteten Modus los und man kann dann umschalten.

Ich selbst habe den PIC fast immer intern getaktet, sofern ich nicht
mehr als die 4MHz brauchte.

Gruß, Kurt
--
Kurt Harders
MBTronik - PiN - Präsenz im Netz GITmbH
mailto:news@kurt-harders.de
http://www.mbtronik.de
 
Hallo,
Das Configruation-Wort ist bei den 16-er Pics an der Adresse 0x2007 des
Programmspeichers.
Im Hex-File, das Assembler bzw. C-Copiler erzeugen, enthält das Configuration-Word.

Sollte also kein Problem sein.

Gruss Jochen



Ingo Liebe schrieb:

Hallo,

"Jakob" <jjj@tu-clausthal.de> schrieb im Newsbeitrag
news:diiofq$1ugo$1@ariadne.rz.tu-clausthal.de...

Hallo:


#include <P16f84.INC
__CONFIG _PWRTE_ON & _WDT_OFF & _XT_OSC

Damit hat man die Konfigbits im Code entsprechend eingestellt und muß
es im Programmer nicht mehr tun. Damit kommt auch MPLAB klar.

Kann ich diesen Code-Schnipsel auch einfach so in den PIC brennen?


Uff, da fragst Du was.
Mit was für einem Brenner arbeitet Ihr denn?
Welche Soft nutzt ihr dafür?
Ich arbeite privat mit dem Pic Start plus. In der Firma haben wir
einige ProMate`s und Galep IV. Mit Selbstbaubrennern und
deren Software habe ich keine Erfahrungen gesammelt.

Ich bin mir aber fast sicher, daß die Sprut Brenner und die dafür vorgesehene
Soft die Möglichkeiten bietet, die Konfiguration einstellen zu können.

Gruß Ingo
 
Hallo Kurt,

"Kurt Harders" <news@kurt-harders.de> schrieb im Newsbeitrag
news:3r50feFhskmkU1@individual.net...

Die Zeile kannst Du auch ganz weglassen und alles am PicStart
einstellen :).
Das ist klar. Dafür habe ich ja meinen Menüpunkt im MPLAB.


Die Zeile erzeugt im Hex-File einen Eintrag für eine
besondere Adresse, nämlich die Fuses.
Habe ich ja auch nicht bestritten.
Es ist, glaube ich, nur eine Definitionsfrage.
Klar ist mir schon, daß ich diese Geschichte nicht mit einem
"movlw" einstellen kann.
Für mich ist halt jedes Schnippelchen Code, welches im Controller
landet Programm. Daher sicher die Diskussion.

Lasse mich aber gerne belehren.

Bin ja kein Lehrer :). Beim PIC wird der Oszillatortyp durch dieses
Fuse-Byte angegeben und ist durch das im Flash/EEPROM befindliche
Programm nicht zu ändern.
Ist mir klar. Das hatte ich auch nie behauptet.


Ich selbst habe den PIC fast immer intern getaktet, sofern ich nicht
mehr als die 4MHz brauchte.
Aber nicht den 16F84. Der hat doch gar keinen eigenen Taktgeber wie z.B.
der 16F630.

Gruß Ingo
 
Jakob <jjj@tu-clausthal.de> schrieb:


Wir arbeiten mit dem PICStart Plus von Mikrochip und der MPLAB IDE v7.00
ohne irgendwelche Zusätze.

Unter Configure findest Du die Config Bits. Da kannst Du die
Einstellungen für Deinen Oszillator machen und dann brennen. Vorher
solltest Du aber den richtigen PIC unter "Select Device" auswählen.

Gruß
Jürgen
--
Mailadress: klein AT ek-p DOT de
Advertisement to this mail address is prohibited!
MyEbay: http://members.ebay.de/aboutme/do1pjk/
 
Hallo Ingo,

Ingo Liebe wrote:

[ völlige Übereinstimmung gesnippt :) ]}

Ich selbst habe den PIC fast immer intern getaktet, sofern ich nicht
mehr als die 4MHz brauchte.

Aber nicht den 16F84. Der hat doch gar keinen eigenen Taktgeber wie
z.B. der 16F630.
Nein, ich verwende 12C519, 16F627A/628A.

Gruß, Kurt
--
Kurt Harders
MBTronik - PiN - Präsenz im Netz GITmbH
mailto:news@kurt-harders.de
http://www.mbtronik.de
 
Kurt Harders wrote:
Hallo Ingo,

Ingo Liebe wrote:

[ völlige Übereinstimmung gesnippt :) ]}

Ich selbst habe den PIC fast immer intern getaktet, sofern ich nicht
mehr als die 4MHz brauchte.

Aber nicht den 16F84. Der hat doch gar keinen eigenen Taktgeber wie
z.B. der 16F630.

Nein, ich verwende 12C519, 16F627A/628A.

Gruß, Kurt
--
Kurt Harders
MBTronik - PiN - Präsenz im Netz GITmbH
mailto:news@kurt-harders.de
http://www.mbtronik.de
Für den Fall, daß es hier jemanden interesseiert was man mit dem
kleinen 16F84 alles machen kann, eine Seite mit echten Anwendungen.

http://www.elektronik-kompendium.de/public/glahe/ad9833.htm

Auf diesem Wege möchte ich auch gleich mal nachfragen, ob hier jemand
ist, der schon erfahrungen mit dem dsPIC30210 gesammelt hat? Ich
versuche den ADW zu configurieren, bisher ohne Erfolg.
Eine Anfrage vor einiger Zeit brachte niemanden, der ihn schon
einsetzen würde.

MfG Manfred Glahe
 
Kurt Harders schrieb:

Die Zeile kannst Du auch ganz weglassen und alles am PicStart
einstellen :).
Das ist zwar richtig, aber leider keine so gute Idee, weil:
- die Einstellungen schön beim Code bleiben (und nicht im ominösen
Projektfile)
- man einen Kommentar dazu schreiben kann, warum/wieso/weshalb
- MPLab sich schon mal sein Projektfile zerdeppert hat

Grüße.
Michael
--
Schreibt zusammen, was zusammengehört.
 

Welcome to EDABoard.com

Sponsor

Back
Top