آموزش BASCOM AVR – بسکام – جلسه سوم
📘 آموزش BASCOM AVR – بسکام – جلسه سوم
کار با LCD کاراکتری (۲×۱۶)
۱. مقدمه
در جلسات قبل یاد گرفتیم چطور LED را روشن و خاموش کنیم و با کلید ورودی بگیریم. اما در پروژههای واقعی، نیاز داریم اطلاعات را به کاربر نمایش دهیم. سادهترین ابزار نمایش، LCD کاراکتری است. این نمایشگر میتواند متن، عدد و نمادها را نشان دهد و در پروژههایی مثل ساعت دیجیتال، دماسنج یا قفل رمز دیجیتال استفاده میشود.
۲. معرفی LCD کاراکتری
- LCD کاراکتری متداولترین نوع نمایشگر است.
- پرکاربردترین مدل: ۲ سطر × ۱۶ ستون (یعنی ۳۲ کاراکتر همزمان).
- پایهها:
- پایههای تغذیه (+۵ ولت و GND)
- پایه کنتراست (با پتانسیومتر تنظیم میشود)
- پایههای دیتا (DB0 تا DB7)
- پایههای کنترل (RS، RW، E)
- پایههای بکلایت (چراغ پشت صفحه)
۳. نحوه اتصال LCD به میکرو
- پایه VCC → +۵ ولت
- پایه GND → زمین
- پایه VEE → پتانسیومتر برای تنظیم کنتراست
- پایه RS → یک پایه از میکرو (مثلاً PortD.0)
- پایه RW → زمین (چون فقط میخواهیم بنویسیم)
- پایه E → یک پایه از میکرو (مثلاً PortD.1)
- پایههای DB4 تا DB7 → چهار پایه از میکرو (مثلاً PortD.2 تا PortD.5)
- پایههای LEDA و LEDK → تغذیه بکلایت
۴. کدنویسی در BASCOM
کد ساده:
' پروژه نمایش متن روی LCD
$regfile = "m32def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = PortD.2 , Db5 = PortD.3 , Db6 = PortD.4 , Db7 = PortD.5 , E = PortD.1 , Rs = PortD.0
Cls
Lcd "Hello AVR"
۵. توضیح خطبهخط کد
Config Lcd = 16 * 2→ معرفی نوع LCD (۲×۱۶).Config Lcdpin = Pin …→ معرفی پایههای متصل به LCD.Cls→ پاک کردن صفحه نمایش.Lcd "Hello AVR"→ نمایش متن “Hello AVR” روی LCD.
۶. دستورات مهم LCD در BASCOM
Cls→ پاک کردن صفحه.Lcd "Text"→ نمایش متن.Locate x , y→ تعیین موقعیت مکاننما (سطر و ستون).Cursor On / Cursor Off→ روشن یا خاموش کردن مکاننما.Cursor Blink→ مکاننما چشمکزن.Shiftlcd Left / Right→ جابجایی متن به چپ یا راست.
۷. پروژه عملی: متن متحرک
کد:
Dim I As Byte
Cls
Lcd "AVR Learning"
Do
For I = 1 To 10
Shiftlcd Right
Waitms 250
Next I
Wait 2
For I = 1 To 10
Shiftlcd Left
Waitms 250
Next I
Wait 2
Loop
End
توضیح: متن “AVR Learning” به سمت راست حرکت میکند، سپس به سمت چپ برمیگردد و این کار تکرار میشود.
۸. پروژه عملی: نمایش عدد روی LCD
کد:
Dim Counter As Byte
Counter = 0
Do
Incr Counter
Locate 2 , 1
Lcd "Count=" ; Counter
Wait 1
Loop
End
توضیح: هر ثانیه یک واحد به شمارنده اضافه میشود و روی LCD نمایش داده میشود.
۹. نکات عملی
- اگر LCD چیزی نشان نداد، پتانسیومتر کنتراست را تنظیم کنید.
- اگر فقط مربعهای سیاه دیده شد، پایههای دیتا یا کنترل اشتباه وصل شدهاند.
- همیشه RW را به زمین وصل کنید تا LCD در حالت نوشتن باشد.
۱۰. تمرینها
۱. متن دلخواه خود را روی LCD نمایش دهید.
- یک شمارنده بسازید که با فشار کلید مقدارش تغییر کند و روی LCD نمایش داده شود.
- متن را به صورت متحرک از راست به چپ حرکت دهید.
نتیجه جلسه سوم
در این جلسه یاد گرفتیم:
- LCD کاراکتری چیست و چگونه به میکرو وصل میشود.
- دستورات مهم BASCOM برای کار با LCD.
- پروژههای عملی نمایش متن، شمارنده و متن متحرک.
🔹 جلسه چهارم: کار با کیپد ماتریسی و ساخت ماشین حساب ساده.