(Bascom avr ) راه اندازی LCD مبتنی بر میکروکنترلر در محیط برنامه بسکام (مهندسی برق_ الکترونیک)

پژوهشگر و نویسنده: (  افشین رشید )


نکته : Lcd میتواند از دو طریق 8سیمه و 4 سیمه به میکرو متصل شود.

Constant میتواند 4 به معنای استفاده از مد 4 سیمه یا 8 به معنای مد هشت سیمه باشد ( در صورتی که این دستور نوشته نشود ،مد 4 سیمه در نظر گرفته میشود.) 

CONFIG LCDBUS = constant

در مد چهار سیمه فقط میتوان روی lcd نوشت ولی در مد هشت سیمه میتوان اطلاعاتی را که قبلا روی lcd نوشته شده است را خواند و به میکرو ارسال کرد.به طور کلی از خطوط دیتای 0 تا 3 برای خوانده از lcd و از خطوط 4 تا 7 برای نوشتن در lcd نوشته میشود در حالت نوشتن در lcd باید پایه RS پایین نگه داشته شود (صفر شود) ودر حالت خواندن از LCD باید پایه RS،1 شود( 5 ولت وصل شود) .از انجا که با وجود حافظه میکرو و راحت شدن کار برنامه نویسی نیازی به خواندن از LCD نمی باشد ،از پایه 0 DB تاDB3 استفاده نمی شود و پایه RW نیز به GND) صفر ولت متصل میشود).دومین مرحله برای راه اندازی LCD معرفی کردن نام ان است، برای این کار بعد از معرفی میکرو وکریستال با استفاده از دستور زیر می توان LCD ارمعرفی کرد: 

CONFIG LCD = LCDNAME

که LCDNAME یکی از نام های با لا میباشد. مثلا معرفی 16*2 LCD: 

Config lcd =16*2

مرحله بعد معرفی پایه های از میکرو است که lcd به انها وصل میشود: برای مد 4 سیمه:

Config Lcdpin = Pin , Db4 = Pinx.y , Db5 = Pinx.y , Db6 = Pinx.y , Db7 = 

Pinx.y , Rs = Pinx.y , E = Pinx.y

X نام پورت است که یکی از پورت های a یا b یا c یا یd ... می باشد و y شماره پایه هست که از 0 تا 7 می باشد برای مثال در زیر lcd کاراکتری 16*2 به پورت (portc (c متصل است .

$regfile="m16def.dat"

$crystal=8000000

Config Lcd = 16*2

Config lcdpin=pin,db4=pinc.0,db5=pinc.1,db6=pinc.2_

,db7=pinc.3,rs=pinc.4,e=pinc.

در این مثال که از میکرو مگا16(atmega16) استفاده شده است.

با دو دستور  میتوان به ترتیب به خط سوم و چهارم پرش کرد (این دستور برای lcd های است که 4 سطر دارند)،

مانند:

$regfile = "m16def.dat" 

$crystal = 8000000 

Config Lcd = 16 * 4 

Config Lcdpin = Pin , Db4 = Pinc.0 , Db5 = Pinc.1 , Db6 = Pinc.2 , Db7 = 

Pinc.3 , Rs = Pinc.4 , E = Pinc.5 

Lowerline 

Lcd "qwert" 

Thirdline 

Lcd "vcxz" 

Fourthline

Lcd "1236" 

Upperline 

Lcd "erff" 

Wait 2 

Home 

Lcd "123654" 

End 

با دستور زیر میتوان تعداد فضای خالی دلخواه را بر روی lcd ایجاد کرد: 

LCD SPC(x) 

تعداد x ستون خالی میماند ، وبعد از ستون x نوشتن ادامه میابد. با استفاده از دستور زیر میتوانید lcd را روشن یا خاموش کنید: 

DISPLAY ON / OFF 

On : lcd روشن میشود / off : lcd خاموش میشود. با استفاده از دستور زیر میتوانید کنتراست (میزان نور ) کم رنگی وپر رنگی) متن) متن را تغییر دهید: 

Lcdcontrast x 

X میزان کنتراست است که میتوانید بین 0 تا 3 باشد ، به ازای 0 کمترین کنتراست و به ازای 3 بیشترین کنتراست مشاهده میشود. Lcd دارای یک مکان نما می باشد که با دستور زیر میتوان ان را روشن یا خاموش یا چشمک زن یا ثابت قرارداد.

On Cursor با این دستور مکان نما روشن می شود (در حالت عادی مکان نما روشن است ).

off Cursor با این دستور مکان نما خاموش می شود.

blink Cursor با این دستور مکان نما چشمک می زند

 noblink Cursor با این دستور مکان نما دیگر چشمک نمی زند.

پژوهشگر و نویسنده:  دکتر  (  افشین رشید)

دکترایِ  تخصصی نانو _ میکرو الکترونیک