Frage zu Banking (PIC)

Gast #489886
Lesenswert?
• ▲
▼
Hallo,

ich habe einen PIC16F871, dessen Programmspeicher unterteilt ist in 
Bank0 (0h - 07FFh) und Bank1 (ab 0800h).
Ich möchte nun einige Unterprogramme im Programmspeicher in der Bank1 
ablegen; könnte so aussehen:

      org 0

      Hauptprogramm



      org 0800

      Unterprogramme

Meine Frage wäre nun, was zu beachten ist, wenn ich mit einem Call 
Befehl Unterprogramme aufrufe? Muß ich das STATUS-Bit RP0 setzen vor dem 
Aufruf oder PCLATH verändern?

Alles etwas wirr ;)

Danke für Eure Antworten
Gast #489900
Lesenswert?
• ▲
▼
> ich habe einen PIC16F871, dessen Programmspeicher unterteilt ist in
> Bank0 (0h - 07FFh) und Bank1 (ab 0800h).

Demnach hätte dein PIC > 2048 Byte Programmspeicher, kann also nicht 
sein.

Was tatsächlich in Bänke unterteilt ist, ist das SRAM. Näheres im 
aktuellen Datenblatt auf Seite 13.

MvH
J.
Gast #489909
Lesenswert?
• ▲
▼
Was mich noch mehr verwirrt ist die Tatsache, daß laut Datenblatt der 
PIC nur 2K x 14 Programmspeicher hat... also von 0x000 bis 0x7FF. Wo 
soll da die zweite Page sein?!? Zudem verlässt du mit CALL oder GOTO in 
keinem Fall die Page0, weswegen du PCLATH eigentlich auch vergessen 
kannst. Die RPx - Flags dienen dazu, den segmentierten Datenspeicher 
umzuschalten... und aus dem kannst du keinen Programmcode ausführen.

Gruß,
  SIGINT

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.