Problem med data tables (PIC16f877a)

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Problem med data tables (PIC16f877a)

Inlägg av Swech »

Mja... Sodjans förslag genomskådar jag inte varför den är lättare att läsa.
Du definierar ju dina siffror 2 gånger, först med SET och sedan RETLW
Om man skall göra flera tabeller så kan jag förstå SET funktionen....
Annars så blir ju endast källkoden längre.

Ett annat förslag, generellt, är att man definierar virtuella portar.

Antag att man har 5 tryckknappar som är anslutna till olika portar och naturligtvis pinnar.
Det är vanligt att man läser de olika knapparna genom att läsa av porten och kolla aktuell bit. Detta kan
ske på ett antal olika ställen i programmet

Gör istället EN (och endast EN) avläsningsrutin som läser från de faktiska portarna, kopierar in de relevanta port/pin signalerna från respektive knapp, och vid aktivt låga signaler även inverterar pinresultatet. Slutresultatet
lägger man i en RAM cell som blir programmets virtuella port med knappar...
Alla andra rutiner läser endast från denna cell, där knapp 1 har finns i bit0, knapp 2 i bit 1 osv.

Förändras hårdvaran så justerar man endast i headern/inläsningsrutinen. Resten av programmet kommer att funka utan
att man behöver söka igenom alla portreferenser.. (eftersom det inte finns några)

Swech
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem med data tables (PIC16f877a)

Inlägg av sodjan »

> Du definierar ju dina siffror 2 gånger, först med SET och sedan RETLW
> Om man skall göra flera tabeller så kan jag förstå SET funktionen....

Jo, jag tänkte på det, men kommenterade det inte.
"Gräjen" är att hålla ihop hela bit/segment/symbol definitionen på ett ställe i koden.
RETLW anropen kan ju ligga någon helt annanstans i koden.
Skriv svar