راه اندازی نمایشگر گرافیکی نوکیا ۵۱۱۰ با استفاده از میکروکنترلر های سری ۸۰۵۱

0
12
آموزش راه اندازی نمایشگر گرافیکی 5110 نوکیا ، با استفاده از میکرو 8051
آموزش راه اندازی نمایشگر گرافیکی ۵۱۱۰ نوکیا ، با استفاده از میکرو ۸۰۵۱

در این ساختنی، پروژه ای آموزش داده می شود که در آن روشهای مختلف راه اندازی نمایشگر گرافیکی یا همان GLCD با استفاده از میکروکنترلر ۸۰۵۱ شرح داده می شود. گوشی تلفن نوکیا ۵۱۱۰  دارای یک LCD گرافیکی به ابعاد ۴۸*۸۴ پیکسل است که در داخل خود یک کنترل کننده PCD8544 برای کنترل تمامی نمایش ها و عملکردها دارد. نوکیا ۵۱۱۰ از طریق رابط سریال با میکروکنترلر ارتباط برقرار می کند. پس از وارد شدن به پروژه می توان تصاویر گرافیکی یا متن دلخواه را روی آن نمایش داد.

اهداف راه اندازی نمایشگر :

  • یادگیری اساس کار LCDگرافیکی نوکیا۵۱۱۰
  • برقراری ارتباط سریال بین LCD گرافیکی و میکروکنترلر ۸۰۵۱
  • ساخت برنامه برای نماش دادن تصاویر گرافیکی یا متن بر روی نمایشگر

دیاگرام راه انداز نمایشگر ۵۱۱۰

مدار راه انداز نمایشگر گرافیکی 5110 با میکرو های 8051

اجزای مدار بر اساس دیاگرامی که در تصویر بالا نشان داده شده به بکدیگر متصل می شوند. شرح اتصالات و کانکتورها نیز در ادامه آورده شده است.

نمایشگر نوکیا۵۱۱۰

ویژگی ها:

  • نمایشگر گرافیکی با ابعاد ۴۸*۸۴ پیکسل
  • برقراری ارتباط با رابط سریال
  • دارای کنترل کننده داخلی PCD8544
  • دارای LED برای نور پس زمینه
  • ولتاژ تغذیه ۲٫۷ تا ۲ ولت
  • مصرف کم و بهینه سازی شده
  • مناسب برای پروژه های کم مصرف و دستگاه های قابل حمل

شرح اتصالات (Pinout) مدار

  • GND: پین زمین که به زمین میکروکنترلر ۸۰۵۱ متصل می شود.
  • BL: پین کنترل نور پس زمینه نمایشگر که به پین تغذیه ۳٫۳ ولت متصل می شود. این قسمت در راه اندازی نمایشگر مهم است و بخش نور پردازی نمایشگر را بر عهده دارد.
  • VCC: تغذیه مدار که می تواند بین ۵ تا ۷ ولت باشد و به پین ۳٫۳ ولت متصل می شود.
  • CLK: پین کلاک (خط سریال کلاک که برای ارتباط SPI استفاده می شود) که به پین ۱ در میکروکنترلر ۸۰۵۱ متصل می شود.
  • DIN: پین مربوط به دیتا (خط سریال دیتا که برای ارتباط SPI استفاده می شود) که به پین ۲ متصل می شود.
  • DC: پین انتخاب بین حالت فرمان یا دیتا برای فرمتهای دیتا که به پین ۳ در میکروکنترلر متصل می شود.
  • CE: ورودی فعالساز چیپ است. پین فعالساز اجازه می دهد تا اطلاعات با کلاک هماهنگ شوند که فعال شدن آن با سیگنال low انجام می شود و به پین ۴ در میکروکنترلر متصل می شود.
  • RST با پایه ریست خارجی : این سیگنال دستگاه را ریست کرده و برای راه اندازی احتمالی دوباره چیپ باید قرار داده شود. فعال شدن آن با سیگنال low انجام می شود و به پایه ۵ در میکروکنترلر متصل می شود.
در ساختنی بخوانید :
چگونه قطعات تقلبی الکترونیکی را شناسایی کنیم ؟

کد برنامه

کد برنامه این پروژه راه اندازی نمایشگر به زبان C و به صورت ساده ای نوشته شده است. در بخش بعدی بخشها و زیر روال های مهم برنامه شرح داده شده است. که می توانید آن را از این بخش دانلود کنید (گذرواژه:saakhtani.ir)

نیاز به خرید اشتراک!

برای دیدن این قسمت از محتوا نیاز به خرید اشتراک ساختنی دارید

در ابتدای برنامه، یک فایل هدر با نام reg52.h قرار گرفته است. این فایل یک هدر عمومی برای میکروکنترلر ۸۰C52 و  ۸۰C32 است. می توان این فایل را با فایل هدر مربوط به میکروکنترلر دیگر خانواده ۸۰۵۱ تعویض کرد. پس از آن، دو آرایه بزرگ به نامهای Circuits TodayLogo و Look UPTable قرار گرفته که اولی طرح یک لوگو است و دومی نیز یک متن دلخواه است که می توان هر دو را تغییر داد.برای ساخت آرایه مربوط به هر لوگوی دیگر را می توان توسط این لینک و با آپلود فایل عکس لوگو بدست آورد.

همانطور که در قبل گفته شد،سیگنال ارتباط برای کنترل فعالیت ها و راه اندازی نمایشگر (LCD) به فرمت سریال است. حالت فرمان (Command) و حالت اطلاعات (Data) دو مدی هستند برای ارتباط با LCD استفاده می شوند. پین DC در LCD برای انتخاب بین این دو حالت استفاده می شود. اگر DC = 0 باشد، اطلاعات فرستاده شده به LCD دستور است و اگر DC=1 باشد، اطلاعات فرستاده شده به LCD، دیتا بوده و برای نمایش داده شده بر روی LCD، در حافظه DDRAM (حافظه اطلاعات نمایشی) قرار می گیرد. مقدار DDRAM به صورت خودکار پس از نوشتن هر ۱ بایت در آن، افزایش پیدا می کند. در زمان ارسال هر بایت، ابتدا بیت پر ارزش یا MSB فرستاده می شود. زیر روال یا سابروتین (Subroutine) این برنامه به نام Send() برای فرستادن بایتها به LCD استفاده شده است. دیتا در هر لبه بالا رونده سیگنال کلاک، بر روی پین Din شیفت داده می شود.

در ساختنی بخوانید :
SPI : نحوه کار در میکروکنترلرهای AVR - قسمت دهم آموزش کامل AVR

Data() و Cmd() زیر روالهایی هستند که برای انتخاب حالت ارسال اطلاعات (حالتهای فرمان و دیتا) استفاده می شوند. آرایش حافظه در LCD 5110 به شکل یه ماتریسی است که دارای ۶ ردیف (آدرسهای Y) و ۸۴ ستون (آدرسهای X) است. اطلاعات به صورت بایتی ارسال شده و طرز قرار گرفتن آن به صورت عمودی است. برای دست یافتن به موقعیت نمایش اطلاعات در نمایشگر LCD، باید به آدرس X و Y متناظر آن مراجعه کرد. زیر روال های استفاده شده برای این کار setPixel() و setCursor() است. از زیر روال allClear() نیز برای پاک کردن حافظه DDRAM استفاده می شود.

زیر روال Initialized_LCD() نیز تابعی است که برای ارسال دستورات لازم برای راه اندازی اولیه، به LCD فرستاده می شود. توابع charDisp() و stringDisp() توابعی هستند که به ترتیب برای نمایش دادن کاراکترها و رشته ها استفاده می شوند.

راه اندازی نمایشگر کامل شده و می توانید گرافیک ها را روی آن ببینید
راه اندازی نمایشگر کامل شده و می توانید گرافیک ها را روی آن ببینید

در تصویر بالا نیز نمونه ای از خروجی نمایش داده شده روی LCD نشان داده شده است. تجربیات خود از ساختن این پروژه راه اندازی نمایشگر گرافیکی را با ساختنی در میان بگذارید .

منبع