התוכנה
בדקתי את קבצי הפרוייקט C5_Test_Code, הם נכתבו בסביבת עבודה kail uVision2 עבור מיקרו AT89S52 בתדר 33MHz.
אם אתה מתבסס על הקוד שרשום שם, תצטרך להחליף את הפונקציה delayms שרשומה בקוד בפונקציה אחרת שמתאימה למיקרובקר שלך ולמהירות השעון שבה הוא עובד.
הזמנים הרשומים ב-ms יהיו זהים אבל תוכן הפונקציה יהיה שונה.
החומרה
לגביי ה- 3.3V vs 5V
כשאמרת "כול המסך עובר דרך ממיר מתח מ5V ל3.3V" האם קווי הנתונים עוברים המרה או רק מתח ההזנה למסך עובר דרך מייצב?? זו נקודה מאוד חשובה כאן...
לפי השירטוט של המסך, יש עליו מייצב מתח ל-3.3V שמייצב את מתח ההזנה, אבל אין ממירים לקווי הנתונים.
הקובץ Must_Read מציין (בתרגום לא ברור) שאתה חייב להשתמש בממיר 5V ל-3.3V אם אתה עובד עם מיקרו ממשפחת AVR.
לפי דפי הנתונים של המסך לא ראיתי בכלל אפשרות לחיבור ישיר של TTL 5V. קווי הנתונים של המסך חייבים לעבוד ב-LVTTL 3.3V ולא יותר.
עכשיו השאלה היא מהם רמות המתח שהמיקרובקר והנועל שלך מוציאים?
אם הם TTL 5V רצוי שלא תפעיל את המעגל כרגע כי החיבור הזה יכול להזיק למסך!!
אם זה המצב יש לך שני אפשרויות שהייתי בודק:
*אתה יכול להוסיף ממירי ttl-to-lvttl על קווי הנתונים: אחרי המיקרובקר והחוצץ ולפני החיבור למסך.
דוגמה לרכיב כזה הוא SN74LVC4245A שמגיע באריזת SMT.
*אפשרות אחרת שאולי תהיה יותר יעילה היא לשנות את מתח ההזנה של המיקרובקר שלך.
לפי מה שראיתי בדף הנתונים של המיקרו
ATmega32U4 (עמ' 378) רמות המתח הלוגי ביציאות שלו הם vcc-0.7v.
כלומר שאם תשנה את מתח ההזנה של המיקרו ל-3.3V הוא יוציא מתח של 2.6 ביציאות שאמור להיות מספיק טוב בשביל המסך.
קיימת אפשרות לעשות זאת בערכת הפיתוח שקנית מ-ebay. אתה יכול לקרוא על זה ב-
User Guide שהבחור צירף באתר.
עמוד 11: Externally Powered – 3.0V to 3.6V.
שיהיה בהצלחה
ואם יש לך שאלות נוספות אתה מוזמן לשאול
...I think I am, therefore I am. I think