سلام، دوستان و اساتید محترم، :bye
اگه اجازه بفرمائید قصد دارم یه مقدار زکات پخش کنم، :biggrin: در همین راستا توی فایل پیوست میخوام توابعی که برای LCD گرافیکی مورد نیازتون میشه رو تقدیم کنم....
قبلا بگم که این توابع رو یا خودم نوشتم یا برای بهینه شدن و یا افزایش قابلیت هاشون، در اونا تغییراتی دادم ( منبع اصلی رو هم در ابتدای فایل ذکر کردم ) و سعی کردم با هرکدوم یه مثال هم براتون بزارم ( توی فایل main )
توابع ارائه شده : :nerd:
GLCD : توابع مربوط به LCD گرافیکی KS0108 با قابلیت اتصال LCD به پورت و یا استفاده بعنوان Memory-mapped ( برای کشف جزئیات به فایل هدر مراجعه کنید و یا خودم رو خبر کنید! ) و امکان استفاده از fPrintf و توابع مشابه مثل Xitoa
Graphic : توابع رسم اشکال هندسی، نقطه، خط و اینجور چیزا برای LCD گرافیکی ( برای جزئیات به هدر فایل مراجعه شود )
G_FONT1 : فونت های مورد نیاز برای استفاده در توابع KS0108
G_FONT2 : توابع Font و فونت های مورد نیاز برای استفاده در توابع Font و برنامه ساختن فونت هاش توسط خودتون با قابلیت Import فونت های سیستم. اینم بگم که با استفاده از تابع فونت، میتونید چیدمان نوشته و زاویه نوشته رو تغییر بدین و یا به فونتتون Scale بدین یا فواصل خالی بین کاراکترها رو تغییر بدین و ..... ( البته توی این LCD بخاطر رزولوشن و ابعاد کم، خیلی بدرد نمیخوره، برای LCD گرافیکی – رنگی N96 خوبه ! البته قبلش یه کوچولو تغییراتی باید بدین مثل اندازه متغیر های رنگ ها و اینا و .... )
G_PIX : نمونه عکس و برنامه تبدیل عکس به هدر فایل برای LCD گرافیکی
ADC : توابع کامل استفاده از ADC میکروهای AVR ( مورد نیاز در تاچ پد! و اسیلوسکوپ!!! )
SinCos : توابع مختصر و مفید سینوس و کسینوس برای علاقمندان به ساعت روی LCD گرافیکی !
Util : توابع مورد نیاز تایپ متغیرها بجز Inttype
Xitoa : توابع مختصر، مشابه fPrintf با حجم کم و سرعت بالا ( البته مختصر با نمونه توی فایل main )
TouchADC : و اما در نهایت، توابع شیرین Touch-Pad با استفاده از ADC میکرو با قابلیت کالیبراسیون و ذخیره در eeprom میکرو برای روز مبادا !!! دقتش در حد خیلی قابل قبول برای این LCD هستش و سه تا روتین نمونه براش ارائه کردم.
توجه کنید که از مداد معمولی با نوک نچندان تیز استفاده کنید و موقع کالیبره کردن هم مداد رو نه با فشار زیاد و نه کم، بلکه با فشار مناسب استفاده کنید. اگر قبلا کالیبره شده باشه، چند ثانیه وقت میده که با تاچ کردن صفحه کالیبره مجدد انجام بشه و در غیر اینصورت از مقادیر ذخیره شده استفاده میکنه.....
روی تاچ اون طرفیه که کابل فلتش رنگش سیاه یا قهوه ای سوخت هستش. ( نه سمت براق و طلائی )
ممکنه بدلیل نحوه نصب تاچ پد روی LCD ( فلت به سمت بالا و یا پائین و یا انواع دیگرش، فلت در سمت چپ و یا راست ) لازم باشه توی روتین Touch_VAL تغییراتی اعمال کنید. یعنی صفر و یک اعمال شده به X+ و X- و یا Y+ و Y- رو تغییر بدید. و در هر صورت، پایه های X+ و Y+ با PullUp 100 کیلو اهمی به ADC متصل میشن ( اصلا نیازی به تغییرات سخت افزاری نداره ) لطفا یه نگاهی به هدر فایل Touch بندازین.....
متفرقه : چون من LCD و صفحه کلیدها و LEDهام رو memory-mapped کردم و استفاده میکنم، فکر کردم چند تا روتین که جنبه آموزشی هم داشته باشه رو توی فایل main براتون بزارم مثل استفاده از آرایه های متنی و ... ( البته به اساتید محترم جسارت نباشه، برای مبتدی هائی مثل خودم و دانشجویان عزیز .... ) و دو تا روتین هم برای چگونگی استفاده از fPrintf استاندارد و Xitoa گذاشتم.
AVRdude GUI 32 : رابط گرافیکی AVRdude
توجـــه 1 : روتین های داخل main رو تک – تک استفاده کنید نه با هم.... اگر سئوالی بود در خدمتیم و اینا.
توجـــه 2 : فقط برای استفاده آموزشی و با ذکر منابع مجاز است، خدای نکرده استفاده تجاری نکنید!
توجـــه 3 : اگر بدرد بخور بود، تشکر – کف – دست – هورا – صلوات - ........ یادتون نره!!!
مرسی – خوش گذشت
oo: !!! 
اگه اجازه بفرمائید قصد دارم یه مقدار زکات پخش کنم، :biggrin: در همین راستا توی فایل پیوست میخوام توابعی که برای LCD گرافیکی مورد نیازتون میشه رو تقدیم کنم....
قبلا بگم که این توابع رو یا خودم نوشتم یا برای بهینه شدن و یا افزایش قابلیت هاشون، در اونا تغییراتی دادم ( منبع اصلی رو هم در ابتدای فایل ذکر کردم ) و سعی کردم با هرکدوم یه مثال هم براتون بزارم ( توی فایل main )
توابع ارائه شده : :nerd:
GLCD : توابع مربوط به LCD گرافیکی KS0108 با قابلیت اتصال LCD به پورت و یا استفاده بعنوان Memory-mapped ( برای کشف جزئیات به فایل هدر مراجعه کنید و یا خودم رو خبر کنید! ) و امکان استفاده از fPrintf و توابع مشابه مثل Xitoa
Graphic : توابع رسم اشکال هندسی، نقطه، خط و اینجور چیزا برای LCD گرافیکی ( برای جزئیات به هدر فایل مراجعه شود )
G_FONT1 : فونت های مورد نیاز برای استفاده در توابع KS0108
G_FONT2 : توابع Font و فونت های مورد نیاز برای استفاده در توابع Font و برنامه ساختن فونت هاش توسط خودتون با قابلیت Import فونت های سیستم. اینم بگم که با استفاده از تابع فونت، میتونید چیدمان نوشته و زاویه نوشته رو تغییر بدین و یا به فونتتون Scale بدین یا فواصل خالی بین کاراکترها رو تغییر بدین و ..... ( البته توی این LCD بخاطر رزولوشن و ابعاد کم، خیلی بدرد نمیخوره، برای LCD گرافیکی – رنگی N96 خوبه ! البته قبلش یه کوچولو تغییراتی باید بدین مثل اندازه متغیر های رنگ ها و اینا و .... )
G_PIX : نمونه عکس و برنامه تبدیل عکس به هدر فایل برای LCD گرافیکی
ADC : توابع کامل استفاده از ADC میکروهای AVR ( مورد نیاز در تاچ پد! و اسیلوسکوپ!!! )
SinCos : توابع مختصر و مفید سینوس و کسینوس برای علاقمندان به ساعت روی LCD گرافیکی !
Util : توابع مورد نیاز تایپ متغیرها بجز Inttype
Xitoa : توابع مختصر، مشابه fPrintf با حجم کم و سرعت بالا ( البته مختصر با نمونه توی فایل main )
TouchADC : و اما در نهایت، توابع شیرین Touch-Pad با استفاده از ADC میکرو با قابلیت کالیبراسیون و ذخیره در eeprom میکرو برای روز مبادا !!! دقتش در حد خیلی قابل قبول برای این LCD هستش و سه تا روتین نمونه براش ارائه کردم.
توجه کنید که از مداد معمولی با نوک نچندان تیز استفاده کنید و موقع کالیبره کردن هم مداد رو نه با فشار زیاد و نه کم، بلکه با فشار مناسب استفاده کنید. اگر قبلا کالیبره شده باشه، چند ثانیه وقت میده که با تاچ کردن صفحه کالیبره مجدد انجام بشه و در غیر اینصورت از مقادیر ذخیره شده استفاده میکنه.....
روی تاچ اون طرفیه که کابل فلتش رنگش سیاه یا قهوه ای سوخت هستش. ( نه سمت براق و طلائی )
ممکنه بدلیل نحوه نصب تاچ پد روی LCD ( فلت به سمت بالا و یا پائین و یا انواع دیگرش، فلت در سمت چپ و یا راست ) لازم باشه توی روتین Touch_VAL تغییراتی اعمال کنید. یعنی صفر و یک اعمال شده به X+ و X- و یا Y+ و Y- رو تغییر بدید. و در هر صورت، پایه های X+ و Y+ با PullUp 100 کیلو اهمی به ADC متصل میشن ( اصلا نیازی به تغییرات سخت افزاری نداره ) لطفا یه نگاهی به هدر فایل Touch بندازین.....
متفرقه : چون من LCD و صفحه کلیدها و LEDهام رو memory-mapped کردم و استفاده میکنم، فکر کردم چند تا روتین که جنبه آموزشی هم داشته باشه رو توی فایل main براتون بزارم مثل استفاده از آرایه های متنی و ... ( البته به اساتید محترم جسارت نباشه، برای مبتدی هائی مثل خودم و دانشجویان عزیز .... ) و دو تا روتین هم برای چگونگی استفاده از fPrintf استاندارد و Xitoa گذاشتم.
AVRdude GUI 32 : رابط گرافیکی AVRdude
توجـــه 1 : روتین های داخل main رو تک – تک استفاده کنید نه با هم.... اگر سئوالی بود در خدمتیم و اینا.
توجـــه 2 : فقط برای استفاده آموزشی و با ذکر منابع مجاز است، خدای نکرده استفاده تجاری نکنید!
توجـــه 3 : اگر بدرد بخور بود، تشکر – کف – دست – هورا – صلوات - ........ یادتون نره!!!
مرسی – خوش گذشت


http://www.4shared.com/file/Cc41vDFm/KS0108_dist.html
دیدگاه