PIC montage-status reg.

R

Rambo

Guest
Ik schrijf een programma met behulp van de PIC16F628A en ik ben actief in om een aantal problemen met behulp van de artithmetic status van de ALU in de STATUS register.Ik heb twee vragen.Eerst heb ik nodig om te weten dat u de status register te controleren of bepaalde bits in.De notitie zegt dat elke schrijfbewerking dat van invloed is op de C, DC, of Z bits zal niet werken.Dus ik vraag
me af hoe het aantal bits wordt gewist wanneer een operatie wordt een van de bits.Als ik niet kan schrijven is, hoe ben ik veronderstel om na Ik lees het en doe een test op de bit?Of is het gewoon duidelijk zichzelf automatisch na een bepaalde hoeveelheid cycli?Ten tweede ben ik echt niet begrijpen wat de C-en DC-bits zijn echt.Ik moet om te kunnen controleren of een bepaalde wiskundige operatie afgetrokken een hoger nummer uit een littler een.Alle hulp zou worden gewaardeerd, bedankt.

 
Yo niet normaal schrijf de STATUS bits.Gebruik je de btfss en btfsc instructies.Bijvoorbeeld, als je wilt zien als het resultaat van de vorige operatie is nul, doe dan dit:

btsfsc STATUS, Z; controleren Z vlag hier
goto RES_WAS_ZERO; indien ingesteld, de vorige operatie ingesteld, ga doen wat
.....; anders, blijven hier

De bits zijn ingesteld / gewist door elke instructie afhankelijk van het resultaat, of sommige operaties gewoon instellen / wissen bits.Daarom is het testen van een status beetje in de volgende instructie zal u vertellen hoe de vorige operatie ging.Check out de datasheet voor meer info over hoe elke instructie van invloed op de status bits.

De C en DC zijn de uitvoering en de cijfers voeren vlaggen.C wordt hoofdzakelijk gebruikt om aan te geven dat carry / lenen conditie.Het wordt ook gebruikt in draaien operaties.DC wordt vooral gebruikt bij het doen BCD rekenkundig.Nogmaals, controleer de datasheet van alle details.

 
C betekent dat de huidige werking verrichten van de meest significante bit (7e) van het resultaat, als u twee getallen A = 20 en B = 240 resultaat = 260 dan een overflow optreden en C is ingesteld.DC is gelijk, maar deze is ingesteld als een carry-out van de 4e laag-order bit van het resultaat opgetreden.Als volgende instructie niet instelt deze stukjes dan zijn zij duidelijk in deze instructie.Maar C en DC bits kan worden gewist door een schrijven, alleen voor en PD kan niet.

leomecma

 

Welcome to EDABoard.com

Sponsor

Back
Top