راه اندازی lcd گرافیکی 64*128 در کدویژن ts128*64
سلام دوستان 
در این پروژه قصد دارم تا طریقه راه اندازی lcd گرافیکی و فارسی نویسی و نمایش عکس را در این نوع lcd ها به شما آموزش دهم.
در کدویژن برای اینکه بتوانیم این نوع lcd را راه اندازی کنیم به یک کتابخانه احتیاج داریم تا کار ما راحت تر شود و همانطور که میدانید این کتابخانه را باید در پوشه ای که پروژه را ذخیره کردیم کپی شود پس ابتدا حتما این کتابخانه را دانلود کنید از اینجا این فایل شامل یک فونت فارسی هم میباشد که برای فارسی نویسی به آن احتیاج دارید.
من برای مثال این برنامه را نوشتم که هم شامل فارسی نویسی و نمایش عکس و نوشته لاتین میشود.
برنامه کدویژن
=============================================================

در برنامه بالا در کدویژن در خط اول نوع آیسی میکرو atmega32 معرفی شده در خط دوم چون احتیاج با تاخیر در برنامه داریم ابتدا کتابخانه delay را با دستور include فراخوانی میکنیم.
در خط سوم کتابخانه ای که دانلود کردید و در پوشه پروژه ریختید را فراخوانی میکنید.
در خط چهارم یک فایل کتابخانه ای به اسم graph که قبلا درست کردیم را فراخوانی میکنیم این graph چی هست من قبلا یک عکس با ابعاد 128*64 با این نرم افزار (دانلود از اینجا ) درست کردم و با این نرم افزار (دانلود از اینجا)به کد هگزا تبدیل کردم و کد های هگزا را در یک متغییر آرایه ای به نام arr ریختم و ذخیره کردم سپس در برنامه با دستور include "graph.h" این عکس را فراخوانی کردم در واقع یک عکس با اندازه 128*64 با فرمت bmp را به کدهای هگز تبدیل کردم به همین سادگی برای تغییر عکس شما فقط باید کد ها را عوض کنید و ذخیره کنید. که در شکل زیر نشان داده شده

در چند خط بعدی چند متغیر از نوع char هم به صورت فارسی و لاتین تعریف کردم
و برای اینکه بدانیم پایه های lcd به کدام پورت ها باید وصل شود باید کتابخانه glcd را باز کنیم و این خط هایی از برنامه که در شکل زیر میبینید توجه کنیم و میتوانید آنها را تغییر دهید و lcd را به پورت های دیگری وصل کنید بعد از تغییر باید آن را ذخیره کنید.

برگردیم به برنامه با دستور glcd_clear ال سی دی پاک میشود
با این دستور glcd_puts(str,1,0,0 متغییر رشته ای str که مساوی بود با welcome در نقطه 0 افقی و 1 عمودی نوشته میشود و صفر دوم به دلیل این که نوشته لاتین هست میگزاریم اگر نوشته فارسی بود باید آن را مساوی با یک قرار دهیم یعنی بجای صفر میشد یک.
همانطور که در خط های بعدی میبینید arstr چون فارسی هست به جای صفر آخر یک قرار دادیم پس دو عدد اول موقعیت نوشته در lcd را نشان میدهد و عدد آخر فارسی یا لاتین بودن نوشته را.
و برای اینکه عکس در lcd نمایش دهیم حلقه استفاده میکنیم که 1024 بار تکرار میشود و دستورات داخل حلقه را اجرا میکند تا یک عکسی را که با نام graph در برنامه فراخوانی کردیم در lcd نمایش دهد.
و در آخر اینکه فایل سورس کدویژن و نمونه شبیه سازی شده با پروتیوس را در اختیار شما قرار میدهم
فقط باید این نکته را متذکر شوم که اگر بخواهید این مدار را به صورت عملی ببندید چون شماره های پایه های این lcd که در پروتیوس هست با پایه های یک lcdگرافیکی ts128*64 متفاوت هست باید مدار را طبق نقشه زیر ببندید .که این نقشه نیز در فایل پروتیوس به نام test همراه این فایل ها هست.
دانلود پروژه lcd گرافیکی)

در خط سوم کتابخانه ای که دانلود کردید و در پوشه پروژه ریختید را فراخوانی میکنید.
در خط چهارم یک فایل کتابخانه ای به اسم graph که قبلا درست کردیم را فراخوانی میکنیم این graph چی هست من قبلا یک عکس با ابعاد 128*64 با این نرم افزار (دانلود از اینجا ) درست کردم و با این نرم افزار (دانلود از اینجا)به کد هگزا تبدیل کردم و کد های هگزا را در یک متغییر آرایه ای به نام arr ریختم و ذخیره کردم سپس در برنامه با دستور include "graph.h" این عکس را فراخوانی کردم در واقع یک عکس با اندازه 128*64 با فرمت bmp را به کدهای هگز تبدیل کردم به همین سادگی برای تغییر عکس شما فقط باید کد ها را عوض کنید و ذخیره کنید. که در شکل زیر نشان داده شده

در چند خط بعدی چند متغیر از نوع char هم به صورت فارسی و لاتین تعریف کردم
و برای اینکه بدانیم پایه های lcd به کدام پورت ها باید وصل شود باید کتابخانه glcd را باز کنیم و این خط هایی از برنامه که در شکل زیر میبینید توجه کنیم و میتوانید آنها را تغییر دهید و lcd را به پورت های دیگری وصل کنید بعد از تغییر باید آن را ذخیره کنید.

برگردیم به برنامه با دستور glcd_clear ال سی دی پاک میشود
با این دستور glcd_puts(str,1,0,0 متغییر رشته ای str که مساوی بود با welcome در نقطه 0 افقی و 1 عمودی نوشته میشود و صفر دوم به دلیل این که نوشته لاتین هست میگزاریم اگر نوشته فارسی بود باید آن را مساوی با یک قرار دهیم یعنی بجای صفر میشد یک.
همانطور که در خط های بعدی میبینید arstr چون فارسی هست به جای صفر آخر یک قرار دادیم پس دو عدد اول موقعیت نوشته در lcd را نشان میدهد و عدد آخر فارسی یا لاتین بودن نوشته را.
و برای اینکه عکس در lcd نمایش دهیم حلقه استفاده میکنیم که 1024 بار تکرار میشود و دستورات داخل حلقه را اجرا میکند تا یک عکسی را که با نام graph در برنامه فراخوانی کردیم در lcd نمایش دهد.
و در آخر اینکه فایل سورس کدویژن و نمونه شبیه سازی شده با پروتیوس را در اختیار شما قرار میدهم
فقط باید این نکته را متذکر شوم که اگر بخواهید این مدار را به صورت عملی ببندید چون شماره های پایه های این lcd که در پروتیوس هست با پایه های یک lcdگرافیکی ts128*64 متفاوت هست باید مدار را طبق نقشه زیر ببندید .که این نقشه نیز در فایل پروتیوس به نام test همراه این فایل ها هست.
دانلود پروژه lcd گرافیکی)

>>>>>>>>>>>>>>موفق باشید تشکر از شما >>>>>>>>>>>>>>>>>>>>>>>>>>>
+ نوشته شده در 2013/3/1 ساعت 2:44 توسط رضا منصوری
|