Υλικολογισμικό για μικροελεγκτές PIC από την αρχή. Εκμάθηση προγραμματισμού ελεγκτών PIC για αρχάριους Προγραμματισμός εικ

Όταν γίνονται διαγράμματα, είναι απαραίτητο κάποιος ή κάτι να ελέγχει την εκτέλεση των απαραίτητων ενεργειών. Για τους ανθρώπους, αυτό είναι αρκετά προβληματικό, καθώς είναι απαραίτητο να χρησιμοποιηθεί ένας σημαντικός αριθμός διαφορετικών στοιχείων για τον έλεγχο της λειτουργίας τους (τρανζίστορ, αντιστάσεις, θυρίστορ, δίοδοι, πυκνωτές και άλλα). Αλλά όλα τα πολύπλοκα και μεγάλα κυκλώματα μπορούν να ελεγχθούν χρησιμοποιώντας ελεγκτές (μικροελεγκτές). Τι είναι θα εξηγηθεί χρησιμοποιώντας το παράδειγμα των οικογενειών ΥΠΕΝ. Λοιπόν, για ανδρείκελα; Ποιο είναι το σχήμα τους και πού χρησιμοποιούνται.

Τι είναι ένας μικροελεγκτής PIC;

Ένας ελεγκτής PIC (ή μικροελεγκτής) είναι ένα μέσο αυτοματοποίησης της εκτέλεσης ορισμένων ενεργειών χρησιμοποιώντας ένα προπαρασκευασμένο πρόγραμμα. Ένα χαρακτηριστικό των εκπροσώπων αυτής της σειράς προϊόντων είναι η ευκολία προγραμματισμού και η διαθεσιμότητα όλων των απαραίτητων λειτουργιών για εργασία. Περιγράφοντας τον σχεδιασμό του, πρέπει να σημειωθεί ότι περιέχει μόνο έναν κρύσταλλο πυριτίου (αυτό είναι χαρακτηριστικό γνώρισμα όλων των μικροελεγκτών). Εκτός από αυτό, ο ελεγκτής PIC έχει έναν ορισμένο αριθμό ποδιών. Κάποια από αυτά μπορούν να χρησιμοποιηθούν ως λογικές είσοδοι, άλλα ως έξοδοι, τα υπόλοιπα έχουν αμφίδρομη χρήση. Τα πόδια μπορεί να είναι είτε ψηφιακά είτε αναλογικά.

Για να λειτουργήσει η συντριπτική πλειοψηφία των ελεγκτών PIC, απαιτείται σταθερή τάση 5 V. Αυτό αρκεί για να εργαστεί με τον συνήθη τρόπο λειτουργίας του και να εκτελέσει το πρόγραμμα που του έχει ανατεθεί. Απευθείας από υπολογιστή δεν είναι δυνατό. Για το σκοπό αυτό χρησιμοποιείται προγραμματιστής.

Οικογένειες ελεγκτών

Ο ελεγκτής PIC δεν υπάρχει σε ένα μόνο αντίγραφο. Ο κατασκευαστής παράγει μια σημαντική γκάμα μικροελεγκτών, καθένας από τους οποίους έχει τα δικά του χαρακτηριστικά, δυνατότητες και πιθανές χρήσεις. Ο αριθμός των ίδιων των οικογενειών είναι αρκετά μεγάλος και εξαρτάται από το χαρακτηριστικό ταξινόμησης, το οποίο λαμβάνεται ως το κύριο. Επομένως, αξίζει να αναφέρετε μόνο την κύρια ταξινόμηση, στην οποία υπάρχουν μόνο τρεις οικογένειες: 8-, 16- και 32-bit. Αυτοί, με τη σειρά τους, χωρίζονται σε άλλους, αλλά επειδή οι ίδιες οι οικογένειες δεν είναι το θέμα του άρθρου, δεν θα συζητηθούν.

Πού χρησιμοποιείται;

Λόγω της ευελιξίας του, ο ελεγκτής PIC μπορεί να χρησιμοποιηθεί σχεδόν οπουδήποτε. Οι ίδιοι οι μικροελεγκτές μπορούν να βρεθούν σε ψυγεία, τηλεοράσεις και πλυντήρια ρούχων. Αλλά η σειρά προϊόντων PIC έχει την ιδιαιτερότητα ότι τα κυκλώματα που βασίζονται σε ελεγκτές PIC είναι δημοφιλή μεταξύ των ραδιοερασιτέχνων και των αυτοδίδακτων ρομποτικών. Με τη βοήθειά τους, μπορείτε εύκολα να διαμορφώσετε τη λειτουργία μιας μονάδας ή μιας ολόκληρης συσκευής. Αυτή η δημοτικότητα διευκολύνεται από τη λογική τιμή, την ευκολία προγραμματισμού και τη σημαντική ποσότητα εκπαιδευτικού υλικού.

Μπορείτε να χρησιμοποιήσετε έναν ελεγκτή PIC κατά τη δημιουργία ενός ρομποτικού βραχίονα και σε άλλες χειροτεχνίες που μπορούν να γίνουν με μέτριο προϋπολογισμό. Μπορεί επίσης να χρησιμοποιηθεί για κάτι βιομηχανικό - το θέμα της δημιουργίας αυτόματων σπιτικών μηχανών που ελέγχονται από μικροελεγκτή είναι αρκετά δημοφιλές. Το εύρος των χρήσεων είναι ευρύ και με τη σωστή προσέγγιση μπορεί να εκπληρωθεί σχεδόν οποιοσδήποτε σκοπός, επομένως τα κυκλώματα στους ελεγκτές PIC δεν μπορούν να φαίνονται μόνο σε ερασιτεχνικές δημιουργίες.

Λογισμικό για εργασία με ελεγκτή PIC

Το ελάχιστο απαιτούμενο λογισμικό είναι το σημειωματάριο. Ωστόσο, λόγω της δωρεάν διανομής, μπορείτε επίσης να χρησιμοποιήσετε το λογισμικό MPLAB που προσφέρει ο κατασκευαστής. Πιο συγκεκριμένα, μια σειρά εργαλείων λογισμικού (περιβάλλοντα ανάπτυξης, μεταγλωττιστές) MPLAB. Χάρη στην πολιτική της εταιρείας, διανέμεται δωρεάν, αλλά έχει ορισμένους περιορισμούς. Έτσι, με μια βραχυπρόθεσμη έκδοση επίδειξης, μπορείτε να δοκιμάσετε με όλες τις δυνατότητες, αλλά αφού τελειώσει, η λειτουργικότητα του προγράμματος θα μειωθεί. Το πλήρες πρόγραμμα περιέχει σημαντικά εργαλεία που διευκολύνουν τη δημιουργία προγραμμάτων, την εύκολη αναζήτηση για διάφορες προβληματικές περιοχές και τη βελτιστοποίηση του κώδικα. Ανάλογα με την έκδοση, η δυνατότητα βελτιστοποίησης κώδικα μπορεί να διακοπεί ή να μειωθεί ο αριθμός των ελεγκτών που υποστηρίζονται από το πρόγραμμα. Για του λόγου το αληθές, αξίζει να πούμε ότι η εταιρεία αφήνει υποστήριξη αποκλειστικά στους δημοφιλέστερους εκπροσώπους.

Υπάρχει επίσης ένας αριθμός λογισμικού που παρέχεται από άλλες εταιρείες. Σε γενικές γραμμές, η λειτουργικότητά τους είναι παρόμοια, αλλά υπάρχουν και διαφορές. Έτσι, πολλοί εκφράζουν τη δυσαρέσκειά τους που το MPLAB έχει ένα σχέδιο που δεν είναι πιστό στους χρήστες. Επομένως, οι κατασκευαστές βασίζονται στη διατήρηση των περικομμένων λειτουργιών και στην ευκολία χρήσης με το λογισμικό τους Τα προγράμματα για ελεγκτές PIC είναι πολύ διαφορετικά, επομένως αυτό είναι σε μεγάλο βαθμό θέμα γούστου.

Δημιουργία προγράμματος για ελεγκτή PIC

Μπορείτε να δημιουργήσετε ένα ειδικό πρόγραμμα χρησιμοποιώντας το κατάλληλο λογισμικό και ακόμη και σε ένα απλό σημειωματάριο. Αυτή η δυνατότητα υπάρχει λόγω του γεγονότος ότι λειτουργεί με γλώσσες προγραμματισμού όπως η assembly και η C. Η κύρια διαφορά είναι ο όγκος των πληροφοριών που πρέπει να γραφτούν και η ευκολία στον καθορισμό δεδομένων. Ακούτε πολλά για την πολυπλοκότητα του C, αλλά το assembler είναι ακόμα πιο περίπλοκο και απαιτεί μια πιο προσεκτική προσέγγιση.

Επομένως, κατά τη δημιουργία ενός προγράμματος, πρέπει να υποδείξετε για ποιον ελεγκτή προορίζεται. Μπορεί να χρειαστεί να κάνετε ορισμένες προσαρμογές, αλλά πρέπει να γίνουν εάν έχετε εμπειρία ή εμπιστοσύνη στις ικανότητές σας, επειδή τα λάθη μπορεί να οδηγήσουν τους μικροελεγκτές να μετατραπούν σε συνηθισμένα κομμάτια πλαστικού και σιδήρου.

Προγραμματισμός με προγραμματιστή

Πώς όμως να μεταφέρετε το αναπτυγμένο πρόγραμμα στον ίδιο τον μικροελεγκτή; Πώς γίνεται ο προγραμματισμός μικροελεγκτή; Υπάρχουν ειδικές συσκευές ειδικά για αυτό το σκοπό - προγραμματιστές. Στέλνουν σήματα στον μικροελεγκτή που αλλάζουν κελιά μνήμης σύμφωνα με το πρόγραμμα. Για να ξεκινήσετε τη διαδικασία μεταφοράς δεδομένων, πρέπει να εισαγάγετε τον μικροελεγκτή στον προγραμματιστή και αυτός, με τη σειρά του, να συνδεθεί στον υπολογιστή. Στη συνέχεια, θα πρέπει να εκτελέσετε το υλικολογισμικό χρησιμοποιώντας το λογισμικό. Ο τυπικός προγραμματισμός ελεγκτών PIC διαρκεί από τριάντα δευτερόλεπτα έως δύο λεπτά.

Τύποι προγραμματιστών

Ποιον προγραμματιστή να επιλέξω για να γράψω ένα πρόγραμμα σε έναν μικροελεγκτή; Συμβατικά, διακρίνονται τρεις τύποι: σπιτικό, από την εταιρεία κατασκευής, και εργοστασιακό από άλλες εταιρείες. Η χρήση καθενός από αυτά έχει τα δικά του χαρακτηριστικά.

Έτσι, οι σπιτικοί προγραμματιστές είναι αρκετά φθηνοί. Αλλά η χρήση τους διακινδυνεύει το γεγονός ότι μπορούν εύκολα να μετατρέψουν έναν μικροελεγκτή σε ένα κομμάτι πλαστικού και σιδήρου. Και ο προγραμματισμός των μικροελεγκτών μπορεί σε τέτοιες περιπτώσεις να έχει δυσάρεστες συνέπειες με τη μορφή ηλεκτροπληξίας, επομένως θα πρέπει να τηρείτε τις προφυλάξεις ασφαλείας. Επιπλέον, αν το κάνετε μόνοι σας από την αρχή, συχνά θα καταλήξετε σε ένα προϊόν με μάλλον περιορισμένες δυνατότητες αλλαγής του αντικειμένου εργασίας. Αλλά στον παγκόσμιο ιστό μπορείτε να βρείτε έναν σημαντικό αριθμό λύσεων σε αυτό το πρόβλημα, που προτείνονται από άλλα άτομα και που πιθανότατα δεν θα σας δημιουργήσουν προβλήματα.

Ένας πρωτότυπος προγραμματιστής από τον κατασκευαστή θα μπορεί να κάνει τη δουλειά του αποτελεσματικά για οποιονδήποτε μικροελεγκτή. Έρχεται με εγγύηση και αν δεν λειτουργεί μετά την παραλαβή του, η αντικατάστασή του δεν αποτελεί πρόβλημα. Αλλά είναι φυσιολογικό να αναβοσβήνει το υλικολογισμικό του ελεγκτή PIC χωρίς κανένα πρόβλημα.

Αλλά η αρκετά υψηλή τιμή με εμποδίζει να το αγοράσω.

Οι προγραμματιστές που παράγονται από άλλες εταιρείες έχουν ένα αρκετά ευρύ φάσμα αντικειμένων με τα οποία συνεργάζονται. Χαρακτηριστικό τους είναι η χαμηλή τιμή τους ή/και η δυνατότητα εργασίας με μικροελεγκτές εκτός του PIC. Υπάρχουν επίσης πραγματικά καθολικά «τέρατα» που μπορούν να παρέχουν λειτουργία διαφόρων τύπων, αλλά λόγω της ανάγκης δημιουργίας μεγάλου αριθμού συνδέσεων, η τιμή τους δεν είναι ποτέ χαμηλή.

Σχηματικά χαρακτηριστικά

Και τέλος, λίγα λόγια για τα σχήματα εικόνων. Θα πρέπει να καθοδηγηθείτε από τα πόδια με βάση τη συνοδευτική τεκμηρίωση, καθώς τα σχηματικά διαγράμματα των μικροελεγκτών συχνά διαφέρουν από την πραγματική κατασκευή των ακίδων. Το κύριο πράγμα σε τέτοιες περιπτώσεις είναι τα υπογεγραμμένα συμπεράσματα και από αυτά θα πρέπει να καθοδηγηθείτε κατά τη δημιουργία μιας συσκευής.

Οι ελεγκτές PIC παραμένουν δημοφιλείς όταν πρόκειται για τη δημιουργία ενός χαμηλού κόστους, συμπαγούς συστήματος χαμηλής κατανάλωσης που δεν απαιτεί υψηλές απαιτήσεις ελέγχου. Αυτοί οι ελεγκτές σάς επιτρέπουν να αντικαταστήσετε τη λογική υλικού με ευέλικτο λογισμικό που αλληλεπιδρά με εξωτερικές συσκευές μέσω καλών θυρών.

Οι μικροσκοπικοί ελεγκτές PIC είναι καλοί για την κατασκευή μετατροπέων για διασυνδέσεις σειριακής μετάδοσης δεδομένων, για την υλοποίηση των λειτουργιών «λήψη - επεξεργασία - μετάδοση δεδομένων» και απλούς ελεγκτές συστημάτων αυτόματου ελέγχου.

Το Microchip διανέμει το MPLAB, ένα δωρεάν ενσωματωμένο περιβάλλον επεξεργασίας και εντοπισμού σφαλμάτων προγραμμάτων που εγγράφει δυαδικά αρχεία σε μικροελεγκτές PIC μέσω προγραμματιστών.

Η αλληλεπίδραση MPLAB και Matlab/Simulink σας επιτρέπει να αναπτύξετε προγράμματα για ελεγκτές PIC στο περιβάλλον Simulink - γραφική μοντελοποίηση και ανάλυση δυναμικών συστημάτων. Αυτή η εργασία εξετάζει τα εργαλεία προγραμματισμού ελεγκτών PIC: προγραμματιστής MPLAB, Matlab/Simulink και PIC-KIT3 στις ακόλουθες ενότητες.

Χαρακτηριστικά του μικροσκοπικού ελεγκτή PIC PIC12F629
Ενσωματωμένο περιβάλλον ανάπτυξης MPLAB IDE
Σύνδεση Matlab/Simulink σε MPLAB
Σύνδεση του προγραμματιστή PIC-KIT3

Χαρακτηριστικά του μικροσκοπικού ελεγκτή PIC

Η οικογένεια PIC12xxx περιέχει ελεγκτές σε μια μικροσκοπική συσκευασία 8 ακίδων με ενσωματωμένη γεννήτρια ρολογιού. Οι ελεγκτές έχουν αρχιτεκτονική RISC και διασφαλίζουν την εκτέλεση των περισσότερων εντολών του επεξεργαστή σε έναν κύκλο μηχανής.

Για παράδειγμα, παρακάτω είναι τα χαρακτηριστικά ενός φθηνού, συμπαγούς ελεγκτή 8-bit PIC12F629 με θύρες πολλαπλών λειτουργιών, χαμηλή κατανάλωση και μεγάλο εύρος ισχύος.

Αρχιτεκτονική: RISC
Τάση τροφοδοσίας VDD: 2,0V έως 5,5V (< 6,5В)
Κατανάλωση:
- <1,0 мА @ 5,5В, 4МГц
- 20 µA (typ) @ 32 kHz, 2,0V
- <1,0 мкА (тип) в режиме SLEEP@2,0В
Κατανομή ισχύος: 0,8W
Κανάλια I/O πολλαπλών λειτουργιών: 6/5
Μέγιστο ρεύμα εξόδου των θυρών GPIO: 125mA
Ρεύμα μέσω προγραμματιζόμενων αντιστάσεων έλξης εσωτερικής θύρας: ≥50 (250) ≤400 µA @ 5,0V
Μέγεθος ελεγκτή: 8
Συχνότητα ρολογιού από εξωτερικό ταλαντωτή: 20 MHz
Χρόνος κύκλου μηχανής: 200 ns
Συχνότητα ρολογιού από εσωτερικό ταλαντωτή RC: 4 MHz ±1%
Χρόνος κύκλου μηχανής: 1μs
Μνήμη προγράμματος FLASH: 1K
Αριθμός κύκλων διαγραφής/εγγραφής: ≥1000
Μνήμη δεδομένων RAM: 64
Μνήμη δεδομένων EEPROM: 128
Αριθμός κύκλων διαγραφής/εγγραφής: ≥10K (-40оС ≤TA≤ +125 оС)
Μητρώα ειδικού σκοπού υλικού: 16
Λίστα εντολών: 35 εντολές, όλες οι εντολές εκτελούνται σε έναν κύκλο μηχανής,
εκτός από τις εντολές άλματος που εκτελούνται σε 2 κύκλους
Στοίβα υλικού: 8 στρώσεις
Χρονοδιακόπτης/Μετρητής TMR0: 8-bit με prescaler
Χρονοδιακόπτης/Μετρητής TMR1: 16-bit με prescaler

Επιπρόσθετα χαρακτηριστικά:
Επαναφορά ενεργοποίησης (POR)
Επαναφορά χρονοδιακόπτη (χρονόμετρο αναμονής έναρξης γεννήτριας PWRT (OST)
Επαναφορά χαμηλής τάσης (BOD)
Watchdog timer WDT
Έξοδος Multiplexed - MCLR
Σύστημα διακοπής για αλλαγή της στάθμης σήματος στις εισόδους
Ατομικά προγραμματιζόμενες αντιστάσεις έλξης για κάθε είσοδο
Προγραμματιζόμενη προστασία εισόδου
SLEEP Λειτουργία χαμηλής κατανάλωσης ενέργειας
Επιλογή του τρόπου λειτουργίας της γεννήτριας ρολογιού
Προγραμματισμός εντός κυκλώματος ICSP με χρήση δύο ακίδων
Τέσσερα προσαρμοσμένα αναγνωριστικά κελιών

Περιορίστε τη θερμοκρασία λειτουργίας για την έκδοση E (εκτεταμένη περιοχή) από -40°C έως +125°C.
Θερμοκρασία αποθήκευσης από -65°C έως +150°C.

Η τεχνολογία ελεγκτή CMOS παρέχει έναν εντελώς στατικό τρόπο λειτουργίας, στον οποίο η διακοπή της γεννήτριας ρολογιού δεν οδηγεί στην απώλεια των λογικών καταστάσεων των εσωτερικών κόμβων.
Ο μικροελεγκτής PIC12F629 διαθέτει θύρα GPIO 6-bit. Μία ακίδα GP3 της θύρας GPIO λειτουργεί μόνο ως είσοδος, οι υπόλοιπες ακίδες μπορούν να ρυθμιστούν ώστε να λειτουργούν τόσο ως είσοδος όσο και ως έξοδος. Κάθε pin GPIO έχει ένα ξεχωριστό bit ενεργοποίησης διακοπής για την αλλαγή του επιπέδου σήματος στις εισόδους και ένα εσωτερικό bit ενεργοποίησης της αντίστασης έλξης.

Ενσωματωμένο περιβάλλον ανάπτυξης MPLAB IDE

MPLAB IDE - ένα δωρεάν ολοκληρωμένο περιβάλλον ανάπτυξης λογισμικού για μικροελεγκτές PIC περιλαμβάνει εργαλεία για δημιουργία, επεξεργασία, εντοπισμό σφαλμάτων, μετάφραση και σύνδεση προγραμμάτων, εγγραφή κώδικα μηχανής σε μικροελεγκτές μέσω προγραμματιστών.

Οι δωρεάν εκδόσεις του MPLAB (συμπεριλαμβανομένου του MPLAB 8.92) αποθηκεύονται στον ιστότοπο του Microchip στην ενότητα «ΛΗΨΗ ΑΡΧΕΙΟΥ».

Δημιουργία Έργου

Ένα παράδειγμα δημιουργίας ενός έργου προγράμματος ελεγκτή PIC στο περιβάλλον MPLAB περιλαμβάνει τα ακόλουθα βήματα.

1. Καλέστε τον υπεύθυνο του έργου.

2. Επιλογή του τύπου μικροελεγκτή PIC.


3. Επιλέξτε έναν μεταγλωττιστή, για παράδειγμα, Microchip MPASM για assembler.


4. Επιλέξτε τη διαδρομή προς τον κατάλογο του έργου (πλήκτρο Αναζήτηση...) και εισαγάγετε το όνομα του έργου.

5. Δεν χρειάζεται να συνδέσετε αρχεία στο έργο στο παράθυρο Project Wizard → Step Four. Αυτό μπορεί να γίνει αργότερα, μέσα στο ενεργό έργο. Το πλήκτρο Επόμενο ανοίγει το επόμενο παράθυρο.

6. Ολοκλήρωση της δημιουργίας του έργου (Κλειδί Finish).

Ως αποτέλεσμα της δημιουργίας του έργου FirstPrMPLAB, η διεπαφή MPLAB παίρνει τη μορφή που φαίνεται στην Εικ. 1.


Ρύζι. 1. Διεπαφή περιβάλλοντος MPLAB v8.92 και πρότυπο έργου.

Δημιουργία αρχείου προγράμματος
Το πρόγραμμα μπορεί να δημιουργηθεί χρησιμοποιώντας οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου. Το MPLAB διαθέτει έναν ενσωματωμένο επεξεργαστή που παρέχει μια σειρά από πλεονεκτήματα, για παράδειγμα, γρήγορη λεξιλογική ανάλυση του κειμένου πηγής, ως αποτέλεσμα της οποίας οι δεσμευμένες λέξεις, οι σταθερές, τα σχόλια και τα ονόματα που ορίζονται από το χρήστη επισημαίνονται στο κείμενο.

Η δημιουργία ενός προγράμματος στο MPLAB μπορεί να γίνει με την ακόλουθη σειρά.

1. Ανοίξτε το πρόγραμμα επεξεργασίας: μενού → Αρχείο → Νέο. Αρχικά, στο πρόγραμμα δόθηκε το όνομα Untitled.

2. Πληκτρολογήστε ή αντιγράψτε το πρόγραμμα, για παράδειγμα, σε assembler.


Ρύζι. 2. Ένα παράδειγμα του απλούστερου προγράμματος (στο assembler) για την έξοδο σημάτων μέσω των θυρών του ελεγκτή GP0, GP1, GP2, GP4, GP5 στη μέγιστη συχνότητα.

Η εγγραφή ενός '1' στο bit καταχωρητή TRISIO τοποθετεί το αντίστοιχο buffer εξόδου στην 3η κατάσταση, οπότε η θύρα GP μπορεί να λειτουργήσει μόνο ως είσοδος. Η ρύθμιση του TRISIO στο μηδέν διαμορφώνει τη θύρα GP ώστε να λειτουργεί ως έξοδος.

Σημείωση. Σύμφωνα με την προδιαγραφή PIC12F629, η θύρα GP3 του μικροελεγκτή λειτουργεί μόνο ως είσοδος (το αντίστοιχο bit του καταχωρητή TRISIO δεν επαναφέρεται - βρίσκεται πάντα στο '1').

Οι καταχωρητές TRISIO και GPIO βρίσκονται σε διαφορετικές τράπεζες της περιοχής μνήμης. Η εναλλαγή τράπεζας εκτελείται από το 5ο bit του καταχωρητή STATUS.

Οποιοδήποτε πρόγραμμα assembler ξεκινά με την οδηγία org και τελειώνει με την οδηγία τέλους. Η μετάβαση goto του Metka εξασφαλίζει την κυκλική εκτέλεση του προγράμματος.

Το πρόγραμμα (Εικ. 2) χρησιμοποιεί τον ακόλουθο συμβολισμό.

Οδηγία LIST - εκχώρηση τύπου ελεγκτή
__Οδηγία CONFIG - ρύθμιση των τιμών των bit διαμόρφωσης ελεγκτή
equ οδηγία - εκχώρηση αριθμητικής τιμής
Directive org 0 - έναρξη εκτέλεσης προγράμματος από τη διεύθυνση 0
Εντολή bsf - ορίζει ένα bit του καθορισμένου καταχωρητή σε 1
Εντολή bсf - επαναφέρει ένα bit του καθορισμένου καταχωρητή στο 0
Εντολή movlw - γράφει μια σταθερά στον καταχωρητή W
Εντολή movwf - αντιγράφει τα περιεχόμενα του καταχωρητή W στον καθορισμένο καταχωρητή
εντολή goto - παρέχει μια μετάβαση χωρίς συνθήκη στη γραμμή με μια ετικέτα
Οδηγία λήξης - τέλος προγράμματος

Ρύθμιση της απαιτούμενης διαμόρφωσης μικροελεγκτή
Η διαμόρφωση του μικροελεγκτή PIC12F629 εξαρτάται από τις ρυθμίσεις της λέξης διαμόρφωσης (2007h), η οποία μπορεί να ρυθμιστεί στο πρόγραμμα μέσω της οδηγίας __CONFIG.

Απευθείας ή μέσω του παραθύρου MPLAB: μενού → Διαμόρφωση → Bits διαμόρφωσης:

Οπου:

Bit 2-0- FOSC2:FOSC0. Επιλογή ρολογιού
111 - Εξωτερική γεννήτρια RC. Συνδέεται με τον ακροδέκτη GP5. Το GP4 λειτουργεί ως CLKOUT
110 - Εξωτερική γεννήτρια RC. Συνδέεται με τον ακροδέκτη GP5. Το GP4 λειτουργεί ως I/O
101 - Εσωτερικός ταλαντωτής RC 4 MHz. Το GP5 λειτουργεί ως I/O. GP4 - όπως το CLKOUT
100 - Εσωτερικός ταλαντωτής RC 4MHz. Οι GP5 και GP4 λειτουργούν ως I/O
011 - Γεννήτρια EC. Το GP4 λειτουργεί ως I/O. GP5 - όπως το CLKIN
010 - Γεννήτρια HC. Το αντηχείο συνδέεται με GP4 και GP5
001 - Γεννήτρια XT. Το αντηχείο συνδέεται με GP4 και GP5
000 - Γεννήτρια LP. Το αντηχείο συνδέεται με GP4 και GP5

Bit 3- WDTE: Ρύθμιση χρονοδιακόπτη Watchdog
1 - WDTE ενεργοποιημένο
0 - Το WDTE είναι απενεργοποιημένο

Ο χρονοδιακόπτης παρακολούθησης προστατεύει τον μικροελεγκτή από το πάγωμα - επανεκκινεί το πρόγραμμα μετά από ένα ορισμένο χρονικό διάστημα εάν δεν έχει γίνει επαναφορά του χρονοδιακόπτη. Η χρονική περίοδος ορίζεται στον καταχωρητή OPTION_REG. Η επαναφορά του χρονοδιακόπτη παρακολούθησης προκαλείται από την εντολή CLRWDT.

Bit 4- PWRTE: Ενεργοποίηση χρονοδιακόπτη ενεργοποίησης:
1 - PWRT απενεργοποιημένο
0 - PWRT ενεργοποιημένο

Ο χρονοδιακόπτης διατηρεί τον μικροελεγκτή σε κατάσταση επαναφοράς όταν εφαρμόζεται τροφοδοσία VDD.

Bit 5- MCLR: Επιλογή τρόπου λειτουργίας εξόδου GP3/-MCLR
1 - λειτουργεί σαν -MCLR
0 - λειτουργεί ως θύρα εισόδου/εξόδου GP3

Bit 6- BODEN: Ενεργοποίηση επαναφοράς όταν πέφτει η τάση τροφοδοσίας (συνήθως< 2.0В)
1 - Η επαναφορά BOR είναι ενεργοποιημένη
0 - Η επαναφορά BOR απαγορεύεται, ο χρονοδιακόπτης ενεργοποιείται αυτόματα

Όταν η επαναφορά BOR είναι ενεργοποιημένη, ο χρονοδιακόπτης PWRT ξεκινά αυτόματα

Bit 7- .CP: Προγραμματίστε το bit προστασίας της μνήμης από την ανάγνωση από τον προγραμματιστή
1 Η προστασία είναι απενεργοποιημένη
0 Η προστασία ενεργοποιήθηκε

Όταν η προστασία είναι απενεργοποιημένη, όλη η μνήμη του προγράμματος διαγράφεται

Bit 8- .CPD: Bit προστασίας μνήμης δεδομένων EPROM
1 Η προστασία είναι απενεργοποιημένη
0 Η προστασία ενεργοποιήθηκε

Μετά την απενεργοποίηση της προστασίας, όλες οι πληροφορίες θα διαγραφούν

Bit 11-9- Δεν χρησιμοποιείται: Διαβάστε ως '1'.

Bit 13-12- BG1: BG0. Bit βαθμονόμησης επαναφοράς χαμηλής ισχύος
00 - κατώτερο όριο βαθμονόμησης
11 - ανώτερο όριο βαθμονόμησης


Προσθήκη προγράμματος σε έργο

Ένα παράδειγμα προσθήκης προγράμματος σε ένα έργο φαίνεται στο (Εικ. 3).


Ρύζι. 3. Προσθήκη του προγράμματος FirstPrMPLAB.asm στο έργο FirstPrMPLAB.mcp

Συλλογή

Για να δημιουργήσετε ένα δυαδικό αρχείο με επέκταση δεκαεξαδικού για να αναβοσβήνει το υλικολογισμικό του μικροελεγκτή, πρέπει να μεταγλωττίσετε το έργο. Η μεταγλώττιση ξεκινά με την εντολή μενού → Έργο → Δημιουργία όλων. Τα αποτελέσματα της μεταγλώττισης φαίνονται στο παράθυρο Output (Εικ. 1). Εάν δεν υπάρχουν σφάλματα στο πρόγραμμα, ο μεταγλωττιστής εμφανίζει ένα μήνυμα σχετικά με την επιτυχή μεταγλώττιση: Η ΔΗΜΙΟΥΡΓΙΑ ΕΠΙΤΥΧΕ, το αρχείο HEX εκκίνησης μπορεί να βρεθεί στον κατάλογο εργασίας:

Εντοπισμός σφαλμάτων του προγράμματος

Ο εντοπισμός σφαλμάτων ενός προγράμματος στο MPLAB IDE μπορεί να γίνει χρησιμοποιώντας τον εξομοιωτή υλικού MPLAB REAL ICE ή τον προσομοιωτή λογισμικού MPLAB SIM. Το τελευταίο εκτοξεύεται όπως φαίνεται στο Σχ. 4.


Ρύζι. 4. Σύνδεση με τον προσομοιωτή SIM MPLAB για εντοπισμό σφαλμάτων προγράμματος.

Μετά την εκκίνηση του προγράμματος εντοπισμού σφαλμάτων, η καρτέλα MPLAB SIM εμφανίζεται στο παράθυρο Εξόδου (Εικ. 1), όπου το MPLAB εμφανίζει τις τρέχουσες πληροφορίες εντοπισμού σφαλμάτων. Οι εντολές εντοπισμού σφαλμάτων (Εικ. 5) ενεργοποιούνται μετά την εκκίνηση.


Ρύζι. 5. Εντολές εντοπισμού σφαλμάτων.

Εντολές εντοπισμού σφαλμάτων:

Εκτέλεση - Συνεχής εκτέλεση του προγράμματος μέχρι ένα σημείο διακοπής, εάν έχει οριστεί.
Παύση - Σταματήστε το πρόγραμμα στο τρέχον βήμα εκτέλεσης.
Animate - Κινούμενα σχέδια συνεχούς εκτέλεσης προγράμματος.
Step Into - Εκτέλεση σε βήματα (Οι κλήσεις εκτελούνται σε ένα βήμα).
Step Over - Εκτελέστε ένα βήμα τη φορά, συμπεριλαμβανομένων των εντολών κλήσης.
Επαναφορά - Αρχική εγκατάσταση του προγράμματος. Μετακινήστε τον δείκτη στην πρώτη εντολή.
Σημεία διακοπής - Εμφάνιση λίστας σημείων διακοπής. Επεξεργασία λίστας.

Κατά την εκτέλεση ενός προγράμματος βήμα προς βήμα, το τρέχον βήμα επισημαίνεται με ένα βέλος (Εικ. 6). Η συνεχής εκτέλεση του προγράμματος διακόπτεται από την εντολή Παύση ή όταν το πρόγραμμα φτάσει σε σημείο διακοπής. Το σημείο διακοπής ορίζεται/αφαιρείται στη γραμμή προγράμματος κάνοντας διπλό κλικ.
Ένα παράδειγμα προγράμματος συναρμολόγησης που αλλάζει την κατάσταση των θυρών του ελεγκτή με τη μέγιστη ταχύτητα φαίνεται στο Σχ. 6 (δεξιά). Το πρόγραμμα μεταφέρει δεδομένα b'10101010' και b'01010101' στον καταχωρητή θύρας GPIO. Επειδή δεν μεταδίδουν όλα τα bit στον καταχωρητή GPIO δεδομένα στις θύρες του ελεγκτή, αλλά μόνο το 0,1,2,4 και το 5, η κατάσταση του καταχωρητή GPIO (Εικ. 6, αριστερά) διαφέρει στις ακόλουθες τιμές: b'00100010' και β'00010101».


Ρύζι. 6. Η κατάσταση των καταχωρητών ειδικού σκοπού του ελεγκτή τη στιγμή της εκτέλεσης του προγράμματος (στα αριστερά) και το πρόγραμμα που εκτελείται βήμα προς βήμα (στα δεξιά).

Κατά τη διαδικασία εντοπισμού σφαλμάτων, μπορείτε να παρακολουθείτε την κατάσταση των καταχωρητών, των μεταβλητών και της μνήμης στα αντίστοιχα παράθυρα που ανοίγουν στην ενότητα Προβολή του κύριου μενού. Κατά τη διαδικασία εντοπισμού σφαλμάτων, μπορείτε να κάνετε αλλαγές στον κώδικα του προγράμματος, στα περιεχόμενα των καταχωρητών, στη μνήμη και να αλλάξετε τις τιμές των μεταβλητών. Αφού αλλάξετε τον κώδικα, πρέπει να κάνετε εκ νέου μεταγλώττιση του προγράμματος. Η αλλαγή των περιεχομένων των μητρώων, της μνήμης και των τιμών μεταβλητών (Προβολή παραθύρων ενότητας: Μητρώο ειδικής λειτουργίας, μητρώο αρχείων, EEPROM, Watch) δεν απαιτεί εκ νέου μεταγλώττιση.

Τα σήματα εισόδου των θυρών μοντέλου μικροελεγκτή μπορούν να ρυθμιστούν στην ενότητα Debugger → Stimulus. Οι ρυθμισμένες καταστάσεις των σημάτων θύρας συνδέονται με το χρόνο (κύκλοι) εντοπισμού σφαλμάτων.

Μερικές φορές τα αποτελέσματα της εκτέλεσης ενός προγράμματος σε λειτουργία εντοπισμού σφαλμάτων δεν αντιστοιχούν στην εκτέλεση του ίδιου προγράμματος σε έναν πραγματικό ελεγκτή, για παράδειγμα, το πρόγραμμα εντοπισμού σφαλμάτων (Εικ. 6) χωρίς τις οδηγίες movlw 0x07 και movwf cmcon δείχνει ότι οι έξοδοι GP0 και Το GP1 του καταχωρητή GPIO δεν αλλάζει - είναι σε μηδενική κατάσταση, τα περιεχόμενα του καταχωρητή GPIO είναι εναλλάξ ίσα με 0x14 και 0x20. Ωστόσο, ένας ελεγκτής που εκτελεί ένα πρόγραμμα χωρίς αυτές τις οδηγίες δείχνει στον παλμογράφο την κυκλική λειτουργία και των πέντε εξόδων: 0x15 και 0x22, συμπεριλαμβανομένων των GP0 και GP1 (βλ. Εικ. 7).

Ταλαντογράμματα του ελεγκτή που εκτελεί τους κύκλους του προγράμματος Εικ. 6 (Metka... goto Metka) φαίνονται στο Σχ. 7.


Ρύζι. 7. Ταλαντογραφήματα της εξόδου GP0 (αριστερά) και GP1 (δεξιά) του μικροελεγκτή PIC12F629, που τροφοδοτούνται από έναν εσωτερικό ταλαντωτή RC 4 MHz. Το πρόγραμμα (Εικ. 6) παράγει σήματα μέγιστης συχνότητας σε όλες τις εξόδους του ελεγκτή. Κατά τη διάρκεια μιας περιόδου σήματος 5,3 μs, εκτελούνται 5 εντολές (6 κύκλοι μηχανής), το πλάτος του σήματος GP0 στον παλμογράφο είναι 4,6 V, η ισχύς του ελεγκτή που μετράται από τον προγραμματιστή είναι 4,75 V.

Υλικολογισμικό μικροελεγκτή

Για να γράψετε ένα πρόγραμμα στον μικροελεγκτή (υλικολογισμικό ελεγκτή), πρέπει να συνδέσετε τον μικροελεγκτή στο ενσωματωμένο MPLAB IDE μέσω προγραμματιστή. Η οργάνωση σύνδεσης φαίνεται παρακάτω στην ενότητα «Σύνδεση του προγραμματιστή PIC-KIT3».

Σημείωση. Ο ελεγκτής PIC12F629 έχει μια εργοστασιακή σταθερά βαθμονόμησης για τη ρύθμιση της συχνότητας της εσωτερικής γεννήτριας ρολογιού. Εάν είναι απαραίτητο, μπορεί να διαβαστεί και να αποκατασταθεί χρησιμοποιώντας MPLAB χρησιμοποιώντας προγραμματιστή.

Οι εντολές για την εργασία με τον προγραμματιστή και την αλλαγή των ρυθμίσεών του βρίσκονται στο μενού Προγραμματιστής MPLAB. Ο τύπος προγραμματιστή στο MPLAB επιλέγεται στην ενότητα: μενού → Προγραμματιστής → Επιλογή προγραμματιστή.


Ρύζι. 8. Επιλογή προγραμματιστή για σύνδεση στο περιβάλλον MPLAB.

Το υλικολογισμικό του μικροελεγκτή μέσω του προγραμματιστή ξεκινά με την εντολή: μενού → Προγραμματιστής → Πρόγραμμα. Το μήνυμα σχετικά με το επιτυχημένο υλικολογισμικό εμφανίζεται στην Εικ. 9.


Ρύζι. 9. Εκκίνηση του υλικολογισμικού του μικροελεγκτή και εμφάνιση μηνύματος σχετικά με το επιτυχημένο υλικολογισμικό.

Σημείωση:Ενώ αναβοσβήνει ο μικροελεγκτής, η κίτρινη λυχνία LED στον προγραμματιστή PIC-KIT3 αναβοσβήνει.

Σύνδεση MATLAB/SIMULINK σε MPLAB

Στο σύστημα μοντελοποίησης δυναμικών συστημάτων Simulink (εφαρμογή Matlab) σε γλώσσα προγραμματισμού γραφικών, μπορείτε να αναπτύξετε προγράμματα για μια οικογένεια ελεγκτών PIC με ADC/DAC, μετρητές, χρονοδιακόπτες, διασυνδέσεις PWM, DMA, UART, SPI, CAN, I2C κ.λπ. .

Ένα παράδειγμα προγράμματος Simulink για έναν ελεγκτή PIC φαίνεται στην Εικ. 10.


Ρύζι. 10. Ένα παράδειγμα προγράμματος σε γλώσσα γραφικού προγραμματισμού για ελεγκτή PIC που εκτελείται στο περιβάλλον μοντελοποίησης δυναμικών συστημάτων Simulink.

Η αλληλεπίδραση των εργαλείων ανάπτυξης και της μεταγλώττισης προγραμμάτων για ελεγκτές PIC στο Simulink φαίνεται στο Σχ. έντεκα .


Ρύζι. έντεκα. Δομή εργαλείων για την κατασκευή ενός επαρκούς μοντέλου ενός ελεγκτή PIC σε μια γραφική γλώσσα προγραμματισμού.

Για τη δημιουργία ενός περιβάλλοντος ανάπτυξης, απαιτούνται τα ακόλουθα στοιχεία του Matlab:

Simulink
Ενσωματωμένος κωδικοποιητής εργαστηρίου σε πραγματικό χρόνο
Εργαστήριο σε πραγματικό χρόνο

Και ο μεταγλωττιστής Microchip C:

C30 για ελεγκτές PIC24, dsPIC30 και PIC33
ή C32 για ελεγκτές της σειράς PIC32

Εγκατάσταση εξαρτημάτων Matlab

Ο ιστότοπος περιέχει βιβλιοθήκες Simulink (dsPIC Toolbox) για ελεγκτές PIC και εκδόσεις Matlab από R2006a έως R2012a:

Για να κατεβάσετε τη βιβλιοθήκη πρέπει να εγγραφείτε. Τα προγράμματα υποστηρίζουν τη λειτουργία 100 μικροελεγκτών από τις σειρές PIC 16MC, 24F, 30F, 32MC, 33F, 56GP, 64MC, 128MC, 128GP.
Οι δωρεάν εκδόσεις λειτουργούν με μοντέλα ελεγκτών PIC Simulink με έως και 7 θύρες I/O.

Για να εγκαταστήσετε το dsPIC Toolbox - μια βιβλιοθήκη μπλοκ ελεγκτών PIC για Matlab/Simulink χρειάζεστε:

Κάντε λήψη του dsPIC Toolbox για την απαιτούμενη έκδοση Matlab.
Αποσυσκευάστε το αρχείο zip στο φάκελο όπου θα εγκατασταθούν τα μπλοκ Simulink.
Εκκινήστε το Matlab.
Ορίστε τον τρέχοντα κατάλογο Matlab στο φάκελο με το μη συσκευασμένο αρχείο.
Ανοίξτε και εκτελέστε το αρχείο install_dsPIC_R2012a.m, για παράδειγμα, χρησιμοποιώντας το κουμπί μενού ή το πλήκτρο πληκτρολογίου.

Οι βιβλιοθήκες dsPIC και τα παραδείγματα μοντέλων Simulink είναι εγκατεστημένα στον τρέχοντα φάκελο Matlab (Εικ. 12). Τα εγκατεστημένα μπλοκ για τη μοντελοποίηση ελεγκτών PIC είναι διαθέσιμα στην ενότητα Embedded Target for Microchip dsPIC της βιβλιοθήκης Simulink (Εικ. 13).


Ρύζι. 12. Περιεχόμενα του τρέχοντος καταλόγου μετά την εκτέλεση install_dsPIC_R2012a.m.


Ρύζι. 13. Μπλοκ της εγκατεστημένης βιβλιοθήκης "Embedded Target for Microchip dsPIC".

Για να μεταγλωττίσετε ένα μοντέλο Simulink μαζί χρησιμοποιώντας Matlab και MPLAB, πρέπει να ορίσετε τη διαδρομή προς τον κατάλογο MPLAB με τα αρχεία MplabOpenModel.m, MplabGetBuildinfo.m και getHardwareConfigs.m στη μεταβλητή περιβάλλοντος διαδρομής Matlab με την υψηλότερη προτεραιότητα:

>>

Εγκατάσταση του μεταγλωττιστή MPLAB C

Οι μεταγλωττιστές MPLAB βρίσκονται στον ιστότοπο του Microchip (Λήψη αρχείου → MPLAB C Compiler για PIC24 και dsPIC DSC). Για να εγκαταστήσετε την έκδοση επίδειξης του μεταγλωττιστή C30, πρέπει να την κατεβάσετε από τη σύνδεση PIC24/dsPIC v3.25 (Εικ. 14) και να εκτελέσετε το ληφθέν αρχείο mplabc30-v3.25-comboUpgrade.exe.


Ρύζι. 14. Εκδόσεις μεταγλωττιστή C (αριστερά) και οι τρόποι εγκατάστασής του (δεξιά).

Σημείωση. Η εργασία εκτελέστηκε με την έκδοση v3.25 του μεταγλωττιστή C30 για PIC24/dsPIC. Ο έλεγχος έδειξε ότι η επόμενη έκδοση v3.30 δεν υποστηρίζει την κοινή μεταγλώττιση μοντέλων Matlab R2012a (dsPIC Toolbox) χωρίς σφάλματα.

Το αρχείο exe εγκατάστασης δημιουργεί έναν νέο κατάλογο mplabc30 με τα αρχεία στην ενότητα c:\Program Files (x86)\Microchip\:


Ρύζι. 15. Κατάλογοι μεταγλωττιστή C30 MPLAB.

Ακολουθία προγραμματισμού Simulink για ελεγκτές PIC

1. Δημιουργήστε έναν κατάλογο εργασίας και αντιγράψτε τα παραδείγματα *.mdl από την ενότητα του παραδείγματος σε αυτόν (βλ. Εικ. 12).
2. Κατεβάστε το Matlab. Ρυθμίστε το στον κατάλογο εργασίας σας.
3. Συμπεριλάβετε στη διαδρομή μεταβλητή περιβάλλοντος Matlab με την υψηλότερη προτεραιότητα τη διαδρομή προς MPLAB - τον κατάλογο c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\:

>> διαδρομή("c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\",διαδρομή)
Σημείωση: Η χρήση της εντολής >>διαδρομή χωρίς ορίσματα κάνει τη μεταβλητή διαδρομής να παρατίθεται στο παράθυρο εντολών. Μπορείτε να αφαιρέσετε μια διαδρομή από τη μεταβλητή διαδρομής με την εντολή rmpath, για παράδειγμα:

>>rmpath(" c:\Program Files\Microchip\MPLAB IDE\Tools\MATLAB\")
4. Δημιουργήστε ένα μοντέλο Simulink για τον ελεγκτή PIC χρησιμοποιώντας τα μπλοκ της βιβλιοθήκης Embedded Target for Microchip dsPIC (Εικ. 13) ή φορτώστε ένα έτοιμο μοντέλο, για παράδειγμα, Servo_ADC.mdl.

Ο τύπος του ελεγκτή για τον οποίο αναπτύσσεται το μοντέλο Simulink επιλέγεται από τη λίστα στο μπλοκ Master > PIC (Εικ. 16, Εικ. 10), ο οποίος πρέπει να περιλαμβάνεται στο μοντέλο.


Ρύζι. 16. Επιλογή του τύπου ελεγκτή στο κύριο μπλοκ του μοντέλου.

5. Ελέγξτε τις ρυθμίσεις διαμόρφωσης μοντέλου: Μενού → Προσομοίωση → Παράμετροι διαμόρφωσης . Ο μεταγλωττιστής της συνάρτησης S dspic.tlc θα πρέπει να καθοριστεί στη γραμμή εισαγωγής αρχείου προορισμού συστήματος της ενότητας Δημιουργία κώδικα (Εικ. 17). Επιλέγοντας dspic.tlc διαμορφώνονται όλες οι υπόλοιπες παραμέτρους διαμόρφωσης μοντέλου, συμπεριλαμβανομένης της μεθόδου βήματος και ολοκλήρωσης.


Ρύζι. 17. Επιλέγοντας τον μεταγλωττιστή συνάρτησης dspic.tlc S για μοντέλα ελεγκτών PIC στην ενότητα "κύριο μενού → Προσομοίωση → Παράμετροι διαμόρφωσης → Δημιουργία κώδικα".

6. Μεταγλωττίστε το μοντέλο tmp_Servo_ADC.mdl. Η εκκίνηση του μεταγλωττιστή φαίνεται στο Σχ. 18.


Ρύζι. 18. Εκτέλεση του μεταγλωττιστή μοντέλου Simulink.

Ως αποτέλεσμα της επιτυχούς μεταγλώττισης (μήνυμα: ### Η επιτυχής ολοκλήρωση της διαδικασίας κατασκευής για το μοντέλο: Servo_ADC), δημιουργείται στον τρέχοντα κατάλογο ένα αρχείο HEX για το αναβοσβήσιμο του ελεγκτή PIC και ένα έργο περιβάλλοντος MCP MPLAB (Εικ. 19).


Ρύζι. 19. Αποτελέσματα συλλογής μοντέλων.

Το μοντέλο εκκινείται στο Matlab/Simulink χρησιμοποιώντας το κουμπί στο παράθυρο του μοντέλου ο χρόνος προσομοίωσης υπό όρους ορίζεται στη γραμμή:


Έλεγχος της μεταγλώττισης μοντέλων Simulink από το περιβάλλον MPLAB

Η μεταγλώττιση του μοντέλου Simulink μπορεί να ελεγχθεί χρησιμοποιώντας εντολές από την ενότητα Matlab/Simulink του περιβάλλοντος MPLAB, για παράδειγμα, με την ακόλουθη σειρά.

1. Αναπτύξτε ένα μοντέλο ελεγκτή PIC στο Matlab/Simulink. Αποθηκεύστε το μοντέλο.
2. Εκκινήστε το MPLAB.
3. Επιλέξτε μενού MPLAB → Εργαλεία → Matlab/Simulink και θα εμφανιστεί μια νέα ενότητα στο μενού.


4. Στην ενότητα Matlab/Simulink, ανοίξτε το μοντέλο Simulink, για παράδειγμα, Servo_ADC, με την εντολή «Matlab/Simulink → Specify Simulink Model Name → Open → File name → Servo_ADC.mdl → Open». Η εντολή Open ξεκινά το Matlab και ανοίγει το μοντέλο.

5. Μεταγλωττίστε το μοντέλο και δημιουργήστε ένα έργο MCP χρησιμοποιώντας τις εντολές Generate Codes ή Generate Codes and Import Files. Η μετάφραση του μοντέλου MDL στο έργο MCP εκτελείται από τον μεταγλωττιστή TLC Matlab.
Ως αποτέλεσμα, δημιουργείται ένα έργο MPLAB:

Με μοντέλα σεναρίων σε γλώσσα C.

6. Ανοίξτε το μενού έργου: → Έργο → Άνοιγμα → Servo_ADC.mcp (Εικ. 20).


Ρύζι. 20. Δομή MCP του μοντέλου έργου Simulink Servo_ADC.mdl στο περιβάλλον MPLAB.
Το έργο μοντέλου Simulink είναι έτοιμο για επεξεργασία, εντοπισμό σφαλμάτων και μεταγλώττιση σε κώδικες ελεγκτή μηχανής χρησιμοποιώντας MPLAB.

Σύνδεση του προγραμματιστή PIC-KIT3

Μπορείτε να μάθετε ποιοι προγραμματιστές γράφουν δυαδικό κώδικα σε έναν συγκεκριμένο μικροελεγκτή στην ενότητα μενού → Διαμόρφωση → Επιλογή συσκευής του περιβάλλοντος MPLAB 8.92. Για παράδειγμα, ο προγραμματιστής PIC-KIT3 δεν υποστηρίζει τον ελεγκτή PIC12C508A (Εικ. 21, αριστερή εικόνα), αλλά λειτουργεί με τον ελεγκτή PIC12F629 (Εικ. 21, δεξιά εικόνα).


Ρύζι. 21. Λίστα προγραμματιστών για υλικολογισμικό μικροελεγκτή.

Μπορείτε να ζητήσετε πληροφορίες σχετικά με το εγκατεστημένο πρόγραμμα οδήγησης προγραμματιστή PIC-KIT3 από τη διαχείριση συσκευών του λειτουργικού συστήματος Windows (Εικ. 22).


Ρύζι. 22. Πληροφορίες σχετικά με το εγκατεστημένο πρόγραμμα οδήγησης προγραμματιστή PIC-KIT3.

Το διάγραμμα σύνδεσης του μικροελεγκτή PIC12F629 στον προγραμματιστή PIC-KIT3 φαίνεται στην Εικ. 23.


Ρύζι. 23. Διάγραμμα σύνδεσης του μικροελεγκτή PIC12F629 στον προγραμματιστή PIC-KIT3.

Η έξοδος PGM του προγραμματιστή δεν χρησιμοποιείται για τους ελεγκτές PIC12F629 που αναβοσβήνουν. Η παρουσία εξόδου PGM για διαφορετικούς τύπους ελεγκτών PIC φαίνεται στο Σχ. 24. Συνιστάται να «τραβήξετε» τον πείρο PGM στο κοινό καλώδιο (GND), μέσω μιας αντίστασης ονομαστικής τιμής 1K.


Ρύζι. 24. Καρφίτσες ελεγκτή PGM PIC.

Η ένδειξη LED του προγραμματιστή Olimex PIC-KIT3 φαίνεται παρακάτω:

Κίτρινο - Κόκκινο - Κατάσταση προγραμματιστή
On - Off - Συνδεδεμένο σε γραμμή USB
On - On - Διαλειτουργικότητα με MPLAB
Αναβοσβήνει - Πάντα ενεργοποιημένο - Υλικολογισμικό μικροελεγκτή

Δεν πρέπει να συνδέσετε το τροφοδοτικό του μικροελεγκτή VDD (Εικ. 23) στον προγραμματιστή εάν ο ελεγκτής τροφοδοτείται από τη δική του πηγή τροφοδοσίας.

Κατά την τροφοδοσία του μικροελεγκτή από τον προγραμματιστή στη γραμμή VDD, είναι απαραίτητο να ρυθμίσετε την τάση λειτουργίας, για παράδειγμα, 5 V χρησιμοποιώντας το πρόγραμμα MPLAB (Μενού → Προγραμματιστής → Ρυθμίσεις → Τροφοδοσία), όπως φαίνεται στην Εικ. 25.

Σημείωση. Εάν δεν υπάρχει τάση στη γραμμή VDD, το MPLAB IDE εμφανίζει ένα μήνυμα σφάλματος: PK3Err0045: Πρέπει να συνδεθείτε σε μια συσκευή προορισμού για χρήση


Ρύζι. 25. Ρύθμιση της τάσης VDD στον προγραμματιστή PIC-KIT3 χρησιμοποιώντας το MPLAB IDE v8.92.

Εάν ο προγραμματιστής δεν μπορεί να ρυθμίσει την απαιτούμενη τάση, για παράδειγμα, 5 V όταν τροφοδοτείται από USB, στο οποίο η τάση είναι μικρότερη από 5 V, το MPLAB IDE εμφανίζει ένα μήνυμα σφάλματος: PK3Err0035: Αποτυχία λήψης αναγνωριστικού συσκευής. Σε αυτήν την περίπτωση, πρέπει πρώτα να μετρήσετε την τάση του προγραμματιστή - διαβάστε την στην καρτέλα μενού → Προγραμματιστής → Ρυθμίσεις → Κατάσταση και, στη συνέχεια, ρυθμίστε την τάση (όχι μεγαλύτερη από τη μετρηθείσα) στην καρτέλα μενού → Προγραμματιστής → Ρυθμίσεις → Εξουσία.


Ρύζι. 26. Μέτρηση (αριστερά) και ρύθμιση (δεξιά) τάσης VDD του προγραμματιστή PIC-KIT3 χρησιμοποιώντας MPLAB IDE v8.92.

Ένα παράδειγμα μηνύματος MPLAB για την επιτυχή σύνδεση του μικροελεγκτή στον προγραμματιστή χρησιμοποιώντας την εντολή μενού → Προγραμματιστής → Επανασύνδεση φαίνεται στην Εικ. 27.


Ρύζι. 27. Μήνυμα MPLAB σχετικά με την επιτυχή σύνδεση του μικροελεγκτή στον προγραμματιστή.

Μπορείτε να προγραμματίσετε όχι μόνο έναν ξεχωριστό ελεγκτή PIC, αλλά και έναν ελεγκτή που αποτελεί μέρος της συσκευής εργασίας. Για να προγραμματίσετε τον ελεγκτή PIC μέσα στη συσκευή, είναι απαραίτητο να προβλεφθεί η εγκατάσταση βραχυκυκλωτικών και αντιστάσεων περιορισμού ρεύματος όπως φαίνεται στο Σχ. 28.


Ρύζι. 28. Σύνδεση ενός μικροελεγκτή ως τμήμα μιας ηλεκτρονικής συσκευής σε έναν προγραμματιστή.

συμπέρασμα

Οι ελεγκτές PIC χαμηλής τάσης έχουν μεγάλο εύρος τροφοδοσίας, χαμηλή κατανάλωση και μικρές διαστάσεις. Προγραμματίζονται σε γλώσσες χαμηλού επιπέδου. Η ανάπτυξη προγραμμάτων στη γλώσσα προγραμματισμού γραφικών Simulink χρησιμοποιώντας πολυάριθμες βιβλιοθήκες μειώνει σημαντικά τον χρόνο ανάπτυξης και εντοπισμού σφαλμάτων σε σύγκριση με τον προγραμματισμό σε επίπεδο συναρμολόγησης. Οι δομές που αναπτύχθηκαν για ελεγκτές PIC Simulink μπορούν επίσης να χρησιμοποιηθούν για προσομοίωση υπολογιστή δυναμικών συστημάτων που περιλαμβάνουν ελεγκτές. Ωστόσο, λόγω πλεονασμού κώδικα, αυτή η προσέγγιση ισχύει μόνο για οικογένειες ελεγκτών PIC με επαρκείς πόρους.
Simulink
  • Ελεγκτές PIC
  • Προσθέστε ετικέτες

    • συχνότητα ρολογιού - 20 MHz
    • 4 πλήρεις θύρες I/O 8-bit
    • σειριακή και παράλληλη θύρα
    • Λεωφορείο I2C
    • πολλά χρονόμετρα
    • ενότητες σύγκρισης, συγκριτές
    • Μονάδα διαμόρφωσης πλάτους παλμού (PWM).
    • 10-bit ADC

    Αυτό το MK είναι ευρέως διαδεδομένο και βρίσκεται συχνά στις λιανικές πωλήσεις. Εάν βρίσκεστε στη Μόσχα, τότε θα πρέπει να πάτε στο "Chip and Dip" - εκεί μπορείτε να το αγοράσετε για περίπου 350 ρούβλια. Συνιστώ ανεπιφύλακτα να το αγοράσετε σε συσκευασία DIP (μεγάλο), ευτυχώς υπάρχει. Για αρχικά πειράματα και δοκιμές, αυτή είναι η καλύτερη επιλογή. Εάν το αγοράσετε ξαφνικά σε συσκευασία PLCC, τότε θα υπάρχουν πολλά προβλήματα με τη χρήση του - το βήμα των επίπεδων καλωδίων 1,27 mm δεν είναι η πιο βολική επιλογή.

    Έτσι, αποφασίσαμε για το MK. Στα αρχεία αυτού του άρθρου μπορείτε να βρείτε έναν πλήρη οδηγό για αυτό το MK. Τώρα είναι ξεκάθαρο τι να αγοράσετε, αλλά προς το παρόν ας γράψουμε ένα πρόγραμμα ώστε να είναι σαφές τι να το κάνετε στη συνέχεια και πώς να το "ράψετε" σε αυτό το MK.

    Ξεκινάμε το πρόγραμμα MPLAB (το οποίο εγκαταστήσαμε σε προηγούμενα άρθρα). Επιλέξτε ένα στοιχείο μενού Έργο -> Οδηγός έργου. Στο παράθυρο που ανοίγει, κάντε κλικ Περαιτέρω.

    Στην αναπτυσσόμενη λίστα των διαθέσιμων MCU, επιλέξτε PIC16F877. Κάντε κλικ Περαιτέρω.

    Εδώ πρέπει να επιλέξουμε έναν μεταγλωττιστή που θα επεξεργάζεται τον κώδικα του προγράμματος μας. Πρέπει να επιλέξετε το στοιχείο Σουίτα εργαλείων HI-TECH PICCστην αναπτυσσόμενη λίστα Active Toolsuite. Αυτός είναι ο ίδιος μεταγλωττιστής γλώσσας C που εγκαταστήσαμε στο τελευταίο άρθρο. Κάντε κλικ Περαιτέρω.

    Δώστε στο έργο ένα όνομα, για παράδειγμα, TestPICκαι καθορίστε τον κατάλογο του έργου. Υπάρχουν δύο κόλπα εδώ. Πρώτον, το MPLAB δεν δημιουργεί ξεχωριστό φάκελο για το ίδιο το έργο και θα τοποθετήσει όλα τα αρχεία απευθείας στον κατάλογο που ορίσατε. Δεύτερον, και ίσως το πιο σημαντικό, το MPLAB δεν καταλαβαίνει τα ρωσικά γράμματα στο όνομα της διαδρομής. Θα δημιουργήσει ένα έργο, αλλά ενώ το πρόγραμμα εκτελείται, ειδικά κατά την αποθήκευση και το άνοιγμα αρχείων, θα προκύψουν τέτοιες «βλάβες» που θα μείνετε να αναρωτιέστε τι συμβαίνει για μεγάλο χρονικό διάστημα. Επομένως, η διαδρομή προς το φάκελο του έργου δεν πρέπει να περιέχει ρωσικά ονόματα. Κάντε κλικ Περαιτέρω.

    Εδώ μπορείτε να προσθέσετε οποιαδήποτε έτοιμα αρχεία στο έργο, αλλά δεν χρειαζόμαστε ακόμα αυτήν την επιλογή. Κάντε κλικ Περαιτέρω.

    Εδώ νομίζω ότι όλα είναι ξεκάθαρα. Κάντε κλικ Ετοιμος.

    Το έργο έχει προετοιμαστεί, αλλά είναι ακόμα κενό. Κάντε κλικ Αρχείο -> Νέο. Θα εμφανιστεί ένα νέο παράθυρο με τον τίτλο Χωρίς τίτλο. Στη συνέχεια, επιλέξτε Αρχείο -> Αποθήκευση ως.... Δώστε ένα όνομα αρχείου, για παράδειγμα, TestPIC.cκαι μεταβείτε στον φάκελο του έργου σας. Φροντίστε να ελέγξετε το πλαίσιο Προσθήκη αρχείου στο έργο.

    Τώρα τοποθετούμε τον παρακάτω κώδικα παρακάτω στο ανοιχτό παράθυρο του αρχείου έργου TestPIC.c (όλο το έργο βρίσκεται στα αρχεία αυτού του άρθρου).

    #περιλαμβάνω CONFIG(0x03F72); ενθ i=0; κενόςκύριος( κενός) ( T0IE=0; GIE=0; TRISB=0; PORTB=0; ενώ(1==1) ( PORTB++; Για(i=0; i

    Πιθανότατα αναρωτιέστε ποιο θα είναι το αποτέλεσμα αυτού του κωδικού. Θα συμβεί το εξής: 8 LED είναι συνδεδεμένα στο MK. Όταν ενεργοποιείτε την τροφοδοσία, οι λυχνίες LED θα αρχίσουν να αναβοσβήνουν με τη μορφή ενός "κύματος" (είναι καλύτερα να το δείτε αυτό, ευτυχώς δεν έχουν απομείνει τόσα πολλά). Ας ρίξουμε μια πιο προσεκτική ματιά στον ίδιο τον κώδικα.

    Πρώτα έρχεται η γνωστή δήλωση include, η οποία περιλαμβάνει το αρχείο κεφαλίδας με όλους τους απαραίτητους ορισμούς μακροεντολών. Στη συνέχεια ακολουθεί μια άλλη οδηγία προεπεξεργαστή __CONFIG, η οποία περιέχει έναν δεκαεξαδικό αριθμό που χαρακτηρίζει ένα σύνολο ειδικών επιλογών και ιδιοτήτων που χαρακτηρίζουν τη λειτουργία του MK. Θα επιστρέψουμε σε αυτό το σημείο αργότερα σε αυτό το άρθρο. Ας πάμε κατευθείαν στην αρχή της συνάρτησης main() - το σημείο εισόδου στον πραγματικό εκτελέσιμο κώδικα του προγράμματος. Στη συνέχεια ακολουθεί μια επέμβαση με κάποιο T0IE. Συγκεκριμένα, αυτή η γραμμή σημαίνει ότι είναι απαραίτητο να απενεργοποιήσετε τις διακοπές από το χρονόμετρο όταν λειτουργεί το MK. Το TOIE είναι η διεύθυνση ενός ειδικού μητρώου που ορίζεται χρησιμοποιώντας το #define στο αρχείο pic.h, το οποίο είναι υπεύθυνο για αυτήν τη λειτουργία (και γενικά, αν δείτε περίεργες μεταβλητές γραμμένες με κεφαλαία στον κώδικα που δεν είχαν οριστεί προηγουμένως στον κώδικα , τότε μάλλον πρόκειται για συμβολικά ονόματα των μητρώων ΜΚ) . Γραμμή GIE=0; - απαγορεύει την επεξεργασία οποιωνδήποτε διακοπών καθολικά σε ολόκληρο τον μικροελεγκτή. Δεν θα χρησιμοποιήσουμε διακοπές για το απλό μας παράδειγμα, γιατί... Απλώς δεν τους χρειαζόμαστε.

    TRISB=0; - σημαίνει ότι η θύρα I/O σιΤο PIC16F877 MK θα λειτουργήσει ως έξοδος, π.χ. Τώρα μπορείτε να συνδέσετε ένα φορτίο σε αυτό, το οποίο μπορεί να παρέχει 0 ή +5 V από το MK (αυτό το φορτίο θα είναι LED). Στην επόμενη γραμμή βάζουμε τον αριθμό 0 στη θύρα Β - δηλ. Όλες οι ακίδες σε αυτήν τη θύρα που έχουν διαμορφωθεί για έξοδο θα έχουν μηδενική τάση. Στη συνέχεια έρχεται μια κατασκευή από τον χειριστή while και με μια τέτοια παράμετρο που ορισμένοι προγραμματιστές που έχουν συνηθίσει να γράφουν σε C για υπολογιστή θα εκπλαγούν ελαφρώς - αυτός είναι, λένε, ένας ατελείωτος βρόχος, το πρόγραμμα θα παγώσει. Αλλά αυτό ακριβώς χρειαζόμαστε. Ο ΜΚ δεν μπορεί να κάνει τίποτα, πρέπει συνεχώς να κάνει κάτι. Επομένως, για το MK, η εκτέλεση ενός προγράμματος σε έναν ατελείωτο βρόχο είναι μια ζωτική αναγκαιότητα. Μετά έρχεται ο χειριστής να αυξήσει κατά 1 τον αριθμό που βρίσκεται στη θύρα Β. Ας εξηγήσουμε λίγο. Αν γράψετε PORTB=0xFF; - τότε όλες οι ακίδες θύρας θα έχουν 1. Αν PORTB=0x0; - για όλα τα 0. (νομίζω ότι αυτό πρέπει να είναι ξεκάθαρο). Η κατασκευή του τελεστή βρόχου for, προφανώς, δεν κάνει καμία «έξυπνη» δουλειά και χρειάζεται μόνο για να οργανωθεί μια χρονική καθυστέρηση. Εάν αφαιρέσουμε αυτό το τμήμα του κώδικα, τότε απλά δεν θα παρατηρήσουμε πώς αλλάζει η τάση στα LED (θα είναι πολύ γρήγορα).

    Τι εννοούν; Πάμε με τη σειρά.

    • Ταλαντωτής - HS (σημαίνει ότι ένας συντονιστής χαλαζία υψηλής συχνότητας θα χρησιμοποιηθεί ως γεννήτρια ρολογιού)
    • WatchDog Timer - Off (ειδική επιλογή, εάν είναι ενεργοποιημένη, ο μικροελεγκτής θα επαναφέρει περιοδικά [μετάβαση στην αρχή του main()] για να αποφευχθούν τυχόν παγώματα στο MK. Δεν χρειαζόμαστε αυτήν την επιλογή.)
    • Χρονοδιακόπτης ενεργοποίησης - On (εάν είναι ενεργοποιημένο, τότε το MK θα βρίσκεται σε κατάσταση επαναφοράς έως ότου η τάση τροφοδοσίας φτάσει το απαιτούμενο επίπεδο κατωφλίου)
    • Brown Out Detect - On (επαναφέρει το MK εάν η τάση τροφοδοσίας πέσει κάτω από ένα συγκεκριμένο επίπεδο)
    • Πρόγραμμα χαμηλής τάσης - Απενεργοποιημένο (σε αυτήν την περίπτωση απαγορεύουμε τη χρήση προγραμματισμού κυκλώματος χαμηλής τάσης του MK, καθώς θα χρησιμοποιήσουμε κανονικό προγραμματιστή [δείτε τα παρακάτω άρθρα])
    • Flash Program Write - Ενεργοποιημένο (επιτρέπουμε τη δυνατότητα εγγραφής προγραμμάτων στη μνήμη Flash)
    • Data EE Read Protect - Off (επιτρέπει την ανάγνωση δεδομένων και τη μνήμη EEPROM του MK)
    • Code Protect - Off (απενεργοποιήστε την προστασία κώδικα στο MK. Εάν είναι On, θα είναι αδύνατο να διαβάσετε το πρόγραμμα από το MK. Αυτό είναι απαραίτητο εάν θέλετε να προστατεύσετε το πρόγραμμά σας από απόπειρες hacking. Δεν χρειαζόμαστε ακόμα αυτήν τη δυνατότητα .)

    Ήρθε η ώρα να μεταγλωττίσετε τον κώδικα. Τρέξιμο Έργο -> Δημιουργία όλων. Αυτό θα ξεκινήσει τη μεταγλώττιση του έργου και ένα παράθυρο όπως αυτό θα εμφανιστεί με μια υπέροχη καταχώρηση στο τέλος του BUILD SUCCEEDED.

    Τώρα, αν κοιτάξετε στον φάκελο του έργου μας, θα δείτε ένα αρχείο εκεί TestPIC.hex- το αποτέλεσμα όλων των κόπων μας. Περιέχει ειδικό κώδικα, που δημιουργήθηκε από τα γραπτά μας στο C, για φόρτωση στη μνήμη MK. Για να προχωρήσουμε, χρειαζόμαστε έναν προγραμματιστή με τον οποίο θα γράψουμε το πρόγραμμά μας στο MK. Ήρθε η ώρα να προχωρήσουμε στο επόμενο άρθρο, όπου συζητείται το θέμα της δημιουργίας του δικού σας προγραμματιστή.

    © Ιβάνοφ Ντμίτρι
    Απρίλιος 2007

    Πρόσφατα αποφάσισα να δημιουργήσω μια συσκευή σε έναν μικροελεγκτή PIC, αλλά για άγνωστους λόγους ο προγραμματιστής Extra-PIC μου απέτυχε. Το πιο πιθανό είναι να κάηκε το μικροκύκλωμα MAX232, αυτό έχει συμβεί ήδη μια φορά. Χωρίς να το σκεφτώ δύο φορές, βρήκα στο Διαδίκτυο ένα απλό κύκλωμα προγραμματιστή σχεδιασμένο για IC-Prog και λειτουργεί μέσω COMΛιμάνι.
    Η πλακέτα πρέπει να αντικατοπτρίζεται κατά την εκτύπωση. Διαφορετικά, οι υποδοχές θα πρέπει να συγκολληθούν από την πλευρά της πίστας.


    Στη συνέχεια, άνοιξα τρύπες και άρχισα να συγκολλώ τα εξαρτήματα. Το μεγαλύτερο πρόβλημα ήταν οι δίοδοι zener. Άρχισα να ψάχνω για διόδους zener στην πλακέτα από την οθόνη CRT. Αναφέρονται στην πλακέτα ως ZD (Zener Diode). Φυσικά, τα σημάδια τους είναι ασαφή και δεν ξέρετε πού ή πώς να κοιτάξετε. Για να προσδιορίσετε πόσα βολτ αξίζει μια δίοδος zener, μπορείτε να συναρμολογήσετε ένα απλό κύκλωμα.


    Ένα βολτόμετρο θα δείξει με μεγάλη ακρίβεια πόσα βολτ είναι η δίοδος zener. Με αυτόν τον απλό τρόπο βρήκα διόδους zener με κατά προσέγγιση ονομαστικές τιμές. Αντί για 5,6V έβαλα 6,2V, αντί για 12,6V έβαλα 2 διόδους zener σε σειρά 6,2+6,2=12,4V .


    Το τρανζίστορ μπορεί να εγκατασταθεί KT315. Το εγκατέστησα μόνος μου S945. Δίοδοι είναι και οποιεσδήποτε, ξεκόλλησα και τα 3 τμχ. από τη γέφυρα διόδου της ίδιας πλακέτας από την οθόνη. Η τιμή των πυκνωτών δεν είναι επίσης κρίσιμη, αλλά ορίστηκαν στην ονομαστική τους τιμή.

    Λίγα λόγια για τις κόκκινες κηλίδες στα πάνελ. Αυτά τα πόδια δεν είναι καθόλου κολλημένα στα πάνελ. Μια πλήρως ολοκληρωμένη συσκευή μοιάζει με αυτό:


    Αποφάσισα να μην κολλήσω όλες τις πρίζες, γιατί... Απλώς έπρεπε να το φλας PIC16F628A. Μετά τη συγκόλληση, πρέπει να διαμορφώσετε το πρόγραμμα. Θα αναβοσβήσουμε το IC-Prog. Κατεβάστε το πρόγραμμα, αποσυσκευάστε το από το αρχείο, Όλα τα αρχεία πρέπει να βρίσκονται σε έναν φάκελο!

    1) Εάν χρησιμοποιείτε Windows NT, 2000 ή XP, κάντε δεξί κλικ στο αρχείο icprog.exe. " Ιδιότητες"> καρτέλα" Συμβατότητα" >> Ορίστε το πλαίσιο ελέγχου σε " Εκτελέστε το πρόγραμμα σε λειτουργία συμβατότητας για:" >>
    επιλέξτε "Windows 2000".

    2) Ας ξεκινήσουμε το πρόγραμμα. Εάν είναι ήδη στα ρωσικά, δεν χρειάζεστε τίποτα, προχωρήστε στο βήμα 3 .

    Εάν το πρόγραμμα είναι στα αγγλικά, κάντε κλικ στο " Ρυθμίσεις" >> "Επιλογές"> καρτέλα" Γλώσσα"> ρύθμιση γλώσσας" Ρωσική" και κάντε κλικ στο "Ok".
    Συμφωνώ με τη δήλωση " Πρέπει να επανεκκινήσετε το IC-Prog τώρα" (Κάντε κλικ " Εντάξει"). Το κέλυφος του προγραμματιστή θα επανεκκινηθεί.

    3) Τώρα πρέπει να ρυθμίσετε τις παραμέτρους του προγραμματιστή. Κάντε κλικ " Ρυθμίσεις" >> "Προγραμματιστής". Ελέγξτε τις ρυθμίσεις, επιλέξτε τη θύρα COM που χρησιμοποιείτε, κάντε κλικ στο " Εντάξει".


    Για πολύ γρήγορους υπολογιστές, ίσως χρειαστεί να αυξήσετε τη ρύθμιση I/O Latency. Η αύξηση αυτής της παραμέτρου αυξάνει την αξιοπιστία του προγραμματισμού, ωστόσο, ο χρόνος που αφιερώνεται στον προγραμματισμό του τσιπ αυξάνεται επίσης.

    4) Μόνο για χρήστες Windows NT, 2000 ή XP. Κάντε κλικ " Ρυθμίσεις" >> "Επιλογές" >> επιλέξτε μια καρτέλα " Είναι κοινά" >> επιλέξτε το πλαίσιο" Επί Πρόγραμμα οδήγησης NT/2000/XP"> Κάντε κλικ" Εντάξει" >> εάν το πρόγραμμα οδήγησης δεν έχει εγκατασταθεί στο σύστημά σας στο παρελθόν, στο παράθυρο που εμφανίζεται " Επιβεβαιώνω"Κάντε κλικ στο "Ok". Το πρόγραμμα οδήγησης θα εγκατασταθεί και το κέλυφος του προγραμματιστή θα επανεκκινηθεί.

    5) Κάντε ξανά κλικ" Ρυθμίσεις" >> "Επιλογές" >> επιλέξτε μια καρτέλα " I2C" >> επιλέξτε τα πλαίσια: " Ενεργοποιήστε το MCLR ως VCC" Και " Ενεργοποίηση της εγγραφής μπλοκ". Κάντε κλικ " Εντάξει".

    6) "Ρυθμίσεις" >> "Επιλογές" >> επιλέξτε μια καρτέλα " Προγραμματισμός" >> καταργήστε την επιλογή του πλαισίου: " Ελέγξτε μετά τον προγραμματισμό"και επιλέξτε το πλαίσιο" Έλεγχος κατά τον προγραμματισμό". Κάντε κλικ " Εντάξει".


    Έγινε, τώρα το πρόγραμμα είναι εντελώς έτοιμο για συνεργασία με τον προγραμματιστή. Συνδέουμε τον προγραμματιστή μας με COMθύρα, επιλέξτε τον μικροελεγκτή μας στο πρόγραμμα, ανοίξτε το υλικολογισμικό και προγραμματίστε τυχόν MK της σειράς PIC. Καλή τύχη σε όλους στη συνεργασία με τον προγραμματιστή και τους ελεγκτές!