Hallo zusammen, es geht um den Programmspeicher des PIC16F877, welcher ja in 4 Bänke aufgeteilt ist. Der Speicherplatz in Bank0 erstreckt sich von 0005h bis 07FFh, Bank1 beginnt bei 0800h, usw. . Nun meine grundsätzliche Frage: Wie muß ich im Programm dem Rechnung tragen, wenn der Speicherplatz auf Bank0 nicht mehr ausreicht? Wie sieht es mit Unterprogrammen aus, welche ich mit dem "call"-Befehl aus Bank1 heraus aufrufe, die sich aber in Bank0 befinden? Viele Fragen ich weiß, aber bisher hat mein Programmspeicher auf Bank0 immer ausgereicht und ich hatte nie dieses Problem, aber jetzt... :) Ich bedanke mich schon mal im Voraus für eure Antworten. Tschau
im PCLATH Register die Bits 3 u. 4 setzen o. löschen beide 0 dann Bank 0 Bit 3= 1 4= 0 dann Bank 1 Bit 4= 1 3= 0 dann Bank 2 beide 1 dann Bank 3 du kannst aber auch lcall od. lgoto schreiben dann werden beide Bits richtig gesetzt.beim Rücksprung musst du aber wieder in die richtigen Bits schreiben schreiben. beschrieben im Dbl Seite 26 gruss l-hase
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.