Forum: Mikrocontroller und Digitale Elektronik PIC16F628A MCLA + RA5 am gleichen Pin was nun?


von Gypro (Gast)


Lesenswert?

Hi

Das ist warhscheinlich eher eine Leiche Frage.
Beim PIC16F628A (Datenblatt: 
http://ww1.microchip.com/downloads/en/DeviceDoc/30430c.pdf ) sind MCLR 
und RA5 am gleichen PIN.
Muss MCLR auch hier auf hight geschaltet werden? In meiner Schaltung ist 
der Pin (#4) mit 22K an Plus gekoppelt.
Kann ich RA5 jetzt nicht mehr verwenden? Oder gibt es da einen Trick?


Gypro

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

In den "Fuses", den Configurations-Bits kannst Du sicher der 
MCLR-Eingang abschalten. Dann kannst Du ihn wohl als RA5 verwenden.
Ist MCLR abgeschaltet, kannst Du keinen externen Reset mehr anschließen, 
Power-On-Reset und Brown-Out-Reset bleiben davon unbetroffen.

von Dennis (Gast)


Lesenswert?

da habe ich nochmal eine frage zu den oszillator pins, dort müsste es 
demnach ja auch das gleiche spiel sein.
doch der pic hat keinen internen oszillator, oder!?

man kann sonst wohl noch einen anderen pin als takteingang definieren, 
beim pic 16f84 war es der ra4... wie geht das jetzt hier - kann ich 
wirklich beide ports vollständig nutzen!?

d.

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

...der hat intern sogar 2 Oszillatoren!
4 MHz genau und dann noch so einen 48kHz RC-Schwinger.
Die Pins kannst Du auch anderwertig nutzen, aber sieh bitte im 
Datenblatt nach, ob es Ein- und Ausgänge sein können ! Da gibt es 
Unterschiede.

von Dennis (Gast)


Angehängte Dateien:

Lesenswert?

dank dir... habe nur nicht weit genug nachgesehen... hatte erwartet das 
es in diesem bild mit zu finden sein müsste...:

von Dennis (Gast)


Angehängte Dateien:

Lesenswert?

etwas weiter hinten ists dann, die 2 oszillatoren kann ich zwar noch 
nicht entlarven aber das soll ja nicht das ding sein...


etwas was ich mich noch frage ist:
der 628 ist doch der "große bruder" vom 84, oder?

er verfügt um deutlich mehr features wie:
comperator
uart
mehr timer
ccp
vor allem auch mher speicher

usw...

warum ist dieser billiger als der pic16f84

ich bin damals von 16c84 auf 16f84 umgestiegen, da waren dann schon ein 
paar bytes mehr speicher an bord, aber seit ich den 628 kenne verstehe 
ich diesbezüglich die welt nicht mehr....

20mhz 4,30 e  f84
20mhz 3,40 e  f628   ?

d.

wie kann das sein?

d.

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Der 16F84 wird doch schon gar nicht mehr gebaut.

Nur wurde er seit 20 Jahren in allen Bauvorschlägen im Netz verwendet, 
weil er der einfachste billigste war.

Heute ist das billiger, was in größeren Stückzahlen hergestellt, 
gehandelt und verkauft wird. Da toppt der 628A alles, weil er wesentlich 
moderner ist.

Sollen sich die Anfänger doch weiter mit dem alten F84 ärgern, nimm 
ruhig den komfortablen 628A...

von Dennis (Gast)


Lesenswert?

...tja, ich ärgere mich auch schon lange mit dem f84 rum,  und habe 
schon fast jede mögliche kleinanwendung auf dem ding gebastelt, wenns 
keinen uart gab, dann wurde halt einer geschrieben, wenns keinen 
anzeigentreiber gab, dann gabs halt charlieplexing.

leider gibt es ein scheiß problem mit den portregistern bei den dingern, 
und das ist, so wie ich es beim kurzen durchblättern im datenblatt 
ersehen wollte auch im 628 wieder mit an bord, und das ist wirklich 
störend...

beschrieben ist es hier ganz gut

http://www.sprut.de/electronic/pic/fallen/fallen.html#inout

naja, gibts evtl mal eine übersciht, mit einem aktuellen stand und einer 
vererbungsübersicht, so das man da mal sieht was man überhaupt für sein 
geld bekommt...

es gibt ja eigentlich keinen grund den 16f84 noch zu kaufen...

d.

ps.: grundsatzdebatten über den umstieg auf einen anderen controller mal 
aussen vor...

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Ich kann mir nicht vorstellen, daß Microchip die grundsätzlichen Abläufe 
innerhalb der 16er Familie einfach ändert !
Dafür gibt es in der 18er Familie die LAT-Register, die vollkommen 
kompatible zu den 16er sind.
Du könntest statt des 16F628A ja auch einen 18er nehmen... 18F1220 oder 
so...

Beim Sauberen Konstruieren und programmieren ist das geschilderte 
Problem aber nicht wirklich da.

von Dennis (Gast)


Lesenswert?

Hallo Bernd,
vielleicht hast du ja eine klösung für das problem:

wie kann ich einen einzelnen pin in seinem zustand ändern ->ohne<- auf 
nebenliegende pins einfluss zu nehmen, wenn die externen pegel an den 
umliegenden pins bewirken können, das sie falsch zurückgelesen werden?

die einzige möglichkeit die mir einfällt ist: den wert der gesamten io 
register in einem zweiten register zwischen zu halten und ständig up zu 
daten...

in meinem header will ich ja wie gesagt gern meine defines frei 
verwalten können:

#define      SEGA      PORTA,0
#define      SEGB      PORTB,3
#define      BUTTON_UP PORTB,2

usw...

...kann ja wie gesagt sein, das es so nicht geht...

die sache mit den lat registern ist eine klasse erfindung.

d.

ps.: ich kann das problem ja auch nicht mit masken umgehen, da ich auch 
hier das problem mit dem rücklesen nicht umgehen lässt... also nur die 
bitzugriffe vermeiden nützt nichts...

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.