آموزش BASCOM AVR – بسکام – جلسه پنجم
📘 آموزش BASCOM AVR – بسکام – جلسه پنجم
کار با LCD گرافیکی (128×64)
۱. مقدمه
تا اینجا با LCD کاراکتری آشنا شدیم. اما LCD کاراکتری محدودیت دارد: فقط میتواند متن ساده نشان دهد. اگر بخواهیم شکل، نمودار یا تصویر نمایش دهیم باید از LCD گرافیکی استفاده کنیم. این نمایشگرها قابلیت نمایش پیکسل به پیکسل دارند و میتوانیم هر چیزی را روی آن رسم کنیم.
۲. معرفی LCD گرافیکی
- رایجترین مدل: 128×64 پیکسل (مدل KS0108).
- تکرنگ (سیاه و سفید).
- دارای ۲۰ پایه: تغذیه، دیتا و کنترل.
- تغذیه: +۵ ولت مستقیم.
- پایههای دیتا: ۸ خط (D0 تا D7).
- پایههای کنترل: RS، RW، E، Reset، Chip Enable و …
۳. نحوه اتصال به میکرو
- پایههای دیتا (D0 تا D7) → یک پورت کامل از میکرو (مثلاً PortB).
- پایههای کنترل → پایههای مختلف از PortC.
- پایههای تغذیه و بکلایت → +۵ ولت و زمین.
- پتانسیومتر برای تنظیم کنتراست.
۴. کدنویسی در BASCOM
کد ساده:
' پروژه نمایش متن روی LCD گرافیکی
$regfile = "m32def.dat"
$crystal = 1000000
$lib "glcdKS108.lbx"
Config Graphlcd = 128 * 64sed , Dataport = PortB , Controlport = PortC , Ce = 4 , Ce2 = 3 , Cd = 0 , Rd = 1 , Reset = 5 , Enable = 2
Setfont Font8x8
Cls
Lcdat 1 , 1 , "Salam"
End
۵. توضیح خطبهخط کد
$lib "glcdKS108.lbx"→ معرفی کتابخانه مخصوص LCD گرافیکی.Config Graphlcd …→ معرفی نوع LCD و پایههای اتصال.Setfont Font8x8→ انتخاب فونت پیشفرض.Cls→ پاک کردن صفحه.Lcdat 1 , 1 , "Salam"→ نمایش متن “سلام” در مختصات سطر ۱، ستون ۱.
۶. دستورات گرافیکی مهم
Pset x , y , 255→ روشن کردن پیکسل در مختصات (x,y).Pset x , y , 0→ خاموش کردن پیکسل.Line (x1,y1)-(x2,y2) , 255→ رسم خط بین دو نقطه.Circle (x,y) , r , 255→ رسم دایره با شعاع r.Box (x1,y1)-(x2,y2) , 255→ رسم مستطیل.
۷. پروژه عملی: رسم اشکال هندسی
کد:
Cls
Line (10,10)-(100,10) , 255
Circle (64,32) , 20 , 255
Box (20,20)-(60,40) , 255
End
توضیح: یک خط، یک دایره و یک مستطیل روی LCD رسم میشود.
۸. نمایش تصاویر
- تصاویر باید به فرمت BMP سیاه و سفید با اندازه 128×64 تبدیل شوند.
- با ابزار Graphic Converter در BASCOM، فایل BMP به فرمت BGF تبدیل میشود.
- سپس با دستور
Showpicتصویر نمایش داده میشود.
کد:
$include "picture.bgf"
Cls
Showpic
End
۹. طراحی فونت فارسی
- با ابزار Font Editor میتوان فونت جدید طراحی کرد.
- هر کاراکتر در یک جدول ۸×۸ پیکسل تعریف میشود.
- میتوان کاراکترهای فارسی مثل “س”، “ل”، “ا”، “م” را طراحی کرد و با دستور
Chr()نمایش داد.
۱۰. تمرینها
- یک منو طراحی کنید که با کلیدهای کیپد بین گزینهها جابهجا شود و روی LCD گرافیکی نمایش داده شود.
- یک نمودار ساده رسم کنید که مقدار دما را نشان دهد.
- یک تصویر ساده (مثلاً لوگو) طراحی کنید و روی LCD نمایش دهید.
نتیجه جلسه پنجم
در این جلسه یاد گرفتیم:
- LCD گرافیکی چیست و چگونه به میکرو وصل میشود.
- دستورات گرافیکی مهم در BASCOM.
- نمایش متن، اشکال هندسی و تصاویر.
- طراحی فونت فارسی و نمایش آن.
🔹 جلسه ششم: کار با تایمرها و شمارندهها (Timer/Counter) برای ایجاد تأخیر دقیق و شمارش رویدادها.