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
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.
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.
...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.
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.
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...
...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...
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.
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...