Home Pic in Greek Οδηγός χρήσης Pic Εντολές Pic16XXX [1] [2] [3] [4] [5] [6] [7] [8] [9]  


 

Σετ εντολών της σειράς  PIC16 ΧΧΧΧ
Περιληπτικά


 

Η σειρά PIC16, ονομάζεται RISC (Reduced Instruction Set Computer) και χρησιμοποιεί ένα σετ 35 μόνο εντολών.
Κάνοντας κλικ στο μνημονικό κάθε εντολής, θα γίνεται αυτόματη μεταφορά στην αναλυτική περιγραφή της.

 

Επεξήγηση βασικών εννοιών 
Μνημονικό : Το αντίστοιχο δεκαεξαδικής εντολής σε απλή μορφή, κατανοητή από τον άνθρωπο.
Τελεστής : Το λειτουργικό μέρος του μνημονικού [ADDWF  f,1 (μνημονικό=πρόσθεσε στον W τον) (τελεστής= f και αποθήκευσε το αποτέλεσμα στον f)]
MSb : Το περισσότερο σημαντικό bit ενός Byte
LSb : Το λιγότερο σημαντικό bit ενός Byte
Flag : Σημαία, κατάσταση των bit του καταχωρητή  STAΤUS
f : Το όνομα του καταχωρητή
d : Η σταθερά που δείχνει τον προορισμό του αποτελέσματος μιας πράξης (αποθήκευση στο w αν d=0 ή αποθήκευση στο f αν d=1)
W : Η συντομογραφία του καταχωρητή γενικής λειτουργίας (Working register)
k : Ένας σταθερός αριθμός που θέλετε να χρησιμοποιήσετε
Επεξήγηση συντομογραφιών 
C : Κρατούμενο, αποτέλεσμα πράξης (Carry)
DC : Ψηφιακό κρατούμενο, αποτέλεσμα πράξης (Digital Carry)
Z : Μηδενικό αποτέλεσμα πράξης (Zero)
: Ψηφία του καταχωρητή STATUS που δείχνουν Time Out (TO) και Power Down (PD)
MSb : Most  Significant bit : Περισσότερο Σημαντικό Ψηφίο μιας ψηφιολέξης (Byte)  Π.Χ : 10101010
LSb : Least Significant bit :    Λιγότερο    Σημαντικό Ψηφίο μιας ψηφιολέξης (Byte)  Π.Χ : 10101010



Μνημονικό

Τελεστής
Λειτουργία Κώδικας Σημαία - Flag
Εντολές χειρισμού ψηφιολέξεων -  Byte oriented file register operations
ADDWF f, d Πρόσθεσε το W και το f  C, DC, Z
ANDWF f, d Κάνε την λογική πράξη AND ανάμεσα στο W και το f Z
CLRF f Μηδένισε το f Z
CLRW - Μηδένισε το W Z
COMF f, d Φτιάξε το συμπλήρωμα του f και αποθήκευσέ το στο d Z
DECF f, d Μείωσε την τιμή του f Z
DECFSZ f, d Μείωσε την τιμή του f, παρέκαμψε την επόμενη εντολή αν ο f γίνει 0
INCF f, d Αύξησε την τιμή του f Z
INCFSZ f, d Αύξησε την τιμή του f, παρέκαμψε την επόμενη εντολή αν ο f γίνει 0
IORWF f, d Κάνε την λογική πράξη IOR ανάμεσα στο W και το f Z
MOVF f, d Μετέφερε το περιεχόμενο του f Z
MOVWF f Μετέφερε το περιεχόμενο του W στο f
NOP - Εντολή δίχως λειτουργία (απλή χρονική καθυστέρηση ενός κύκλου μηχανής)
RLF f, d Μετέφερε προς τα αριστερά το περιεχόμενο του f μέσο του ψηφίου Carry C
RRF f, d Μετέφερε προς τα δεξιά το περιεχόμενο του f μέσο του ψηφίου Carry C
SUBWF f, d Αφαίρεσε το W από το f C, DC, Z
SWAPF f, d Αντιμετάθεσε τα δύο μισά της ψηφιολέξης (Byte) στο f
XORWF f, d Κάνε την λογική πράξη XOR ανάμεσα στο W και το f Z
Εντολές χειρισμού ψηφίων - Bit oriented file register operations
BCF f, b Μηδένισε το ψηφίο b του καταχωρητή f
BSF f, b Κάνε λογικό 1 το ψηφίο b του καταχωρητή f 
BTFSC f, b Εξέτασε το ψηφίο b του καταχωρητή f, παρέκαμψε την επόμενη εντολή αν είναι 0
BTFSS f, b Εξέτασε το ψηφίο b του καταχωρητή f, παρέκαμψε την επόμενη εντολή αν είναι 1
Εντολές πράξεων με σταθερούς  αριθμούς και  ελέγχου προγράμματος - Literal and control operations
ADDLW k Πρόσθεσε τον σταθερό αριθμό k με το W C, DC, Z
ANDLW k Κάνε την λογική πράξη AND ανάμεσα στο k και το W Z
CALL k Κάλεσε την υπορουτίνα k
CLRWDT - Μηδένισε τον επιτηρητή Watchdog Timer
GOTO k Πήγαινε και εκτέλεσε την εντολή που υπάρχει στην διεύθυνση k
IORLW k Κάνε την λογική πράξη IOR ανάμεσα στο k και το W Z
MOVLW k Μετέφερε το περιεχόμενο του k στο W
RETFIE - Επέστρεψε στην διεύθυνση που ήσουν πριν συμβεί η διακοπή (interrupt)
RETLW k Επέστρεψε από υπορουτίνα και φόρτωσε τον σταθερό αριθμό k στο  W
RETURN - Επέστρεψε από υπορουτίνα
SLEEP - Ενεργοποίησε την λειτουργία χαμηλής κατανάλωσης (Sleep - κατανάλωση 2μA)
SUBLW k Αφαίρεσε το περιεχόμενο του  W από το σταθερό αριθμό k C, DC, Z
XORLW k Κάνε την λογική πράξη XOR ανάμεσα στο k και το W Z