Τρόπος διασύνδεσης LED με μικροελεγκτή 8051

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Είμαστε πολύ εξοικειωμένοι με το 'Hello world!' βασικός κωδικός προγράμματος στο αρχικό στάδιο οποιουδήποτε γλώσσα προγραμματισμού να μάθεις κάποια βασικά πράγματα. Ομοίως, για να ξεκινήσετε με τον 8051 Microcontroller, η διασύνδεση LED είναι βασικό πράγμα στον προγραμματισμό διασύνδεσης Microcontroller. Κάθε μικροελεγκτής είναι διαφορετικός στην αρχιτεκτονική του, αλλά η έννοια διασύνδεσης είναι σχεδόν ίδια για όλους τους μικροελεγκτές. Αυτό το σεμινάριο θα σας δώσει μια διασύνδεση LED με 8051.

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




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

Συσκευές διεπαφής εξόδου: LED, LCD, Buzzer, Πρόγραμμα οδήγησης ρελέ , DC Motor Driver, 7-Segment Display κ.λπ.



Συσκευές διασύνδεσης αποθήκευσης: Χρησιμοποιείται για την αποθήκευση / διατήρηση των δεδομένων, για παράδειγμα, κάρτα SD, EEPROM, DataFlash, Ρολόι σε πραγματικό χρόνο , και τα λοιπά.

Μοντέλο διασύνδεσης MicroController

Μοντέλο διασύνδεσης MicroController

Διασύνδεση LED με 8051

Η διασύνδεση περιλαμβάνει υλικό (συσκευή διασύνδεσης) και λογισμικό (πηγαίος κώδικας για επικοινωνία, ονομαζόμενος επίσης ως πρόγραμμα οδήγησης). Απλά, για να χρησιμοποιήσετε ένα LED ως συσκευή εξόδου, το LED πρέπει να είναι συνδεδεμένο στη θύρα του μικροελεγκτή και το MC πρέπει να προγραμματιστεί στο εσωτερικό του να κάνει LED ON ή OFF ή να αναβοσβήνει ή να μειώνεται. Αυτό το πρόγραμμα ονομάζεται πρόγραμμα οδήγησης / υλικολογισμικό. Το λογισμικό προγράμματος οδήγησης μπορεί να αναπτυχθεί χρησιμοποιώντας οποιοδήποτε γλώσσα προγραμματισμού όπως το Assembly , C κ.λπ.


8051 Μικροελεγκτής

Ο μικροελεγκτής 8051 εφευρέθηκε το 1980 από την Intel. Η βάση του βασίζεται στην αρχιτεκτονική του Χάρβαρντ και αυτός ο Μικροελεγκτής αναπτύχθηκε κυρίως για να το χρησιμοποιήσει στα Ενσωματωμένα Συστήματα. Έχουμε συζητήσει προηγουμένως Ιστορία και βασικά μικροελεγκτή 8051 . Είναι ένα PDIP 40 ακίδων (πλαστικό διπλό πακέτο Inline).

Το 8051 διαθέτει ταλαντωτή on-chip, αλλά απαιτεί εξωτερικό ρολόι για να το τρέξει. Ένας κρύσταλλος χαλαζία συνδέεται μεταξύ των ακίδων XTAL του MC. Αυτός ο κρύσταλλος χρειάζεται δύο πυκνωτές ίδιας αξίας (33pF) για τη δημιουργία σήματος ρολογιού της επιθυμητής συχνότητας. Τα χαρακτηριστικά του 8051 Microcontroller έχουν εξηγήσει στο προηγούμενο άρθρο μας.

Μικροελεγκτής Crystal Connections

Μικροελεγκτής Crystal Connections

LED (δίοδος εκπομπής φωτός)

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

Έχει δύο τερματικά θετικά και αρνητικά όπως φαίνεται στο σχήμα.

Πολικότητα LED

Πολικότητα LED

Ο μόνος τρόπος για να μάθετε την πολικότητα είναι είτε να το δοκιμάσετε με ένα πολύμετρο είτε παρατηρώντας προσεκτικά μέσα στο LED. Το μεγαλύτερο άκρο μέσα στο led είναι -ve (κάθοδος) και το κοντύτερο είναι + ve (anode), έτσι ανακαλύπτουμε την πολικότητα του LED. Ένας άλλος τρόπος για να αναγνωρίσετε την πολικότητα είναι, η σύνδεση καλωδίων, το θετικό τερματικό έχει μεγαλύτερο μήκος από το ΑΡΝΗΤΙΚΟ τερματικό.

Διασύνδεση LED έως 8051

Υπάρχουν δύο τρόποι με τους οποίους μπορούμε να συνδέσουμε το LED με τον Μικροελεγκτή 8051. Αλλά οι τεχνικές συνδέσεων και προγραμματισμού θα είναι διαφορετικές. Αυτό το άρθρο παρέχει τις πληροφορίες σχετικά με τη διασύνδεση LED με κωδικό 8051 και LED που αναβοσβήνει για τον μικροελεγκτή AT89C52 / AT89C51.

Μέθοδοι διασύνδεσης LED έως 8051

Μέθοδοι διασύνδεσης LED έως 8051

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

Η αντίσταση είναι σημαντική στη διασύνδεση LED για τον περιορισμό του ρεύματος ροής και την αποφυγή βλάβης των LED και / ή MCU.

  • Η διεπαφή 1 θα ανάψει LED, μόνο εάν η τιμή PIN του MC είναι ΥΨΗΛΗ καθώς το ρεύμα ρέει προς το έδαφος.
  • Η διεπαφή 2 θα ανάψει LED, μόνο εάν η τιμή PIN του MC είναι χαμηλή καθώς το ρεύμα ρέει προς το PIN λόγω του χαμηλότερου δυναμικού του.

Το διάγραμμα κυκλώματος φαίνεται παρακάτω. Ένα LED είναι συνδεδεμένο στον ακροδέκτη-0 της θύρας-1.

Κύκλωμα προσομοίωσης πρωτεϊνών

Κύκλωμα προσομοίωσης πρωτεϊνών

Θα εξηγήσω λεπτομερώς τον κωδικό προγράμματος. Επιπλέον, ανατρέξτε σε αυτόν τον σύνδεσμο ' Εκπαιδευτικό πρόγραμμα ενσωματωμένου C με γλώσσα Keil '. Ένας κρύσταλλος 11.0592 MHz συνδέεται για τη δημιουργία του ρολογιού. Όπως γνωρίζουμε ότι ο Μικροελεγκτής 8051 εκτελεί μια οδηγία σε 12 κύκλους CPU [1], επομένως αυτός ο κρύσταλλος 11.0592Mhz κάνει αυτό το 8051 να λειτουργεί στα 0,92 MIPS (εκατομμύρια οδηγίες ανά δευτερόλεπτο).

Στον παρακάτω κώδικα, το LED ορίζεται ως ο πείρος 0 της θύρας 1. Στην κύρια λειτουργία, το LED εναλλάσσεται μετά από κάθε μισό δευτερόλεπτο. Η συνάρτηση «καθυστέρηση» εκτελεί μηδενικές δηλώσεις κάθε φορά που εκτελείται.

Μια τιμή 60000 (μεταγλωττισμένη με χρήση λογισμικού Keil micro-vision4) δημιουργεί περίπου 1 δευτερόλεπτο (χρόνος καθυστέρησης) μηδενικό χρόνο εκτέλεσης δήλωσης όταν χρησιμοποιείται κρύσταλλος 11.0592 MHz. Με αυτόν τον τρόπο, το LED που είναι προσαρτημένο στον ακροδέκτη P1.0 κατασκευάζεται για να αναβοσβήνει χρησιμοποιώντας τον κωδικό που δίνεται παρακάτω.

ΚΩΔΙΚΑΣ

#περιλαμβάνω

sbit LED = P1 ^ 0 // pin0 του port1 ονομάζεται LED

// Δηλώσεις λειτουργιών

κενό cct_init (κενό)

άκυρη καθυστέρηση (int a)

int main (άκυρο)

{

cct_init ()

ενώ (1)

{

LED = 0

καθυστέρηση (60000)

LED = 1

καθυστέρηση (60000)

}

}

κενό cct_init (κενό)

{

P0 = 0x00

P1 = 0x00

P2 = 0x00

P3 = 0x00

}

άκυρη καθυστέρηση (int a)

{

int i

για (i = 0 i

}

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

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