תוכן עניינים:

לוח מתאם HD44780 LCD ל- I2C עבור פיראט האוטובוס: 9 שלבים
לוח מתאם HD44780 LCD ל- I2C עבור פיראט האוטובוס: 9 שלבים

וִידֵאוֹ: לוח מתאם HD44780 LCD ל- I2C עבור פיראט האוטובוס: 9 שלבים

וִידֵאוֹ: לוח מתאם HD44780 LCD ל- I2C עבור פיראט האוטובוס: 9 שלבים
וִידֵאוֹ: #5 Жидкокристаллический дисплей I2C || ESP8266 FLPROG ЛЕСТНИЧНАЯ ЛОГИКА 2024, נוֹבֶמבֶּר
Anonim
לוח מתאם HD44780 LCD ל- I2C עבור פיראט האוטובוסים
לוח מתאם HD44780 LCD ל- I2C עבור פיראט האוטובוסים
לוח מתאם HD44780 LCD ל- I2C עבור פיראט האוטובוסים
לוח מתאם HD44780 LCD ל- I2C עבור פיראט האוטובוסים

מסכי LCD עם תווים זולים המבוססים על ערכת השבבים HD44780 מגיעים במגוון גדלים: 2x16, 4x20 וכו '. למסכים אלה יש שני מצבי ממשק סטנדרטיים, 4bit ו- 8bit במקביל. 8 ביט דורש סך הכל 11 קווי נתונים, 4 ביט דורש 7 (6 לכתיבה בלבד). חלק ממסכי ה- LCD תומכים במצב נתונים סידורי נוסף, כמו ה- VFD שסיקרתי ב- Hack a Day. מסכי LCD 44480 הם בדרך כלל חלקים בגודל 5 וולט עם אספקה נפרדת לתאורה האחורית. באוטובוס פיראט יש רק חמישה סיכות קלט/פלט סובלניות של 5 וולט, אז יצרנו לוח מתאם קטן עם מספיק סיכות לשליטה על ה- LCD. האוטובוס פיראט שולט בלוח המתאם דרך ספריית ממשק ה- LCD שלו. המשך לקרוא על לוח מתאם ה- LCD של Bus Busate HD44780 וספריית הממשקים. אני יכול לקבל PCB, ערכות או ערכות מורכבות המיוצרות על ידי Seeed Studio תמורת כ -15 $, כולל משלוח לכל העולם, יותר כאן. לא יכולתי לכלול כמה רכיבי עיצוב וטבלאות HTML ב- Instructable, אתה יכול לראות את הפוסט המקורי באבות הטיפוס המסוכנים. בלוג.

שלב 1: חומרה

חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה
חוּמרָה

במאמר זה אנו מתארים לוח מתאם I2C עבור מסכי LCD מבוססי HD44780. אנו מדגימים זאת באמצעות ממשק סידורי אוניברסלי של Bus Pirate. קוד המקור של אוטובוס פיראט לספריית ממשקי HD44780 מבוססי I2C הוא נחלת הכלל, כך שניתן להסתגל בחינם לפרויקטים משלך. תוכנת מעגל בגודל מלא [PNG]. המעגל וה- PCB תוכננו עם הגרסה החינמית של Cadsoft Eagle. ניתן להוריד את קבצי העיצוב מה- Bus Pirate SVN. לפני השימוש בלוח המתאם, הקפד לאמת את גליון הנתונים של ה- LCD שלך כנגד נקודת ההתאמה של המתאם. לא כל מסכי ה- LCD זהים. PCF8574 I/O expander IC זהו שבב מרחיב 8 I/O פשוט הנשלט באמצעות ממשק I2C דו-חוטי. ממשק I2C נגיש מכותרת JP1. PCF8574 עובד מ -2.5 עד 5 וולט. סיכות הקלט/פלט פועלות במתח האספקה, כך שאם אנו מאכילים אותו 5 וולט הוא ממשק את ה- LCD ב -5 וולט. C1 (0.1uF) מנתק את ה- IC מתנודות באספקת החשמל. סיכה אחת של ה- PCF8574 שולטת ב -3 מ"מ LED (LED1) דרך הנגד המגביל את הזרם R2 (1000 אוהם). נורות הלד מצביעות על תקשורת מוצלחת בין פיראט האוטובוס למתאם. ה- PCF8574 אינו יכול לספק מספיק זרם כדי להפעיל את ה- LED, כך שאנו מפעילים את ה- LED מהספק של 5 וולט ומחליפים את הקרקע. LCD לוח המתאם מתקשר עם LCD אופי מבוסס HD44780 במצב ממשק מקבילי 4 ביט. סיכות הממשק של 4 ביט - RS, RW, EN ו- D4 -D7 - מחוברות לשבעה מתוך סיכות הקלט/פלט PCF8574. אנו אוהבים להשתמש בכותרת סיכה זכר 0.1 אינץ 'כדי לחבר את המתאם ל- LCD, בדרך כלל אתה יכול להשעין את ה- LCD על הפינים כדי ליצור מגע מספיק לבדיקה מהירה. נגד גוזם R1 (10K) מספק מתח התאמת ניגודיות לפין 3 של כותרת ה- LCD. לא חיברנו את סיכות התאורה האחורית מכיוון שיש כל כך הרבה סגנונות תאורה אחורית. אספקת חשמל לתאורת אחורית LED עלולה לפגוע במסך הדורש אספקת מתח שלילי. אספקת חשמל רוב מחשבי ה- LCD דורשים 5 וולט, מספקים ספק כוח חיצוני דרך כותרת JP2. סיפקנו סיכת אספקת חשמל שנייה לחיבור נגדי המשיכה של האוטובוס פיראט. PCB המעגל וה- PCB תוכננו עם הגרסה החינמית של Cadsoft Eagle. ניתן להוריד את קבצי העיצוב מ- Bus Pirate SVN. PCB הוא עיצוב חד-צדדי וכולו חור עם חוט מגשר יחיד (מוצג באדום). אנו יכולים לקבל מחשבי PCB, ערכות או ערכות מורכבות המיוצרות על ידי Seeed Studio תמורת כ -15 $, כולל משלוח לכל העולם, עוד כאן. כל ה חור מחוספס) C10.1uF/10 וולט+R110000 (10K) אוהם גוזם סיבוב/פוטנציומטר, 6mmR21000 (1K) אוהם נגד, 1/4 וואט LED13mm (T1) LED, כותרת גברית אדומה JPJ+JP20.1 ", 5 פינים IC1PCF8574N, 8bit I2C I/O מרחיב DIP16ICS116 פינים DIP שקע עבור IC1I לא יכול לכלול כמה רכיבי עיצוב וטבלאות HTML ב- Instructable, אתה יכול לראות את הפוסט המקורי בבלוג Dotypous Prototypes.

שלב 2: חיבורים

חיבורים
חיבורים

מכשיר: HD44780 תווים LCD. אוטובוס: מקבילית 4 ביט, עם לוח מתאם PCF8574 I2C. דרישות הספק: 5 וולט. הפניות: גליון נתונים לדוגמה [PDF], הפניה לפקודה HD44780, אתר uber HD44780. יומן הפעלות של אוטובוס פיראטים להדגמה זו. אנו עיצב את המתאם לספריית ה- LCD של הממשק הסדרתי האוניברסלי Bus Pirate, אך הוא יעבוד עם כל דבר שיכול לדבר על פרוטוקול I2C. תסתכל על קוד המקור של אוטובוס פיראט לדוגמא I2C-> HD44780 יישום. חבר את פיראט האוטובוס ללוח המתאם כפי שמוצג בטבלה. הטבלה מציגה גם את החיבורים הגולמיים ל- PCF8574 IC אם אתה עוקב ללא לוח מתאם. חבר את המתאם לספק כוח מספיק עבור ה- LCD, בדרך כלל 5 וולט. חיבור I2C בין המתאם לבין האוטובוס פיראט דורש נגדי משיכה בין 2 ל- 10K. להלן מידע נוסף על התממשקות מתח מעורב עם משיכות, ועל נגדי המשיכה המשולבים של האוטובוס פיראט. לא יכולתי לכלול כמה רכיבי עיצוב וטבלאות HTML ב- Instructable, אתה יכול לראות את הפוסט המקורי בבלוג Dotypous Prototypes.

שלב 3: שלב 1. ספריית ההתקנה

שלב 1. התקנת ספרייה
שלב 1. התקנת ספרייה

ממשק כיסינו את עיצוב המתאם וכיצד לחבר אותו לפיראט האוטובוסים, עכשיו הגיע הזמן לכתוב משהו ל- LCD. Hi> m <<11 <<1 <<W <

p <<2 <<v <<< קבל דו"ח מתח מוניטור מתח: 5V: 4.9 | 3.3V: 3.3 | VPULLUP: 5.0 <<הקש 'm' במסוף Bus Pirate ובחר בספריית ה- LCD. כרגע הוא תומך רק במסכי LCD HD44780 תווים באמצעות מתאם PFC8574 המתואר במחצית הראשונה של מאמר זה (אפשרות 1). הפעל את ספקי הכוח ('W' הגדולים) ואת נגדי המשיכה (תפריט 'p'). בדוק את צג המתח (תפריט 'v') וודא כי מתח המשיכה (Vpullup) קורא סביב 5 וולט.

שלב 4: שלב 2. איפוס ואתחול

שלב 2. איפוס ואתחול
שלב 2. איפוס ואתחול
שלב 2. איפוס ואתחול
שלב 2. איפוס ואתחול

טבלה זו מתארת את הפקודות של בתים בודדים השולטים ב- LCD 44780 LCD, להלן הפניה מפורטת. ניתן להזין פקודות אלה משורת הפקודה Bus Pirate, אך עשינו פקודות מאקרו עבור רובן כדי לחסוך זמן. LCD> (0) <<< הצג תפריט מאקרו 0. תפריט מאקרו <<< תפריט זה 1. איפוס LCD << <אפס את LCD2. Init LCD <<< אפס והתחל את LCD3. LCD נקי <<< נקה LCD, החזר את הסמן ל 04. מיקום הסמן למשל: (4: 0) <<< הגדר את מצביע הסמן 5. כתוב טקסט בדיקה <<מאקרו 0 מציג את תפריט המאקרו לכל מצב פיראט האוטובוסים. LCD> (2) <<< לאתחל קווי מאקרו תצוגת LCD: 1. 1 <<< תצוגת שורה אחת 2. מרובים <<2 'RESET <<< macro 2 כולל רצף איפוס INIT <<מאקרו ה- LCD לאתחול (2) מגדיר את המסך למצב ממשק 4 ביט, מאפשר הצגת סמן וקובע כמה אפשרויות מועילות אחרות. הגדר את מספר קווי התצוגה, בחר 1 לתצוגת שורה אחת, או 2 עבור כל התצוגות האחרות. לאחר האתחול, המסך צריך להיות ברור עם סמן גלוי בפינה. אם זה לא עבד, בדוק את חיבור I2C, נגדי משיכה ואספקת חשמל, ולאחר מכן נסה שוב. יש לחזור לאפס מסך LCD 44780 עם רצף אותות מיוחד לפני שניתן לאתחל אותם למצב ממשק 4 ביט או 8 ביט. מאקרו 1 יוצר רצף זה. מאקרו 2 כולל את רצף האיפוס, כך שאין צורך להשתמש במאקרו 1 לפני מאקרו 2.

שלב 5: שלב 3. כתוב תווי מבחן

שלב 3. כתוב תווי מבחן
שלב 3. כתוב תווי מבחן
שלב 3. כתוב תווי מבחן
שלב 3. כתוב תווי מבחן

LCD> (6:80) <<מאקרו מספרי הכתיבה ממלא את ה- LCD במספרי בדיקה בין 0 ל- 9. המספר שאחרי המעי הגס אומר לפיראט האוטובוסים כמה מספרי בדיקה לכתוב, אנו משתמשים ב- 4x20LCD, ולכן אנו כותבים 80 מספרים כדי למלא אותו. שימו לב שהסמן מסתיים במיקום 0, מתחת ל'0 'הראשון. LCD> (7:80) <<מאקרו תווי הכתיבה ממלא את ה- LCD בתווי ASCII, הזן את הכמות אחרי המעי הגס. שימו לב כי קו האגרוף ממשיך בשלישי, השלישי בשני, והשני באחרון. התווים אינם רציפים מכיוון שמסכי LCD של תווים אינם עוטפים משורה אחת לשנייה. נדבר על זה קצת יותר מאוחר.

שלב 6: שלב 4. LCD נקה

שלב 4. LCD נקה
שלב 4. LCD נקה

LCD> (3) <<מאקרו LCD הברור שולח את הפקודה HD44780 שמוחקת את המסך ומחזירה את הסמן למיקום הראשון. תוכל גם לבצע כל אחת מהפעולות הללו ללא הפקודות המאקרו, עיין בטבלת הפקודות בתחילת סעיף זה. הזן '[0b1' בפיראט האוטובוסים כדי להגדיר את הממשק למצב פקודה ([) ולשלוח את פקודת המסך הבהיר HD44780 (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) <<< תחביר מאקרו מרובים הזן טקסט להוספה במיקום הסמן. קושחה v2.0+ <<< הקלדנו טקסט זה יש להכניס במיקום הסמן. מסוכנים אבות טיפוס <<האוטובוס פיראט מקבל פקודות מאקרו מרובות על אותו קו, כך שניתן לכתוב את כל המסך בבת אחת. כתבנו לשתי השורות האחרונות עם שורה אחת של תחביר. נוכל להשתמש ב- '(3) (4: 0) (8) (4: 0x40) (8) (4: 0x14) (8) (4: 0x54) (8) 'כדי לנקות את ה- LCD ולכתוב את כל ארבע השורות עם ערך תחביר יחיד.

שלב 8: שלב 6. קריאה מתוך ה- LCD

שלב 6. קריאה מתוך ה- LCD
שלב 6. קריאה מתוך ה- LCD

לוח ה- Pirate Bus ו- LCD מתאם יכול לקרוא מתוך ה- LCD. אנו נקרא את הטקסט שכתבנו למסך (DDRAM), אך תוכל גם לקרוא הגדרות ורם תווים מותאם אישית (CGRAM) על ידי הגדרת הכתובת הנכונה. LCD> [0b10000000 '' '<<< הגדר את מצביע הקריאה' ' '] HD44780 RS LOW, COMMAND MODE <<< הרשמה בחר סיכה נמוכה CMD WRITE: 0x80 <<ראשית, אנו אומרים לשודד האוטובוסים לשלוח נתונים לרשם הפקודות של LCD ([). לאחר מכן, אנו משתמשים בפקודה להגדיר כתובת DDRAM (0b1xxxxxxx) כדי להגדיר את מצביע הקריאה לתחילת ה- DDRAM (xxxxxxx = 0000000).] LCD>] rrrrrrr <<< לקרוא זיכרון נתונים HD44780 RS HIGH, DATA MODE <<< register select pin high READ: 0x48 <<< 'H'READ: 0x44 <<<' D'READ: 0x34 <<< '4'READ: 0x34 <<<' 4'READ: 0x37 <<< '7'READ: 0x38 < << '8'READ: 0x30 <<<' 0'LCD> לבסוף, אמור לפיראט האוטובוסים לקרוא מזיכרון הנתונים (]) ולאחר מכן קרא כמה בתים (rrrrrrr). קיבלנו "HD44780", הטקסט שכתבנו למסך בשלב 5. כדאי שתוכל להשתמש בקיצור r: 7 כדי לקרוא שבעה בתים, אך הוא אינו פועל בקושחה הנוכחית - נתקן זאת לפני המהדורה הבאה.

שלב 9: לעשות יותר

עושה יותר
עושה יותר

תן תיאור כללי של שלב מתאם ה- LCD HD44780 אופי הוא אביזר שימושי עבור פיראט האוטובוסים. זה יכול לשמש לבדיקה מהירה או לפיתוח לוגיקה מתקדמת יותר. בנוסף למסכי LCD, שמונה סיכות הקלט/פלט של 2.5 וולט -5 וולט עשויות להיות שימושיות ליישומים אחרים של פיראטים של אוטובוס פיראטים גבוהים. או ערכות מורכבות המיוצרות על ידי Seeed Studio תמורת כ -15 $, כולל משלוח לכל העולם, עוד כאן. לא יכולתי לכלול כמה רכיבי עיצוב וטבלאות HTML ב- Instructable, אתה יכול לראות את הפוסט המקורי בבלוג Dotypous Prototypes.

מוּמלָץ: