Forum: Mikrocontroller und Digitale Elektronik Probleme bei PIC17 um Tabelle auf nen PORT auszugeben


von Joerges (Gast)


Lesenswert?

Hallo Zusammen,

ich arbeite mich derzeit in die PIC 17 Programmierung ein;
wobei ich hier ein einfaches Lauflicht über ein Tabelle auf den PortF
ausgeben möchte. Ich lasse den TMR0 durchlaufen bei überlauf wird ein
Interrupt gestzt und der PIC springt in das Unterprogramm
"weiterschalten" vgl. unten um dort die nächste
LED-Folge aus zu lesen und auf den PortF zu legen.
Leider schreibt mit der Contoller zwischen die AusgabeWerte jeweils die
alte und neue Hex-Adresse der TabellenWerte.

Eine extra Schleife die mir nur denn richtigen Wert ausgibt möcht ich
vermeiden. An was habe ich evtl. nicht gedacht?
Die Adressen für die Tabledefinition etc. müßten stimmen.

Grüße und Dank
  PJ

weiterschalten



    movfp pointerwert,WREG    ; Tabellenanfang laden

    movwf TBLPTRL  ; unteren 8Bit der Tabelle ausgeben

    movlb 5
    tablrd 0,1,PORTF  ; Tabelle auslesen und table pointer control
inkrementrieren
    movlb 0

    movlw H'30'
    cpfslt TBLPTRL  ;pointerwert prüfen ob am tabellenende
    goto pointernullen  ; wenn pointerwert > 0x30 pointer auf 0x20
zurücksetzen
               ; ansonsten normal weitermachen
    movfp TBLPTRL, WREG
    movwf pointerwert

von Steffen (Gast)


Lesenswert?

"Leider schreibt mit der Contoller zwischen die AusgabeWerte jeweils
die alte und neue Hex-Adresse der TabellenWerte."

Könntest du das genauer erklären?
Der Code scheint so weit OK zu sein, wenn PORTF in Bank5 Liegt (habe
jetzt nur das Datenblatt vom 17C44 zur Hand).

Was gibt es noch für einen Grund die eigentlich völlig überholten 17Cxx
zu verwenden?

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.