(آموزش WinAVR جلسه سوم)
مقدمه:
در جلسه قبل به راه اندازی LCD کاراکتری ٢ در ١۶ معمولی پرداختیم. در این جلسه تصمیم داریم به معرفی توابع، کتابخانه ها و درایورهای مورد نیاز برای راه اندازی LCD های گرافیکی تک رنگ 128 در 64 مبتنی بر چیپ KS0108 و HD61202 که معمولاً با نام تجاری TS12864A-2 شناخته می شود بپردازیم. این کتابخانه با LCD نازک 128 در 64 با چیپ SAMSUNG نیز همخوانی داشته و تست شده است.
کد نویسی پروژه راه اندازی LCD گرافیکی 128×64 با کتابخانه glcd.h و درایور KS0108.h
برای شروع کار یک پوشه به نام glcd ایجاد کنید. سپس وارد پوشه avrlib شده و فایلهای glcd.h و glcd.c و ks0108.h و ks0108.c و font5x7.h و fontgr.h و avrlibdefs.h و avrlibtypes.h و rprintf.c و rprintf.h و port128.h (اگر از میکروی mega128 استفاده می کنید) از پوشه avrlib و فایلهای ks0108conf.h و global.h را از پوشه conf کپی کنید و در پوشه جدید glcd که برای پروژه ایجاد کرده اید paste نمایید. این فایلها برای پروژه راه اندازی GLCD مورد استفاده قرار می گیرند، البته برخی از فایلها عمومی بوده و در اکثر پروژه ها مورد نیاز است. .
بعد از کپی فایلها نوبت به ساخت فایل make می رسد. برای این منظور از منوی start پوشه winavr و سپس برنامه mfile را اجرا نمایید. تمام تنظیمات این برنامه را مطابق جلسه قبل انجام داده و نام فایل اصلی را main.c و نوع میکرو را ATmega16 انتخاب کنید و Makefile ایجاد شده را بدون تغییر نام در پوشه glcd ذخیره نمایید. سپس همانند شکل زیر Makefile را به وسیله Notepad++ باز کرده و در جلوی خط SRC نام فایلهای glcd.c و ks0108.c و rprintf.c را بنویسید.
پس از ساخت Makefile وارد پوشه glcd شده و فایل ks0108conf.h را با Notepad++ باز کنید. همانند جلسه قبل با ویرایش این فایل می توانید پایه های متصل شده میکرو به GLCD را تغییر دهید. در این پروژه دیتا را به پورت B و کنترل را به پورت C متصل نموده ایم، پس دقت کنید که پورت JTAG غیر فعال باشد تا پورت C قابل استفاده شود. فایل ks0108conf.h را مطابق تصویر زیر ویرایش نمایید:
پس از ویرایش فایلها در پوشه glcd به منوی start و سپس WinAVR رفته و Programmer’s Notepad را باز کنید. سپس کدهای زیر را در پنجره پروژه جدید تایپ کرده و برنامه را با نام main.c در پوشه glcd ذخیره و کامپایل نمایید. در صورتی که همه چیز به خوبی پیش رفته باشد فایل hex در پوشه glcd ایجاد می شود که می توانید از طریق کامپایلر Bascom و یا هر نرم افزار دیگری آن را داخل میکروکنترلر پروگرم کنید. توجه داشته باشد که فرکانس میکرو را روی ٨ مگاهرتز RC داخلی تنظیم کنید.
شماتیک پروژه و راه اندازی فیزیکی
برای تست این پروژه مداری را مطابق شکل زیر بر روی بردبورد پیاده کنید و فایل هگز را داخل میکرو بارگزاری نمایید.
تصویر پروژه:
تابع glcd.h شامل توابع کاربردی بسیار زیادی برای کار با انواع LCD های گرافیکی می باشد. در این پروژه این تابع به همراه درایور KS0108 استفاده شده است. در واقع KS1080.h در سطح سخت افزار عمل کرده و glch.h در لایه بالاتر و rprintf.h در لایه کاربر فعالیت می کند. کاربری که با دستورات rprintf کار می کند انتظار دارد که متن هایش در نمایشگر نشان داده شود. در این پروژه همچنین می توان به طور مستقیم از توابع glcd.h نیز استفاده کرد. توابعی مثل تابع رسم دایره و چهار ضلعی از این دسته اند.
برای مشاهده سایر توابع، هدرفایلهای پروژه را بررسی نمایید. از مزیت های زبان C باز بودن معماری آن است؛ بدین صورت که بر خلاف Bascom و یا سایر کامپایلرهای “بسته” به راحتی می توانید توابع را ویرایش کرده و در صورت نیاز از توابع دیگران در پروژه های خود استفاده نمایید، البته قبل از استفاده از توابع سایرین حتماً به قوانین کپی رایت توجه کنید و لایسنس آن را مطالعه نمایید.
بازدیدها: 310