آنچه در این مقاله میخوانید :
Toggleدر مقاله امروز قصد داریم راه اندازی ال.سی.دی گرافیکی را بهوسیله میکروکنترلرهای آرم به شما همراهان مجله هادی بان الکترونیک آموزش دهیم. طبق معمول برای انجام این پروژه، بهتر است در آغاز با سختافزار موردنیاز پروژه آشنا شویم.
میکروکنترلر ARM7-LPC2148
این میکروکنترلر از خانواده پردازندههای ARM7 است و بهطور اختصاصی برای پروژههای آموزشی و تحصیلی رشته الکترونیک طراحیشده است تا مهارتهای موردنیاز شما در حوزه سیستمهای نهفته (Embedded Systems) را به بالاترین سطح ممکن برساند.
طراحی این کیت آموزشی بهگونهای است که تمام قابلیتهای مدارهای میکروکنترلر را با استفاده از راهکارهای آسان در اختیار کاربر قرار میدهد. همچنین LPC2148 از درگاه Serial و برنامهریزی درون سیستمی (In System Programming-ISP) پشتیبانی میکند.
ال.سی.دی گرافیکی (GLCD)
همانطور که از نام این قطعه میتوان حدس زد، نمایشگری است برای نمایش محتوای گرافیکی، و مفاهیم مورد نظر کاربر در سطحی بالاتر از نمایشگرهای کاراکتری قابل نمایش خواهد بود. با استفاده از این نوع ال.سی.دی ها میتوان برنامههای کاربر پسندتری را تولید کرد.
روش اتصال نمایشگر گرافیکی به میکروکنترلر
در شکل زیر نحوه اتصال پایههای نمایشگر گرافیکی ۶۴X128 به میکروکنترلر نمایش داده شده است. در نظر داشته باشید که یک تریمر پوتانسیومتر (Trim Pot) نیز به پایه تنظیم کنتراست (Adjust Contrast) متصل شده باشد.
ال.سی.دی گرافیکی باید یک رابط ۸ بیتی برای اطلاعات (پایههای D0 تا D7) ، ۳ خط کنترل، یک بیت آدرس (RS)، یک بیت خواندن یا نوشتن (R/W) و یک بیت کنترل سیگنال (EN) (یا همان Enable) و همچنین انتخاب صفحه (CS) را دارا باشد.
صفحه LCD گرافیکی به ۲ بخش تقسیم می شود که هریک به سطرها و ستونهایی تقسیمشده است. هر یک از این بخش ها توسط یک کنترلر مجزا کنترل می شود، بنا بر این در مجموع دو کنترلر با حوزه عملکرد جداگانه داریم.
ارتباط با نمایشگر با میکروکنترلر، به واسطه ۲ عدد رجیستر (یکی ورودی و دیگری خروجی) که روی ال.سی.دی گرافیکی تعبیه شده است برقرار می شود. این رجیسترها توسط ترکیبی از سیگنالهای RS و R/W انتخاب میشوند. دستورات ترکیبی این سیگنالها را در جدول زیر میتوانید مشاهده کنید.
رجیستر ورودی (Input Register)
کاربرد این رجیسترها برای ارسال دستورات و نوشتن اطلاعات روی نمایشگر است. دستور/ داده به طور موقت و پیش از نوشته شدن روی حافظه DDRAM (حافظه رم تصویری)، روی این رجیستر ذخیره می شود.
وقتی ال.سی.دی در حالت فعال (CS1 و CS2 در حالت HIGH) باشد، میتوان دستورات جدول فوق را توسط رجیسترهای ورودی با ارسال بیتها روی پایههای RS و R/W انتخاب کرد. در این حالت اطلاعات رجیستر ورودی در لبه کاهشیِ EN (HIGH به LOW) قفل (Latch) میشود و طی یک فرآیند داخلی، بهصورت خودکار روی DDRAM نوشته می شود.
رجیستر خروجی (Output Register)
این نوع رجیسترها برای خواندن اطلاعات از DDRAM و بررسی حالت آن (Busy Check) کاربرد دارند. وقتیکه نمایشگر در حالت فعال (CS1 و CS2 روی حالت HIGH) باشد، رجیستر خروجی را می توان با ارسال بیتها به پایههای RS و R/W مانند حالاتی که در جدول فوق به نمایش درآمده، انتخاب کرد.
وقتیکه RS و R/W در حالت HIGH باشند، اطلاعات در رجیستر خروجی قفل (Latch) میشود و هنگامیکه سیگنال R/W=HIGH و RS=LOW باشد، عملیات بررسی اطلاعات (Busy Check) صورت میگیرد.
عملیات راه اندازی ابتدایی ال.سی.دی گرافیکی با طی کردن مراحل زیر انجام میشود:
۱) راه اندازی اولیه ال.سی.دی
۲) انتخاب صفحه
۳) انتخاب ستون
۴) نمایش اطلاعات روی نمایشگر
در ادامه به بررسی تخصصیتر هر مرحله خواهیم پرداخت.
راه اندازی اولیه ال.سی.دی
قبل از نمایش هرگونه اطلاعات روی GLCD باید این قطعه را راه اندازی کنید. درواقع نمایشگر باید روشن و صفحه و ستون آن انتخاب شود. این کار بهوسیله ارسال دستورات مناسب به نمایشگر انجام میپذیرد. برای روشن یا خاموش کردن LCD دستورالعملهای زیر را به ترتیب انجام دهید:
الف) مقادیر نشان دادهشده در جدول زیر را در رجیستر داده وارد کنید.
ب) هنگامیکه D=1 باشد اطلاعات نمایان میشود و زمانی که D=0 باشد اطلاعات ناپدید میشود، البته هنگامی که صفحه نمایش خاموش باشد، تأثیری بر اطلاعات ذخیرهشده در DDRAM نخواهد داشت.
ج) CS1=1 و CS2=1 باشد تا هر ۲ نیمه LCD روشن شود.
د) RS=0 و R/W=0 باشد تا حالت ارسال دستور انتخاب شود.
و) EN=1 باشد.
ه) کمی صبر کنید.
ی) EN=0 باشد تا اطلاعات در رجیستر ورودی قفل شود.
دستور خاموش و دستور روشن شدن نمایشگر میتواند بهصورت تناوبی (چشمکزن) نیز اجرا شود، به شرطی که نمایشگر را با مقدار تأخیر بیشتری روشن کنید.
انتخاب صفحه
قبل از نوشتن هرگونه اطلاعات روی LCD باید صفحه آن را انتخاب کنید. این فرآیند با طی کردن مراحل زیر با ترتیب مشخصشده انجام میگیرد:
الف) طبق جدول زیر مقادیر را در رجیستر داده وارد کنید. ازآنجاییکه بهطورکلی ۸ صفحه (از ۰ تا ۷) وجود دارد، صفحه موردنظر بهوسیله تنظیم ۳ بیت (X1-X3) انتخاب میشود.
ب) CS1=1 و CS2=1 باشد تا هر ۲ نیمه نمایشگر فعال شود.
ج) RS=0 و R/W=0 باشد تا حالت ارسال دستورات انتخاب شود.
د) EN=1
و) کمی صبر کنید.
ه) EN=0 تا اطلاعات درون رجیستر ورودی قفل شود.
برای مثال اگر X3=0، X2=1 و X1=0 باشد، یعنی صفحه دوم انتخاب شده و خواندن و نوشتن اطلاعات تا زمانی که صفحه دیگری انتخاب شود، در آنجا انجام خواهد شد. بسته به ستون انتخابی، نیمه سمت چپ صفحه، یا نیمه سمت راست صفحه ال.سی.دی انتخاب می شود.
انتخاب ستون
عملا ۱۲۸ ستون وجود دارد بنا بر این در هر نیمه از LCD گرافیکی ۶۴ ستون وجود دارد (شماره ستون ۰ تا ۶۳ یا شماره ستون ۶۴ تا ۱۲۷). پس از انتخاب یک شماره ستون برای اولین نوبت نوشتن، برای نوشتن در دفعات بعدی، هر بار، عدد یک به صورت خودکار به شماره ستون قبلی اضافه می شود. پس آسانتر است که اطلاعات را ستون به ستون بنویسید.
انتخاب ستون ال.سی.دی گرافیکی توسط مراحل زیر صورت میگیرد:
الف) مقادیر زیر را در رجیستر داده وارد کنید.
ب) کنترلر موردنظرتان (CS1 یا CS2) بسته به شماره ستون انتخابی شما تعیین میشود. در نمودار زیر این موضوع نمایش دادهشده است:
ج) سپس باید RS=0 و R/W=0 باشد تا حالت ارسال دستور انتخاب شود.
د) EN=1
و) سپس کمی صبر کنید.
ه) EN=0 تا اطلاعات درون رجیستر ورودی قفل شود.
برای مثال اگر آدرس صفحه و ستون هر دو ۰ باشد، ستون شماره ۰ از صفحه شماره صفر انتخاب میشود. این یعنی اولین پیکسل نمایشگر در گوشه بالا سمت چپ که در شکل زیر نمایش دادهشده است.
نمایش اطلاعات
بعد از انتخاب صفحه و ستون، حال نوبت آن رسیده است تا اطلاعات را برای نمایش روی ال.سی.دی گرافیکی ارسال کنید. مراحل برنامهنویسی به شکل زیر خواهد بود:
مقادیر مورد نظر را در رجیستر داده وارد کنید. با هر نوبت نوشتن، داده در یکی از ستونها نوشتهشده و شماره ستون بهطور خودکار یک واحد افزایش مییابد. بیت HIGH (DBX=1) به فعال شدن پیکسل (وضعیت خاموش) میانجامد و بیت اطلاعات LOW (DBX=0) به غیر فعال شدن پیکسل (وضعیت روشن) منتهی می شود.
در این روش MSB به هشتمین ردیف در ستون و LSB به اولین ردیف از همان ستون اشاره دارد. مثال زیر را میزنیم:
الف) اگر شماره ستون< 63 و (CS2=0 و CS1=1) در غیر این صورت (CS2=1 و CS1=0)
ب) RS=1 و R/W=0 (تا حالت نوشتن اطلاعات انتخاب شود.)
ج) EN=1
د) کمی صبر کنید.
و) EN=0 تا اطلاعات در رجیستر ورودی قفل شود.
اتصال ال سی دی گرافیکی به میکروکنترلر آرم مدل LPC2148
حال که با تنظیمات نمایشگر بهطور کامل آشنا شدیم، قصد داریم که نوشتهای را با استفاده از مدار LPC2148 روی ماژول نمایشگر به تصویر بکشیم. در تصاویر زیر میتوانید پایههای نمایشگر و نحوه اتصال آنها به میکروکنترلر مذکور را مشاهده کنید.
سورس کد (Source Code)
بعد از انجام اتصالات از طریق کدهای زیر میتوانید ال سی دی را برنامهنویسی کنید:
برای کامپایل (Compile) کردن دستورات بالا که با زبان برنامهنویسی C نوشتهشدهاند، به نرمافزار Keil نیاز دارید. این نرمافزار را روی سیستمعامل رایانه خود نصب کنید و تنظیمات آن را مطابق با نمایشگر و میکروکنترلر خود انجام دهید.
در ابتدا باید فایل به زبان C را به پروژه اضافه کنید. به منظور اشکال زدایی از برنامه تان تحت Keil می بایست ابتدا فایل با پسوند HEX را ایجاد نمایید. در این برنامه، اگر بخواهید بدون پورت خروجی میکروکنترلر پروژه خود را بررسی کنید، با استفاده از نرمافزار Flash Magic فایل با پسوند HEX را از طریق UART0 به میکروکنترلر انتقال دهید.
آزمایش نهایی پروژه
منبع تغذیه ۳٫۳ ولتی را به میکروکنترلر متصل کنید. هنگامیکه برنامه در مدار LPC2148 بارگذاری شد، باید نمایشگر تصویر انتخابی شما را نمایش دهد. اگر موفق به انجام این کار نشدید، اتصالهای جامپر را بررسی کرده و سطح Trim Pot را تنظیم کنید. اگر مشکل از اتصالات نبود پروژه خود را مجددا تحت Keil اشکال زدایی کنید.
خوشحال هستیم که تا پایان مقاله با ما همراه بودید. برای دیدن آموزشهای عملی بیشتر میتوانید با کلیک کردن روی لینک زیر وارد بخش آموزشهای مجله هادی بان الکترونیک شوید. با سپاس از همراهی شما.
دیدگاهتان را بنویسید