![](http://persianweblog.ir/ps/temp/football/pics/right-TOP.jpg)
دستورات مربوط به LCD :
هنگام استفاده از میکرو یا کامپیوتر برای استفاده از LCD ،سه پایه از LCD دارای اتصالات ثابتی هستند . پایه شماره یک به زمین مدار پایه شماره دو به VCC و پایه شماره سه هم می تواند به یک پتانسیو متر یا به زمین مدار وصل شود .بقیه پایه ها که شامل 8 پین داده و 3 پین کنترلی است می تواند به میکروکنترلر یا به کامپیوتر متصل شود.دستورات LCD بااستفاده از این پایه ها به LCD فرستاده می شوند.
جدول زیر لیست دستورات LCD را نشان می دهد ما فعلا دستورات پر کاربرد را خواهیم گفت وسپس با یک مثال این دستورات را در برنامه ای به کار خواهیم برد .
![]() |
در جدول بالا ستون اول نام دستور و سپس مقادیری که به 9 پایه LCD باید اعمال شود آمده است این مقادیر مقادیر منطقی است که باید به سطح ولتاژ TTL تبدیل شود یعنی 1 معادل 5 ولت و 0 معادل صفر ولت است. در نهایت در ستون آخر تعداد سیکلهایی که هر کدام از دستورات برای اجرا لازم دارند تا اجرای دستور تکمیل شود آمده است.
در صورتی که به جدول بالا دقت کنید می بینید که هر کدام از دستورات با دستروات قبلی خود یک بیت فرق دارند این عمل خطای ارسال داده را برای تفکیک دو دستور از هم به حداقل می رساند .
توضیح بعضی از دستورات به صورت زیر خواهد بود.
دستور NOP هیچ عملیاتی را انجام نمی دهد 9 بیت این دستور همگی صفر هستند.
دستور Clear Display نمایشگر را پاک می کندو مکان نما را در ابتدای آن در مکان صفر قرار می دهد( گوشه ی چپ – بالا )
Entry Mod Set:
در این دستور LCD ، جهت حرکت مکان نما مشخص می شود.بیت S شیفت صفحه نمایش به صورت خودکار را مشخص می کند.
Display:
بیت D از 9 بیت این دستور Lcd را روشن می کند . و بیت C هم مکان نما را روشن یا خاموش می کند.. در صورتی که بیت B ،HIGH باشد مکان نما چشمک زن خواهد بود (blinking)
Busy Flag:
هنگامی که دستوری به LCD داده یم شود LCD در حین اجرای دستور ، BF را ست می کند تا نشان دهد فعلا مشغول پردازش است .به محض اینکه انجام دستور به پایان رسید بیت BF صفر می شود تا LCD آمادگی خود را برای گرفتن دستور بعدی اعلام کند.
READ،WRITE:
با استفاده از این دستورات در DDRAM،CGRAM می توان نوشت یا اطلاعات را از آنها خواند .این دو دستور جزء پر کاربرد ترین دستوراتLCD هستند.
در جدو ل بالا بیت هایی که با علامت X مشخص شده اند به این معنی است که مقدار بیت ، اینکه صفر است یا یک هیچ تاثیری در دستور ندارد.(Don’t Care)
راهنمای بیتهایی که در جدول بالا نوشته شده است در جدول زیر آمده است.
برای مثال در دستور Cursor Display Shift بیتR/L به این صورت معنی شده است که در صورتی که این بیت 1 باشد شیفت به راست صورت می گیرد و در صورتی که صفر باشد شیفت به چپ صورت می گیرد .
کاراکتر ها در LCD:
LCD ها می توانند 20*4 و یا 16*4 و... باشند LCD 20*4 یعنی اینکه تعداد سطر های LCD 4 و تعداد ستونهای آن 20 می باشد.که این LCD جمعا 80 کاراکتر را می تواند نمایش دهد (در هر صفحه بدون شیفت)
هر کاراکتر به وسیله روشن و خاموش کردن سلول های یک ماتریس 10*5یا 8*5 به نمایش در می آید . LCD می تواند با دو اندازه فونت کاراکتر ها را نمایش دهد در اندازه فونت کوچک از ماتریس 8*5 و در اندازه فونت بزرگ از ماتریس 10*5 استفاده می کند.اندازه فونت استفاده شده توسط بیتF دستور Function Set از مجموعه دستورات LCD تنظیم می شود (جدول دستورات و راهنمای آن را ببینید!)
|
مکان هر کاراکتر در LCD دارای آدرس منحصر به فردی است که هنگامی که بخواهیم کاراکتری را در آن مکان بنویسیم قبلا آدرس را باید ذکر کنیم.شکل زیر این مطلب را نشان می دهد.
|
فرض کنید که می خواهیم در ستون اول خط سوم LCD یک کاراکتر را بنویسیم قبل از ارسال کاراکتر به LCD باید آدرس خانه مورد نظر را شناسایی کنیم .مطابق شکل بالا می بینیم که آدرس مکان کاراکتر سطر سوم و ستون اول 14 در مبنای 16 می باشد.
مقدار دهی اولیه LCD:
LCD هم مانند اجزاء میکرو کنترلر قبل از استفاده باید مقدار دهی اولیه شود.یک سری تنظیمات همیشه باید قبل از استفاده از LCD انجام گیرد.فلو چارت زیر نحوه انجام این تنظیمات را نشان می دهد.این تنظیمات برای عملیات 8 بیتی و فلوچارت بعدی برای عملیات 4 بیتی می باشد توضیحات خود فلوچارت کاملا گویاست و نیازی به توضیح اضافی ندارد.
CGRAM OR DDRAM:
LCD دارای دو حافظه بانامهای CGRAM , DDRAM است ِDDRAM حافظه ای است که کاراکتر ها برای نمایش باید در آنجا قرار گیرند ( مانند حافظه نمایش در کامپیوتر ها ! قابل توجه برنامه نویسان اسمبلی). این امکان برای استفاده کنندگان دیگر زبانها هم گذاشته شده است تا بتوانند خود زبان دیگری را برای نمایش به LCD اضافه کنند این کار با تعریف تک تک کاراکتر ها و قرار دادن آن در CGRAM صورت می گیرد .(برای زبان فارسی هم این کار باد صورت گیرد)
جدول زیر کد کاراکتر های قرار گرفته در حافظه ی lcd را نمایش می دهد.عدد بالای ستونها ،چهار بیت پر ارزش آدرس کاراکتر در DDRAM و عدد ابتدای سطر ها چهار بیت پایین آدرس را مشخص می کند برای مثال اگر بخواهیم که کاراکتر B را نمایش دهیم از جدول تقاطع سطر و ستون B را نگاه کره ، چهاربیت بالای آن 0100 در مبنای دو و چهار بیت پایین آن 0010 است با قرار دادن این دو در کنار هم 01000010 حاصل می شود که آدرس حرف B است .
فرضا عدد قبلی که از استخراج آدرس کاراکتر B به دست آوردیم(01000010)اگر آن را به مبنای دهدی تبدیل کنید معادل 66 خواهد بود که کد اسکی کاراکتر B است .
![](http://persianweblog.ir/ps/temp/football/pics/right-down.jpg)