__________ lezioni sui MICROCONTROLLORI : STATUS _________ prof.Romei Michele __________
Lo STATUS Register
Lo status register è un registro ad 8 bit:
bit 7- IRP: selezione del
banco per indirect addressing
i PIC permettono di indirizzare la
memoria in modo indiretto mediante una specie di puntatore; il bit 7
dello status register serve a specificare a quale banco di memoria si
riferisce il puntatore.
1 = Bank 2, 3 (100h-1FFh)
0 = Bank 0, 1 (00h-FFh)
bit 6/5 - RP1/RP0:
selezione del banco di memoria
la memoria del PIC è
organizzata in banchi da 128 byte.
11 = Bank 3 (180h-1FFh)
10 = Bank 2 (100h-17Fh)
01 = Bank 1 (80h-FFh)
00 = Bank 0 (00h-7Fh)
bit 4 - TO: bit (negato)
di time out
è un bit che è normalmente posto a 1 e
diviene 0 quando si verifica un time out del Watch Dog Timer.
bit 3 - PD: bit (negato)
di Power Down
è un bit che è normalmente a 1 e
diviene 0 quando il PIC riceve una istruzione di sleep.
bit 2 - Z: zero
bit
insieme al bit 0 è uno dei più importanti:
diventa 1 quando il risultato di una operazione aritmetica o logica è
zero.
bit 1 - DC: digit carry
bit
diventa 1 quando una operazione matematica produce un overflow
oltre il 4 bit
bit 0 - C: carry bit
è
il bit di riporto; diventa 1 quando si produce un overflow oltre
l’ottavo bit.
I bit 0 e 1 hanno anche la
funzione di borrow (neg) nelle sottrazioni ricordando che le
sottrazioni sono effettuate in complemento a 2.
N.B.
Traduzione legenda:
W=bit scrivibile
R=bit leggibile
u=bit non implementato, letto come 0
-n=valore al power-on reset
Come utilizzare il Carry, il digit carry e il flag Z :
E' importante notare che nella differenza o sottrazione, il carry e il digit carry lavorano in logica negativa. Quindi vanno posti a “1” e se intervengono vanno a “0”. E' importante settarli sia con la somma che con la sottrazione al valore neutro, prima di effettuare l'operazione da controllare.