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
Problem med data tables (PIC16f877a)
Re: Problem med data tables (PIC16f877a)
> 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.
> 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.