Πίνακας περιεχομένων:

HD44780 Πίνακας προσαρμογέα LCD σε I2C για το Pirate Bus: 9 βήματα
HD44780 Πίνακας προσαρμογέα LCD σε I2C για το Pirate Bus: 9 βήματα

Βίντεο: HD44780 Πίνακας προσαρμογέα LCD σε I2C για το Pirate Bus: 9 βήματα

Βίντεο: HD44780 Πίνακας προσαρμογέα LCD σε I2C για το Pirate Bus: 9 βήματα
Βίντεο: #18 LCD 0ΘΟΝΗ - ARDUINO (PART 1). 2024, Νοέμβριος
Anonim
HD44780 Πίνακας προσαρμογέα LCD σε I2C για το Pirate Bus
HD44780 Πίνακας προσαρμογέα LCD σε I2C για το Pirate Bus
HD44780 Πίνακας προσαρμογέα LCD σε I2C για το Pirate Bus
HD44780 Πίνακας προσαρμογέα LCD σε I2C για το Pirate Bus

Οι φθηνές οθόνες LCD που βασίζονται στο chipset HD44780 διατίθενται σε διάφορα μεγέθη: 2x16, 4x20 κ.λπ. Αυτές οι οθόνες έχουν δύο τυπικές λειτουργίες διεπαφής, 4bit και 8bit παράλληλες. Το 8bit απαιτεί συνολικά 11 γραμμές δεδομένων, το 4bit απαιτεί 7 (6 για εγγραφή μόνο). Ορισμένες οθόνες LCD υποστηρίζουν μια πρόσθετη λειτουργία σειριακών δεδομένων, όπως το VFD I που κάλυψα στο Hack a Day. Οι οθόνες LCD HD44780 είναι γενικά μέρη 5Volt με ξεχωριστή παροχή για τον οπίσθιο φωτισμό. Το Bus Pirate διαθέτει μόνο πέντε ακίδες εισόδου/εξόδου 5Volt, οπότε φτιάξαμε μια μικρή πλακέτα προσαρμογέα με αρκετές ακίδες για τον έλεγχο της οθόνης LCD. Το Bus Pirate ελέγχει την πλακέτα προσαρμογέα μέσω της βιβλιοθήκης διασύνδεσης LCD. Συνεχίστε την ανάγνωση του πίνακα προσαρμογέα LCD του Bus Pirate HD44780 χαρακτήρων και της βιβλιοθήκης διεπαφής. Μπορώ να έχω PCB, κιτ ή συναρμολογημένα κιτ που παράγονται από το Seeed Studio για περίπου $ 15, συμπεριλαμβανομένης της παγκόσμιας αποστολής, περισσότερα εδώ. Δεν μπορούσα να συμπεριλάβω κάποια στοιχεία μορφοποίησης και πίνακες HTML σε ένα Instructable, μπορείτε να δείτε την αρχική ανάρτηση στα Επικίνδυνα πρωτότυπα blog.

Βήμα 1: Υλικό

Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα

Σε αυτό το άρθρο περιγράφουμε μια πλακέτα προσαρμογέα I2C για LCD που βασίζονται σε HD44780. Το αποδεικνύουμε με μια καθολική σειριακή διεπαφή Bus Pirate. Ο πηγαίος κώδικας Bus Pirate για τη βιβλιοθήκη διεπαφών HD44780 που βασίζεται σε I2C είναι δημόσιος τομέας, επομένως είναι δωρεάν να προσαρμοστείτε στα δικά σας έργα. HardwareFull size image circuit circuit [PNG]. Το κύκλωμα και το PCB σχεδιάστηκαν με την δωρεάν έκδοση του Cadsoft Eagle. Μπορείτε να κατεβάσετε τα αρχεία σχεδίασης από το Bus Pirate SVN. Πριν χρησιμοποιήσετε την πλακέτα προσαρμογέα, βεβαιωθείτε ότι έχετε επαληθεύσει το φύλλο δεδομένων για την οθόνη LCD με το pinout του προσαρμογέα. Δεν είναι όλες οι οθόνες LCD ίδιες. PCF8574 I/O expander IC Αυτό είναι ένα απλό τσιπ επέκτασης 8 I/O που ελέγχεται μέσω της διεπαφής I2C δύο καλωδίων. Η διασύνδεση I2C είναι προσβάσιμη από την κεφαλίδα JP1. Το PCF8574 λειτουργεί από 2,5 έως 5 βολτ. Οι ακίδες εισόδου/εξόδου λειτουργούν στην τάση τροφοδοσίας, οπότε αν το τροφοδοτούμε 5 βολτ, διασυνδέει την οθόνη LCD στα 5 βολτ. Το C1 (0.1uF) αποσυνδέει το IC από τις διακυμάνσεις στην παροχή ρεύματος. Ένας πείρος του PCF8574 ελέγχει ένα LED 3mm (LED1) μέσω της αντίστασης περιορισμού ρεύματος R2 (1000 ohms). Οι φωτεινές ενδείξεις LED δείχνουν την επιτυχή επικοινωνία μεταξύ του Bus Pirate και του προσαρμογέα. Το PCF8574 δεν μπορεί να παράγει αρκετό ρεύμα για να τροφοδοτήσει το LED, οπότε τροφοδοτούμε το LED από την τροφοδοσία 5Volt και αλλάζουμε τη γείωση. LCD Η πλακέτα προσαρμογέα επικοινωνεί με LCD χαρακτήρα που βασίζεται σε HD44780 σε λειτουργία παράλληλης διεπαφής 4bit. Οι ακίδες διεπαφής 4bit - RS, RW, EN και D4 -D7 - συνδέονται με επτά από τις ακίδες εισόδου/εξόδου PCF8574. Μας αρέσει να χρησιμοποιούμε αρσενική κεφαλίδα καρφιτσών 0,1 "για να συνδέσουμε τον προσαρμογέα σε μια οθόνη LCD, μπορείτε συνήθως να ακουμπήσετε την οθόνη LCD στις ακίδες για να δημιουργήσετε επαρκή επαφή για μια γρήγορη δοκιμή. Η αντίσταση κοπής R1 (10K) παρέχει τάση ρύθμισης της αντίθεσης στον ακροδέκτη 3 του την κεφαλίδα LCD. Δεν συνδέσαμε τις ακίδες οπίσθιου φωτισμού επειδή υπάρχουν τόσα πολλά διαφορετικά στυλ οπίσθιου φωτισμού. Η παροχή ισχύος για έναν οπίσθιο φωτισμό LED μπορεί να βλάψει μια οθόνη που απαιτεί αρνητική τάση. Τροφοδοσία Οι περισσότερες LCD απαιτούν 5 βολτ, παρέχουν εξωτερική τροφοδοσία μέσω κεφαλίδα JP2. Παρέχουμε έναν δεύτερο πείρο τροφοδοσίας για τη σύνδεση των αντιστάσεων έλξης του Bus Pirate. PCB Το κύκλωμα και το PCB σχεδιάστηκαν με την δωρεάν έκδοση του Cadsoft Eagle. Τα αρχεία σχεδίασης μπορούν να μεταφορτωθούν από το Bus Pirate SVN. Το PCB είναι ένα μονόπλευρο, εντελώς διάτρητο σχέδιο με ένα μόνο καλώδιο βραχυκυκλωτήρα (εμφανίζεται με κόκκινο χρώμα). Μπορούμε να έχουμε PCB, κιτ ή συναρμολογημένα κιτ που παράγονται από το Seeed Studio για περίπου $ 15, συμπεριλαμβανομένης της παγκόσμιας αποστολής, περισσότερα εδώ. Partlist Part Value (όλα τα ου τραχιά τρύπα C10.1uF/10volts+R110000 (10K) ohm, αντιστάτης 6mmR21000 (1K) ohm, 1/4 wattLED13mm (T1) LED, κόκκινοJP1+JP20.1 "αρσενική κεφαλίδα, 5 ακίδες IC1PCF8574N, 8bit I2C I/O Expander DIP16ICS116 pin DIP socket for IC1 Δεν μπορούσα να συμπεριλάβω κάποια στοιχεία μορφοποίησης και πίνακες HTML σε ένα Instructable, μπορείτε να δείτε την αρχική ανάρτηση στο ιστολόγιο Επικίνδυνων Πρωτότυπων.

Βήμα 2: Συνδέσεις

Συνδέσεις
Συνδέσεις

Συσκευή: LCD HD44780 χαρακτήρων. Λεωφορείο: Παράλληλο 4bit, με κάρτα προσαρμογέα PCF8574 I2C. Απαιτήσεις ισχύος: 5 volt σχεδίασε τον προσαρμογέα για τη βιβλιοθήκη LCD της γενικής σειριακής διεπαφής Bus Pirate, αλλά θα λειτουργήσει με οτιδήποτε μπορεί να μιλήσει στο πρωτόκολλο I2C. Ρίξτε μια ματιά στον πηγαίο κώδικα Bus Pirate για παράδειγμα εφαρμογής I2C-> HD44780. Συνδέστε το Bus Pirate στην πλακέτα προσαρμογέα, όπως φαίνεται στον πίνακα. Ο πίνακας δείχνει επίσης τις ακατέργαστες συνδέσεις με το PCF8574 IC εάν ακολουθείτε χωρίς κάρτα προσαρμογέα. Συνδέστε τον προσαρμογέα σε τροφοδοτικό επαρκές για την οθόνη LCD, γενικά 5Volt. Η σύνδεση I2C μεταξύ του προσαρμογέα και του Bus Pirate απαιτεί αντιστάσεις έλξης μεταξύ 2 και 10K. Ακολουθούν περισσότερες πληροφορίες σχετικά με τη διασύνδεση μικτής τάσης με τα pull-ups και τις αντιστάσεις έλξης του Bus Pirate. Δεν μπορούσα να συμπεριλάβω ορισμένα στοιχεία μορφοποίησης και πίνακες HTML σε ένα Instructable, μπορείτε να δείτε την αρχική ανάρτηση στο ιστολόγιο Dangerous Prototypes Το

Βήμα 3: Βήμα 1. Ρυθμίστε τη βιβλιοθήκη

Βήμα 1. Ρυθμίστε τη βιβλιοθήκη
Βήμα 1. Ρυθμίστε τη βιβλιοθήκη

Διασύνδεση Έχουμε καλύψει τον σχεδιασμό του προσαρμογέα και πώς να τον συνδέσετε με το Bus Pirate, τώρα ήρθε επιτέλους η ώρα να γράψετε κάτι στην οθόνη LCD. HiZ> m <<11 <<1 <<W <

p <<2 <<v <<< Λήψη αναφοράς τάσης VONTION MONITOR: 5V: 4.9 | 3.3V: 3.3 | VPULLUP: 5.0 <<Πατήστε 'm' στο τερματικό Bus Pirate και επιλέξτε τη βιβλιοθήκη LCD. Προς το παρόν, υποστηρίζει μόνο LCD χαρακτήρων HD44780 χρησιμοποιώντας τον προσαρμογέα PFC8574 που περιγράφεται στο πρώτο μισό αυτού του άρθρου (επιλογή 1). Ενεργοποιήστε τα τροφοδοτικά (μεγάλο «W») και αντιστάσεις έλξης (μενού «p»). Ελέγξτε την οθόνη τάσης (μενού «v») και βεβαιωθείτε ότι η τάση έλξης (Vpullup) είναι περίπου 5Volt.

Βήμα 4: Βήμα 2. Επαναφορά και αρχικοποίηση

Βήμα 2. Επαναφορά και αρχικοποίηση
Βήμα 2. Επαναφορά και αρχικοποίηση
Βήμα 2. Επαναφορά και αρχικοποίηση
Βήμα 2. Επαναφορά και αρχικοποίηση

Αυτός ο πίνακας περιγράφει τις εντολές ενός byte που ελέγχουν μια οθόνη HD44780, εδώ είναι μια λεπτομερής αναφορά. Αυτές οι εντολές μπορούν να εισαχθούν από τη γραμμή εντολών Bus Pirate, αλλά έχουμε κάνει μακροεντολές για τις περισσότερες από αυτές για να εξοικονομήσουμε χρόνο. LCD> (0) <<< εμφάνιση μακροεντολής0. Μακροεντολή <<< αυτό το μενού1. LCD Επαναφορά << <επαναφέρετε την LCD2. Στην οθόνη LCD <<< επαναφέρετε και αρχικοποιήστε την LCD3. Καθαρίστε την LCD <<< καθαρή οθόνη LCD, επιστρέψτε τον κέρσορα στο 04. Θέση δρομέα πχ: (4: 0) <<< ορίστε τη θέση του δρομέα 5. Γράψτε δοκιμαστικό κείμενο <<Η μακροεντολή 0 εμφανίζει το μενού μακροεντολών για οποιαδήποτε λειτουργία Πειρατής διαύλου. LCD> (2) <<< αρχικοποίηση μακροεντολών LCD Γραμμές οθόνης: 1. 1 <<< οθόνη μονής γραμμής2. Πολλαπλά <<2 'RESET <<< μακροεντολή 2 περιλαμβάνει μια ακολουθία επαναφοράς INIT <<Η αρχικοποίηση της μακροεντολής LCD (2) διαμορφώνει την οθόνη για λειτουργία διεπαφής 4bit, επιτρέπει την εμφάνιση του δρομέα και ορίζει μερικές άλλες χρήσιμες επιλογές. Διαμορφώστε τον αριθμό των γραμμών εμφάνισης, επιλέξτε 1 για οθόνη μιας γραμμής ή 2 για όλες τις άλλες οθόνες. Μετά την προετοιμασία, η οθόνη θα πρέπει να είναι καθαρή με έναν δρομέα ορατό στη γωνία. Εάν δεν λειτούργησε, ελέγξτε τη σύνδεση I2C, τις αντιστάσεις ανύψωσης και την παροχή ρεύματος και, στη συνέχεια, δοκιμάστε ξανά. Οι οθόνες LCD HD44780 πρέπει να επαναρυθμιστούν με μια ειδική ακολουθία σήματος προτού ξεκινήσουν για λειτουργία διεπαφής 4bit ή 8bit. Η μακροεντολή 1 δημιουργεί αυτήν την ακολουθία. Η μακροεντολή 2 περιλαμβάνει την ακολουθία επαναφοράς, επομένως δεν χρειάζεται να χρησιμοποιήσετε τη μακροεντολή 1 πριν τη μακροεντολή 2.

Βήμα 5: Βήμα 3. Γράψτε χαρακτήρες δοκιμής

Βήμα 3. Γράψτε χαρακτήρες δοκιμής
Βήμα 3. Γράψτε χαρακτήρες δοκιμής
Βήμα 3. Γράψτε χαρακτήρες δοκιμής
Βήμα 3. Γράψτε χαρακτήρες δοκιμής

LCD> (6:80) <<Η μακροεντολή εγγραφής αριθμών γεμίζει την οθόνη LCD με αριθμούς δοκιμής μεταξύ 0 και 9. Ο αριθμός μετά την άνω τελεία λέει στο Bus Pirate πόσους αριθμούς δοκιμής πρέπει να γράψουμε, χρησιμοποιούμε 4x20LCD, οπότε γράφουμε 80 αριθμούς για να το συμπληρώσουμε. Παρατηρήστε ότι ο δρομέας τελειώνει στη θέση 0, κάτω από το πρώτο '0'. LCD> (7:80) <<Η μακροεντολή εγγραφής χαρακτήρων γεμίζει την οθόνη LCD με χαρακτήρες ASCII, εισαγάγετε την ποσότητα μετά το παχύ έντερο. Παρατηρήστε ότι η πρώτη γραμμή συνεχίζεται στο τρίτο, το τρίτο στο δεύτερο και το δεύτερο στο τελευταίο. Οι χαρακτήρες δεν είναι συνεχείς επειδή οι οθόνες LCD χαρακτήρων δεν τυλίγονται από τη μία γραμμή στην άλλη. Θα μιλήσουμε λίγο παραπάνω για αυτό αργότερα.

Βήμα 6: Βήμα 4. Εκκαθάριση LCD

Βήμα 4. Εκκαθάριση LCD
Βήμα 4. Εκκαθάριση LCD

LCD> (3) <<Η καθαρή μακροεντολή LCD στέλνει την εντολή HD44780 που διαγράφει την οθόνη και επιστρέφει τον κέρσορα στην πρώτη θέση. Μπορείτε επίσης να κάνετε οποιαδήποτε από αυτές τις λειτουργίες χωρίς τις μακροεντολές, ανατρέξτε στον πίνακα εντολών στην αρχή αυτής της ενότητας. Εισαγάγετε «[0b1» στο Bus Pirate για να ρυθμίσετε τη διεπαφή στη λειτουργία εντολών ([) και να στείλετε την εντολή HD44780 clear screen (0b00000001) χωρίς μακροεντολή.]

Βήμα 7: Βήμα 5. Πληκτρολογήστε Κείμενο

Βήμα 5. Πληκτρολογήστε Κείμενο
Βήμα 5. Πληκτρολογήστε Κείμενο
Βήμα 5. Πληκτρολογήστε Κείμενο
Βήμα 5. Πληκτρολογήστε Κείμενο

LCD> (8) <<< εισαγωγή κειμένου χρήστη Εισαγάγετε κείμενο για εισαγωγή στη θέση του δρομέα. HD44780 επίδειξη LCD <<Αφού καθαρίσετε την οθόνη LCD στο βήμα 4, ο δρομέας τοποθετείται στο πρώτο μπλοκ. Θα μπορούσαμε επίσης να το ορίσουμε με τη μακροεντολή (4: 0), η οποία μετακινεί τον κέρσορα στον πρώτο χαρακτήρα. Το κείμενο εισαγωγής στη μακροεντολή δρομέα ζητάει εισαγωγή κειμένου και στη συνέχεια το αντιγράφει στην οθόνη LCD όταν πατάτε το enter. LCD> (4: 0x40) <& lt

LCD> (8) <<< εισαγωγή κειμένου Εισαγάγετε κείμενο για εισαγωγή στη θέση του δρομέα. Bus Pirate v2go <<Η γραφή στη δεύτερη γραμμή είναι λίγο πιο περίπλοκη, στην πραγματικότητα ξεκινά από τον χαρακτήρα 64 σε μια οθόνη LCD 4x20. Εάν συνεχίσετε να γράφετε από το τέλος της γραμμής 1 (χαρακτήρας 20), τότε θα καταλήξετε στην αρχή της τρίτης γραμμής! Αυτή η σελίδα διαθέτει μια ωραία συλλογή χαρτών μνήμης για τα περισσότερα μεγέθη LCD χαρακτήρων. Πρώτον, τοποθετούμε τον κέρσορα στη δεύτερη γραμμή (4: 0x40). Στη συνέχεια, η μακροεντολή "εισαγωγή κειμένου" πιάνει την είσοδό μας και την αντιγράφει στην οθόνη LCD. LCD> (4: 0x14) (8) (4: 0x54) (8) <<< πολλαπλή μακρο σύνταξη Εισαγάγετε κείμενο για εισαγωγή στη θέση του δρομέα. Firmware v2.0+ <<< πληκτρολογήσαμε αυτόΕισάγετε κείμενο για εισαγωγή στη θέση του δρομέα. Επικίνδυνα Πρωτότυπα <<Το Bus Pirate δέχεται πολλαπλές μακροεντολές στην ίδια γραμμή, οπότε ολόκληρη η οθόνη μπορεί να γραφτεί ταυτόχρονα. Γράψαμε στις δύο τελευταίες γραμμές με μία μόνο σύνταξη. Θα μπορούσαμε να χρησιμοποιήσουμε το «(3) (4: 0) (8) (4: 0x40) (8) (4: 0x14) (8) (4: 0x54) (8) "για να καθαρίσετε την οθόνη LCD και να γράψετε και τις τέσσερις γραμμές με μία μόνο καταχώριση σύνταξης.

Βήμα 8: Βήμα 6. Ανάγνωση από την οθόνη LCD

Βήμα 6. Ανάγνωση από την οθόνη LCD
Βήμα 6. Ανάγνωση από την οθόνη LCD

Ο πίνακας προσαρμογέα Bus Pirate και LCD μπορεί να διαβάσει από την οθόνη LCD. Θα διαβάσουμε το κείμενο που γράψαμε στην οθόνη (DDRAM), αλλά μπορείτε επίσης να διαβάσετε τις ρυθμίσεις και την προσαρμοσμένη μνήμη χαρακτήρων (CGRAM) ορίζοντας τη σωστή διεύθυνση. LCD> [0b10000000 "" <<< ρυθμίστε τον δείκτη ανάγνωσης "" '] HD44780 RS LOW, COMMAND MODE <<< εγγραφή επιλογής χαμηλής καρφίτσας CMD WRITE: 0x80 <<Αρχικά, λέμε στο Bus Pirate να στείλει δεδομένα στον καταχωρητή εντολών LCD ([). Στη συνέχεια, χρησιμοποιούμε την καθορισμένη εντολή διεύθυνσης DDRAM (0b1xxxxxxx) για να ορίσουμε τον δείκτη ανάγνωσης στην αρχή του DDRAM (xxxxxxx = 0000000).] LCD>] rrrrrrr <<< μνήμη ανάγνωσης δεδομένων pin highREAD: 0x48 <<< 'H'READ: 0x44 <<<' D'READ: 0x34 <<< '4'READ: 0x34 <<<' 4'READ: 0x37 <<< '7'READ: 0x38 < << '8'READ: 0x30 <<<' 0'LCD> Τέλος, πείτε στο Bus Pirate να διαβάσει από τη μνήμη δεδομένων (]) και, στη συνέχεια, διαβάστε μερικά byte (rrrrrrr). Πήραμε "HD44780", το κείμενο που γράψαμε στην οθόνη στο βήμα 5. Θα πρέπει επίσης να μπορείτε να χρησιμοποιήσετε τη συντόμευση r: 7 για να διαβάσετε επτά byte, αλλά δεν λειτουργεί στο τρέχον υλικολογισμικό - θα το διορθώσουμε πριν η επόμενη κυκλοφορία.

Βήμα 9: Κάνετε περισσότερα

Κάνοντας περισσότερα
Κάνοντας περισσότερα

Δώστε μια γενική περιγραφή του Step Ο προσαρμογέας LCD χαρακτήρων HD44780 είναι ένα εύχρηστο αξεσουάρ για το Bus Pirate. Μπορεί να χρησιμοποιηθεί για γρήγορη δοκιμή ή πιο προηγμένη ανάπτυξη λογικής. Εκτός από τις οθόνες LCD, οι οκτώ ακίδες εισόδου/εξόδου 2.5volt-5volt μπορεί να είναι χρήσιμες για άλλες εφαρμογές υψηλής πειρατικότητας Bus Pirate. Μπορούμε να έχουμε PCB, κιτ, ή συναρμολογημένα κιτ που παράγονται από το Seeed Studio για περίπου $ 15, συμπεριλαμβανομένης της παγκόσμιας αποστολής, περισσότερα εδώ. Δεν μπορούσα να συμπεριλάβω ορισμένα στοιχεία μορφοποίησης και πίνακες HTML σε ένα Instructable, μπορείτε να δείτε την αρχική ανάρτηση στο ιστολόγιο Επικίνδυνων Πρωτότυπων.

Συνιστάται: