ΓΝΩΡΙΜΙΑ ΜΕ ΤΟΝ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΗ PIC16F84A
Σέ αυτές οι σελίδες θα δούμε τη βασική δομή της συσκευής, μέχρι το στάδιο του προγραμματισμού με διάφορες μεθόδους και τεχνικές. Επίσης, θα υπάρξουν προτάσεις για το πώς να τροποποιήσετε τον κώδικα έτσι ώστε να μπορείτε να προσαρμόσετε το PIC για να ταιριάξει τις εφαρμογές σας. Δεν θα αναλύσουμε προς το παρόν τα διαγράμματα και την εσωτερική αρχιτεκτονική του, καθώς αυτό μπορεί να οδηγήσει μόνο σε σύγχυση. Αν θέλετε να δείτε το φύλλο δεδομένων, ή αλλιώς datasheet τότε αυτό μπορείτε να το κατεβάσετε από την ιστοσελίδα της 'μικροτσίπ'.
Για να ξεκινήσουμε, ας ρίξουμε μια ματιά στα ποδαράκια του PIC 16F84 μικροελεγκτή της Microchip. Υπάρχουν πολλές διαφορετικές εκδόσεις διαθέσιμες, κάποιες βασικές με χαμηλό μέγεθος μνήμης, με ή χωρίς αναλογικό - σε ψηφιακό μετατροπείς, ακόμα και με PWM τοποθετημένο εσωτερικά. Εδώ θα επικεντρωθούμε στον PIC 16F84. Αφού θα έχετε μάθει πώς να προγραμματίσεται έναν τύπο του PIC, η μάθηση για τους υπόλοιπους είναι πιο εύκολο.
Υπάρχουν διάφοροι τρόποι προγραμματισμού του PIC - χρησιμοποιώντας BASIC, C, ή Γλώσσα assembly. Εγώ θα δούμε την Γλώσσα assembly. Μην αποθαρρύνεστε από αυτή. Υπάρχουν μόνο 35 εντολές για να μάθεται, και είναι πιο εύκολος ο τρόπος για να προγραμματίσετε τους PIC καθώς δεν χρειάζεται κανένα επιπλέον λογισμικό, εκτός από το mplab.
Τα PIC16F84 Pins
Παρακάτω είναι ένα διάγραμμα που δείχνει το pin-out του PIC 16F84. και εξηγούμε το ρόλο τους.
RA0 έως RA4
RA είναι μια αμφίδρομη θύρα. Δηλαδή, μπορεί να διαμορφωθεί ως είσοδος ή έξοδος. Ο αριθμός που ακολουθεί το RA είναι ο αριθμός bit (0 έως 4). Έτσι, έχουμε ένα 5-bit κατεύθυνσης θύρα, όπου κάθε πιν του ολοκληρομένου μπορεί να ρυθμιστεί ως είσοδος ή έξοδος.
Rb0 έως RB7
RB είναι μία δεύτερη αμφίδρομη θύρα. Συμπεριφέρεται με τον ίδιο ακριβώς τρόπο όπως η προηγούμενη, με εξαίρεση ότι υπάρχουν 8 - bits που εμπλέκονται σε αυτή την θύρα.
Τα VSS VDD
Αυτά είναι τα pins τροφοδοσίας. VDD είναι το θετικό της τροφοδοσίας, και VSS είναι το αρνητικό της τροφοδοσίας, ή 0V. Η μέγιστη τάση τροφοδοσίας που μπορείτε να χρησιμοποιήσετε είναι 6V, και το ελάχιστο είναι 2V
OSC1/CLKIN και OSC2/CLKOUT
Αυτά τα pins είναι όπου θα συνδέσετε ένα εξωτερικό κρύσταλο, έτσι ώστε ο μικροελεγκτής να παράγει μια συχνότητα ή το λεγόμενο clock.
MCLR
Αυτό το pin χρησιμοποιείται για να διαγράψει τις θέσεις μνήμης.Σε κανονική χρήση είναι συνδεδεμένο με το θετικό της τροφοδοσίας.
INT
Αυτό είναι ένα pin εισόδου που χρησιμοποιήται για να προκαλέσει διακοπές στο πρόγραμμα, από εξωτερική συσκευή. Προς το παρόν δεν θα χρησιμοποιήσουμε αυτό το πιν.
T0CK1
Αυτό είναι μια άλλη είσοδος του ρολογιού, στο οποίο λειτουργεί ένα εσωτερικό χρονόμετρο. Λειτουργεί σε απομόνωση με το κεντρικό ρολόι. Και αυτό δεν θα το χρησιμοποιήσουμε αρκετά.