Forum: Mikrocontroller und Digitale Elektronik Frage über PIC16F627A


von Hauke M. (Firma: Privat) (marquardt)


Lesenswert?

Hallo Microcontroller Interessierte
Ich habe ein paar Fragen zu einem PIC (PIC 16F627A)
Da ich gerade erst mit Microcontrollern anfange, wäre es nett wenn die 
Antworten
etwas einfach formuliert wären.
Also hier meine Fragen:

1. Wie liegen die Anschlüsse bei dem PIC?
Damit meine ich hauptsächlich die Stromversorgung.
2. Ich möchte gerne ein Lauflicht mit ca.6/7 LEDs aufbauen, was für ein 
Quarz
wäre dafür am Besten?
3. Hat jemand zufällig Schaltpläne von Lauflichtern mit dem PIC?



Ich bedanke mich schon jetzt einmal für die Antworten!

von Severino R. (severino)


Lesenswert?

Hauke Marquardt wrote:

> 1. Wie liegen die Anschlüsse bei dem PIC?
Siehe Datenblatt, zu finden auf www.microchip.com, genauer:
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010208

> 2. Ich möchte gerne ein Lauflicht mit ca.6/7 LEDs aufbauen, was für ein
> Quarz wäre dafür am Besten?
Wenn's nicht hochpräzis sein soll, würde ich gar keinen Quarz nehmen, 
sondern den integrierten 4 MHz Oszillator.

> 3. Hat jemand zufällig Schaltpläne von Lauflichtern mit dem PIC?
http://www.gidf.de
oder:
Schliesse +5V und GND an die entsprechenden Pins (Vdd und Vss).
Dazu nahe am PIC einen 100nF Kondensator.
Dann die Leds z.B. an PortB.

> Ich bedanke mich schon jetzt einmal für die Antworten!
Bitte.

von Chris S. (schris)


Lesenswert?

Hier der Link
http://www.sprut.de/electronic/pic/programm/lauflicht/lauflich.htm

Da der 16f627A pinkompatibel zum 16x84 ist, kannst du die Pins auch aus
dem obgenannten Link entnehmen. Zum Quarz, ich würde den internen 
Oszillator verwenden, und auf einen externen Quarz verzichten.

von Hauke M. (Firma: Privat) (marquardt)


Lesenswert?

Geht das denn?  ich meine das mit dem Quarz

von Severino R. (severino)


Lesenswert?

Hauke Marquardt wrote:
> Geht das denn?

Was denn genau?

von Hauke M. (Firma: Privat) (marquardt)


Lesenswert?

Keinen Quarz benutzen.

von Hauke M. (Firma: Privat) (marquardt)


Lesenswert?

Wie macht man das denn ohne Quarz?

von Sven S. (stepp64) Benutzerseite


Lesenswert?

1. Lies sprut. de
2. Lies das Datenblatt.
3. Versuche das alles zu verstehen.
4. Komme wieder, wenn dann noch Fragen sind.
5. Gehe auf meine Seite http://stefan-privat.de/Sven
   Im Bereich Elektronik findest du ein Lauflicht mit dem 12F629

Sven

von Hauke M. (Firma: Privat) (marquardt)


Lesenswert?

OK danke an alle!!!




ich meld mich wieder... :-)

von Severino R. (severino)


Lesenswert?

Hauke Marquardt wrote:
> Wie macht man das denn ohne Quarz?

Indem der integrierte präzise (so 1..2%, siehe Datenblatt) RC Oszillator 
verwendet wird.

von Hauke M. (Firma: Privat) (marquardt)


Lesenswert?

Das weiß ich ja, aber wie programmiere ich ich, so das er verwendet 
wird?

von holger (Gast)


Lesenswert?

>Das weiß ich ja, aber wie programmiere ich ich, so das er verwendet
>wird?

Im Configurationword den INTRC auswählen.
Also beim brennen.

von stepp64 (Gast)


Lesenswert?

Das stellst du in den Configurationsbits ein. Also entweder im 
Brennprogramm die entsprechenden Häkchen setzen (INTRC) oder im 
Quellcode mit dem Befehl __CONFIG. Z.Bsp. so:

__CONFIG _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT & 
_BODEN_OFF
                                             ^^^^^^^^^^^^^^^^^^^
Sven

von Hauke M. (Firma: Privat) (marquardt)


Lesenswert?

Das will ich gleich mal ausprobieren.

von Hauke M. (Firma: Privat) (marquardt)


Lesenswert?

Ja es läuft!!!! :-)
Aber RB4 wird ausgelassen.....????
Ich habe keine Ahnung wie das kommt.
Hat das einer von euch schon einmal gehabt??
Und weiß einer von euch wie dieser Fehler zu beheben ist?

von Chris S. (schris)


Lesenswert?

Du hast "LV-programming enable" beim Brennen aktiviert, oder im
config-register nicht ausgeschaltet, deshalb funktioniert rb4 nicht.

von K. J. (Gast)


Lesenswert?

Hauke Marquardt wrote:
> Ja es läuft!!!! :-)
> Aber RB4 wird ausgelassen.....????
> Ich habe keine Ahnung wie das kommt.
> Hat das einer von euch schon einmal gehabt??
> Und weiß einer von euch wie dieser Fehler zu beheben ist?

RA4 ist nen opencolector I/O d.h. der schaltet nach gnd haste des 
bedacht ?

von Chris S. (schris)


Lesenswert?

Es war die Rede von RB4, nicht RB3.
Zusätzlich hat der besagte uC keinen Open-collector Ausgang,
wie du anscheinend glaubst.

von K. J. (Gast)


Lesenswert?

Chris S. wrote:
> Es war die Rede von RB4, nicht RB3.
> Zusätzlich hat der besagte uC keinen Open-collector Ausgang,
> wie du anscheinend glaubst.

Jo verlesen, und klar hat der einen RA4

von Chris S. (schris)


Lesenswert?

Nur, der RA4 ist nicht ein open-collector Ausgang.

von Sven S. (stepp64) Benutzerseite


Lesenswert?

Aber ein Open-Drain ist der RA4. Und das ist bei so ziemlich allen 16F 
so. Deshalb muss man ja bei RA4 als Ausgang auch immer einen Pull-Up 
dran bauen, wenn man vernünftige Pegel haben will. Oder halt nur gegen 
Masse schalten lassen (LEDs z.Bsp.).

Aber darum geht es dem OP eigentlich gar nicht. Es ging doch um RB4. Und 
damit sollte die Aussage von


>Autor: Chris S. (schris)
>Datum: 11.11.2008 23:00
>
>Du hast "LV-programming enable" beim Brennen aktiviert, oder im
>config-register nicht ausgeschaltet, deshalb funktioniert rb4 nicht.

zutreffen.

Sven

von Hauke M. (Firma: Privat) (marquardt)


Lesenswert?

Wie muss ich das den umstellen?
Mein Brenner ist eher spärlich ausgestatet.
Wo finde ich denn das confic-register?
Ist es dieses?

[MPASMWIN]
SourceFile=K:\Lauflicht\lauflicht.asm
Radix=1
WarningLevel=0
HexOutput=1
ErrorFile=ON
ListFile=ON
XrefFile=OFF
ObjectFile=OFF
CaseSensitive=ON
EnhancedMode=OFF
MacroExpansion=0
Processor=16F627
TabSize=8
ExtraOptions=
Top=168
Left=209

von Sven S. (stepp64) Benutzerseite


Lesenswert?

Nein, das ist es nicht.

In deinem Brennprogramm muss es irgendwo ein Menü geben wo du die 
Configurationsbits einstellen kannst. Das hat nix mit dem Brenner als 
Hardware zu tun. Der brennt die Bits einfach mit, welche im Programm 
eingestellt sind.

Oder du schreibst in deinen Quelltext mit dem Befehl __CONFIG die 
entsprechenden Bits mit rein (wie oben schon beschrieben). Der Assembler 
übersetzt das mit und schreibt das mit in das HEX-File. Das 
Brennprogramm erkennt die Anweisung aus dem HEX-File und brennt die 
Configbits wieder mit.

Für den Anfang ist sicher das Einstellen im Brennprogramm das 
einfachste. Welchen Brenner und welches Brennprogramm benutzt du denn?

Sven

von Hauke M. (Firma: Privat) (marquardt)


Lesenswert?

Damit meinte ich ja das Brennprogramm.
Ich benutze das Prennprogramm von Velleman. (Progpic2)
In den Einstellungen habe ich diese Option nicht gefunden.
Zusätzlich habe ich Prennprogramm von www.sprut.de

von Sven S. (stepp64) Benutzerseite


Lesenswert?

Warum lese ich jetzt eigentlich schon die Bedienungsanleitungen anderer 
Leute?

Also:

In deinem Brennprogramm ist das Configurationswort als Hexadezimaler 
Wert unter der Einstellung "Config." zu finden. Daneben befindet sich 
ein Button "Change". Gib dort mal den Wert 3F30 ein.

Damit wäre der PIC auf interner Osz. ohne Taktausgabe, WDT aus, Powerup 
ein, Reset ein, BOR aus, LVP aus (damit RA4 nutzbar) und kein 
Codeprotect gesetzt.

Wenn du willst wie man darauf kommt, dann siehe mal im MPLAB unter 
Configure -> Configuration Bits nach und lese endlich mal Anleitungen...

Sven

von Kermit (Gast)


Lesenswert?

Setz einfach in der __CONFIG Zeile noch ein "& _LVP_OFF" dazu.
__CONFIG _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT &
_BODEN_OFF & _LVP_OFF

von Sven S. (stepp64) Benutzerseite


Lesenswert?

Oder so ;-)

von Kermit (Gast)


Lesenswert?

oder auch nicht. Ich sehe gerade dass _LVP_OFF dem Wert 0x00 entspricht. 
Also ob es drin steht oder nicht dürfte keinen Unterschied machen. 
Vielleicht hat er gar keine __CONFIG Zeile drin oder sein Programmer 
ignoriert die Einstellung einfach.

von Chris S. (schris)


Lesenswert?

Gut, dann vermute ich mal stark, daß RB4 nicht auf LOW beim 
Programmieren ist, denn dann nämlich kann man das Konfigurationsregister 
nicht umändern,
und es ist dann standartmäßig auf LVP und OSC_INT.

bei meinem Headerfile ist
_LVP_ON                      EQU     H'3FFF'
_LVP_OFF                     EQU     H'3F7F'

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.