Forum: Mikrocontroller und Digitale Elektronik PIC16F628-04 vs PIC16F628A


von Dominik (Gast)


Lesenswert?

Hallo,
ich nutze für eine Schaltung einen PIC16F628-04 mit internenen 
Oszillator. Kann man auch ein PIC16F628A mit internen 4MHz-Oszillator 
betreiben? Muss man im asm-File dann etwas ändern? Nutze momentan nur 
_INTRC_OSC_NOCLKOUT als Konfigurationsbit im asm-file.


Danke im voraus,
Dominik

von Claus (Gast)


Lesenswert?

Das sollte mit ein wenig Glück ohne Probleme funktionieren, die 
Änderungen sind minimal.

Statt INTRC musst du wahrscheinlich INTOSC angeben.

Die wesentlichen Änderungen:
- BOD (brown out detect) heisst jetzt BOR (brown out reset)
- keine Fehler mehr im Komparator-Mode
- ER Mode ist jetzt RC Mode
- Timer 1 arbeitet jetzt mit 32 768 kHz
- geringfügige Änderungen in der elektr. Spezifikation.

Grüße
Claus

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


Lesenswert?

Prüfe bitte, ob weitere Module hinzugekommen sind, die die normale 
Funktion der PINs ändern, z.B. Comperator und A/D-Wandler !

Am besten mal die Beschriftungen der PINs vergleichen und bei 
Abweichungen in die Module selbst reinschauen.
Es gibt (höhren-sagen) ein Dokument bei Microchip, das die Migration der 
Bausteine beschreibt.

Config-Bits zur Sicherheit auch vergleichen !

von Dominik (Gast)


Lesenswert?

Danke für die Antworten. Ob INTRC oder INTOSC ist wohl egal, in meiner
p16f628a.inc steht:

_INTOSC_OSC_CLKOUT           EQU     H'3FFD'
_INTOSC_OSC_NOCLKOUT         EQU     H'3FFC'
_INTRC_OSC_CLKOUT            EQU     H'3FFD' ;Backwards compatability to 
16F62X
_INTRC_OSC_NOCLKOUT          EQU     H'3FFC' ;Backwards compatability to 
16F62X

Aber wie ist es mit der Frequenz? Läuft der interne Osszilator immer auf 
4MHz oder kann man die irgendwie wählen? Ich wundere mich nämlich, warum 
es bei Reichelt zwar einen PIC16F628-04 und einer PIC16F628-20 gibt, 
aber beim Nachfolger nur einen PIC16F628A (keine separate 4 und 20MHz 
Varianten).

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


Lesenswert?

INTRC und INTOSC sind wohl 2 verschiedene Schuhe !!!!
INTRC ist IMHO very slow und spart richtig Strom.
INTOSC ist die 4MHz-Maschine (fest).

Die neuen Typen sind immer bis 20MHz betreibbar, man kann ja auch einen 
externen Taktgeber anschließen.

von Dominik (Gast)


Lesenswert?

Zumindest in der Headerdatei p16f628a.inc sind INTOSC und INTRC gleich 
(schau Dir die Werte an). In  meiner p16f628.inc gibt es INTOSC 
überhaupt nicht!

von Meister E. (edson)


Lesenswert?

Bernd Rüter wrote:
> INTRC und INTOSC sind wohl 2 verschiedene Schuhe !!!!
> INTRC ist IMHO very slow und spart richtig Strom.
> INTOSC ist die 4MHz-Maschine (fest).

Da hast Du wohl selbst was falsch verstanden ;)
PICs erzeugen intern ALLE Takte aus RC-Oszillatoren. Mir ist jedenfalls 
noch keiner mit internem Quarz über den Weg gelaufen...
RC-Oszillatoren müssen auch nicht besonders langsam sein, 8Mhz (z.B. 
16F88) sind schon drin.

Wie Dominik ja schon erkannt hat sind die Begriffe in der .INC 
deckungsgleich und daher ist es dem Programmierer überlassen ob er 
INTOSC oder INTRC ausschreibt. Man sollte beim migrieren aber immer die 
include-files querlesen.

Gruss,
Edson

von TK (Gast)


Lesenswert?

Hallo,

eine wesentliche Änderung gibt es dennoch!!!
Möchte man den A-Typ programmieren, benötigt man beim PICSTART+
eine Version >V4.0!
Andernfalls läßt sich der A-Typ nur noch zufällig richtig programmieren
Beim ICD2 gibt es keine Probleme.

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.