پشتیبانی : 09146624346
سلام مهمان گرامی !
ورود
ثبت نام

آمار سایت

افراد آنلاین : 2 نفر
اعضای آنلاین : 0 نفر
بازدید امروز : 473 بازدید
بازدید دیروز : 143 بازدید
بازدید این هفته : 869 بازدید
بازدید هفته قبل : 2158 بازدید
امروز : سه شنبه ۲۹ اسفند ۱۴۰۲
< >



Google





در این پست برای اونهایی که تازه اومدن میکرو رو یاد بگیرن میخوام طریقه  کار با LCD کاراکتری را آموزش بدم در پست بعدی هم طریقه ارتباط با LCD گرافیکی را کار خواهیم کرد.

مقدمه

LCD ها صفحه هایی ازجنس کریستال مایع هستند نسبتا ارزان و بسیار پرکاربرد.برای اینکه بتونیم اطلاعاتی رو نمایش بدیم میتونیم از این LCD ها استفاده کنیم حتما تا حالا توی مدارهای الکترونیکی از اینها دیدید:

LCD & GLCD

در تصویر بالا دو تا از این LCD ها رو میبینید که کوچیکه رو LCD دو در شانزده میگن یعنی 2 تا سطر و 16 تا ستون داره اون یکی هم که اندازه اش چند برابر اونه یه GLCD یا همون LCD  گرافیکی هست اندازه اون هم 240 در 128 هست LCD های معمولی (کاراکتری) فقط متن رو نشون میدن اما نوع گرافیکی اونها میتونن عکس رو هم نشون بدن به صورت زیر (متنی که روی GLCD میبینین در واقع یه عکس هست که روی اون نشون داده شده ):

GLCD

این ال سی دی ها تک رنگ هستن در دو رنگ سبز و آبی موجود اند در تصویر بالا  LCD از نوع سبز رنگ و GLCD از نوع آبی رنگ هست (آبی نسبت به سبز کمی گرونتر هست ولی زیباتر هم هستند) نوع رنگی اونها هم هستن که تو موبایلها میبینید که ان شاء الله در پستهای بعدی به اونها هم خواهیم رسید.

 

اندازه های LCD

LCD ها در چند سایز مختلف وجود دارند 2*16 , 4*20 , 4*16 , 2*2016*1a(نوع خاصی از LCD هست که به صورت 2*8 استفاده میشه) وجود داره

پیکره بندی LCD

دیگه بهتره توضیحات رو تموم کنم و بیریم نحوه پیکره بندی LCD کاراکتری 2*16 رو توی نرم افزار بسکام رو ببینیم :

ConfigLcd = 16 * 2

ConfigLcdpin = Pin , Db4 = Porta.7 , Db5 = Porta.4 , Db6 = _

Porta.6 , Db7 = Porta.5 , E = Porta.3 , Rs = Portb.3

 

ترتیب پایه ها

اگه یه LCD  دو در شانزده بخری میبینین که 16 تا  پایه دارن چیدمانپایه ها به صورت زیر هست:

1- GND

2- VCC

3- Vo

4- Rs

5- RW

6- E

7- D0

8- D1

9- D2

10- D3

11- D4

12- D5

13- D6

14- D7

15- ANODE

16- KATOD

Gnd ,Vcc باید به تغذیه 5 ولت نصب بشن Vo پایه تنظیم کنتراست هست که باید به سر وسط پتانسیومتر وصل بشه سر های کناری اون هم به مثبت و منفی تغذیه وصل میشن تا با تغییر پتانسیومتر ولتاژ پایه Vo تغییر کنه و میزان نور صفحه رو کنترل کنیم معمولا در LCD های سبزمیتونید به جای پتانسیومتر با یه مقاومتی در حدود 2.2 کیلواهمی به زمین وصل کنین که کنتراست در حد مناسب باشه و لازم به تنظیم اون نباشین. مقدار مقاومت در LCD آبی هم معمولا 470 کیلو هستش البته این مقدار معمولا در هر LCD فرق میکنه

پایه های بعدی هم به میکرو وصل میشن میتونید پایه RW رو هم به زمین وصل کنید . پایه های D0  تا D7 هم که پایه های دیتا هستن ارتباط میتونه به صورت چهاربیتی و یا هشت بیتی

انجام بشه در حالت چهار بیتی (که معمولا از این حالت استفاده میشه) پایه های D0  تا D3 آزاد میمونن و بقیه رو به میکرو وصل میکنیم پایه های 15 و 16 هم برای تغذیه نور Backlight صفحه هست در دستورات بالا میبینید که LCD رو معرفی کردیم نوع اونو 2*16 انتخاب کردیم (LCD ها در چندین اندازه وجود دارند) و پایه هایی از LCD و که به میکرو وصل کردیم رو تو برنامه نوشتیم که کدوم پایه از LCD به کجا وصل شده میتونید کلمه پورت رو هم ننویسید مثلا Porta.5 رو بنویسید a.5 در حالت پیش فرض ارتباط به صورت چهار بیتی انجام میشه میتونید با دستور ConfigLcdbus = 8 دیتا هاتون رو 8بیتی ارسال کنید (که در این حالت سرعت ارسال اطلاعات بالا میره ولی در عوض باید 10 پین میکرو رو برای کنترل LCD استفاده کنید) در حالت ارسال اطلاعات به صورت 8 بیتی میتونید پیکره بندی رو به صورت زیر هم بنویسید:

CONFIG LCDPIN = PIN , PORT=PORTx, E=PN, RS=PN

 

پس از معرفی LCD به میکرو باید از دستورات مربوط به ال سی دی برای نمایش اطلاعاتتون استفاده کنید .

دستورات مربوط به LCD

دستور CLS کل صفحه نمایش را پاک میکنه دستور Locate برای قرار دادن کرسر (مکان نما) در نقطه دلخواه هست مثلاLocate 1,1کرسر را به سطر و ستون اول میبره با دستور LCD "Adelavr"کلمه Adelavr از محلی که کرسر رو قرار دادیم برروی ال سی دی نمایش داده میشه با دستور Home U (یاHome و یا Home Upper) میتونید معادل دستور Locate1,1 رو انجام بدین HomeL(یاHome Lower )هم کرسر رو به سطر دوم و ردیف اول میبره در صورتی که از LCD های 4 خط مانند 4*20 استفاده کنید  میتونید دستور های Home Third و Home Fourth(یاHome T و Home F)هم مکان نما رو به سطر سوم و چهارم میبره

 از دستورات LowerLine و  UpperLineوThirdLine و  FourthLine هم استفاده کنین میتونید از دستور Cursor هم برای نمایش  یا عدم نمایش و همچنین  نمایش به صورت چشمک زن کرسر استفاده کنین یعنی بعد از دستور کرسر بنویسین On Off Blink NoBlink مثلا Cursor Offکه روی LCD دیگه کرسر رو نمیبینید!

دستورات دیگه ای هم هستند ShiftCursor LeftRight و ShiftLCD LeftRight به ترتیب میتونید مکان نما و یا کل صفحه نمایش رو به چپ یا راست انتقال بدین در نهایت دستور Display  هم صفحه نمایش رو روشن و خاموش میکنه.

تابع DefLCDChar

تابعی به نام DefLCDChar هست که با اون میتونید بعضی از کاراکتر های خاص که با صفحه کلید نمیتونید تایپ کنید رو نمایش بدین مثلا یه دماسنج ساختین و میخواین پس از نمایش دما یه علامت درجه و بعد حرف C رو به معنی "درجه سانتی گراد" نمایش بده حرف C که کاری نداره ولی درجه رو نمیتونید وارد کنید برای نمایش اون باید از این تابع کمک بگیریم تو LCD نمیتونید حروف فارسی رو بنویسید ولی با کمک این تابع این کار تا حدودی امکان پذیره محدودیتی که دارین اینکه بیش از 8 تا کاراکتر خاص رو نمیتونین تعریف کنین

روش کار به صورت هست که اول باید کاراکترتون رو تعریف کنید برای اینکار در نرم افزار بسکام روی منوی Tools روی گزینه Lcd Designer کلیک کنید کلید معادل اون هم Ctrl+L هست حالا تو پنجره ای که به شکل زیر باز میشه کاراکترتون رو بکشید و OK رو بزنید .

LCD Designer

 با زدن OK پنجره بسته میشه و توی برنامه دستوری به صورت زیر قرار میگیره:

Deflcdchar ?,8,8,11,10,31,16,31,32   ' replace ? with number (0-7(

حالا به جای علامت سوال یه عدد از 0 تا 7 قرار بدین مثلا اگه 3 بذارین تو برنامه به صورت زیر اون کاراکتر رو نمایش بدین:

Deflcdchar3 , 8 , 8 , 11 , 10 , 31 , 16 , 31 , 32

Cls

LcdChr(3)

حالا یه کاراکتر دیگه (کاراکتر درجه) رو  طراحی میکنیم و به اون شماره صفر رو میدم برای اینکه 27 درجه سانتی گراد رو نمایش بدم باید :

Lcd "27" ;LcdChr(0) ; "C"  

همونطور که میبینید برای اینکه توابع یا متغیر ها و ثوابت رو هم بنویسیم باید اونها رو با ; از هم جدا کنیم

پس میبینید که بعضی از توابع رو هم میتونیم مستقیما با LCDنمایش بدیم مثلا اگه بخواید فاصله بذارید میتونید به دو روش زیر این کار رو بکنید:

Lcd  "      "

Lcd Space(6)

دو دستور بالا هردو 6 کاراکتر فاصله ایجاد میکنند.

به همین راحتی ! خیلی که سخت نبود؟

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

ان شاء الله در پست بعدی با ال سی دی گرافیکی کار میکنیم و عکسهایی رو در Paint ویندوز میکشیم و اونها رو روی LCD نمایش میدیم . چطوری؟ پست بعدی رو دنبال کنید! ...

 

 

لطفا سوالات خود را در انجمن سايت مطرح كنيد تا بهتر بتوان به آن رسيدگي كرد

لطفا در قسمت نظرات ، نظر خود را در مورد اين پست بنويسيد تا سطح مقالات سايت بهتر شود

 

به دليل اينكه اين مقالات ، اطلاعات تجربي من است لذا اگر قصد داريد اين مطالب را در سايت و يا وبلاگ خود قرار دهيد منبع آنرا هم درج كنيد.

 

 

 

اگر این مطلب برای شما مفید بوده برروی کلید G+1 کلیک کنید !

دانلود فایل های پروژه :

دانلود رایگان پروژه
فایل ضمیمه ای وجود ندارد
خرید پروژه
کلیه فایل های ضمیمه این پروزه به صورت رایگان قرار داده شده است.
اگر این مطلب برای شما مفید بوده میتوانید با درج لینک سایت ما در سایت یا وبلاگ خود ویا معرفی سایت ما به دوستان خود و یا با روش های پیشنهادی ما از پی سنتر حمایت کنید.
راهنمای پروژه
رمز فایل
www.pcenter.ir
نوشته شده در دوشنبه ۰۳ تیر ۱۳۹۲ | ۲۰:۲۳   توسط Admin   بازدید : 7794
نظر شما :
نام :
ایمیل :
(ایمیل نمایش داده نمیشود)
پیام شما :
شکلک ها :
:) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
:Pa :*q :Ow :Be :Sr :?x

کد امنیتی :
برای تعویض عکس کلیک کنید


RSS Feed Site map