در این پروژه با استفاد از lcd چینی معروف به n96 یک دفترچه ی یاداشت همراه با دفترچه ی نقاشی بر روی ماژول ARM برنامه ریزی شده است . این پروژه هنوز در حال تکمبل شدن است و بخشهای خواندن و نوشتن در کارت sd و پخش فایل های صوتی و ارسال با بلوتوث نیز به آن اضافه خواهد شد.
راه اندازی اندازی LCD :
برای راه اندازی LCD از توابع فایل هدر tftlcd_functions استفاده خواهیم کرد که در فایل ضمیمه موجود است .ابتدا باید نحوه اتصال پایه های LCD را قبل از ارجاع به هدر فایل تعریف کنیم که این کار توسط دستورات پیش پردازشی زیر انجام میشود.
/* N96 LCD Pin Definition */
#define TFTLCD_DATAPORT_B
#define TFTLCD_DATAPORT_OFFSET ۰ //From PB.0 to PB.15
#define TFTLCD_CONTROLPORT_A
#define TFTLCD_RST ۱۶ // PA.16
#define TFTLCD_RS ۱۷ //PA.17
#define TFTLCD_CS ۱۸ //PA.18
#define TFTLCD_WR ۱۹ //PA.19
#define TFTLCD_RD ۲۰ //PA.20
همان طوری که میبینید پایه های کنترلی همه باید در یک پورت قرار بگیرند و میتوان هر پین دلخواهی را استفاده کرد ولی در پایه های دیتا باید ترتیب اتصال شماره پایه ها را را رعایت کرد. همچنین باید تعیین شود که LCD در چه آرایشی استفاده میشود. حال باید هدر فایل مربوطه را به پروژه وارد کرد.
#include “tftlcd_functions.c”
قبل از استفاده از توابع کا ر با LCD باید تابع راه اندازی اولیه LCD را فراخوانی کرد.این تابع مقدار دهی اولیه LCD را انجام میدهد و آنرا برای استفاده آماده میکند.
در جدول زیر خلاصه عملکرد توابع موجود در هدر فایل قرار دارد.
راه اندازی Touch :
برای راه اندازی تاچ مقاومتی متصل به ماژول LCD N96 از فایل هدر touch.h استفاده شده است. برای استفاده از تاچ های مقاومتی باید مقادیر حداقل و حداکثر ولتاژ را برای هر دو جهت x و y پیدا کرد و به عنوان ولتاژ آفست از آنها صرفنظر کرد.در فایل هدر ۴ متغییر ثابت برای این کار تعریف شده اند که باید اولین باری که از تاچ استفاده میشود آنها را مقدار دهی کرد. مثلا در زیر مقادیر مناسب برای تاچ استفاده شده در پروژه قرار دارند .
#define min_x ۲۵۰
#define max_x ۷۷۵
#define min_y ۲۲۵
#define max_y ۸۷۵
چون این مقادیر برای هر تاچ فرق میکند باید برای افزایش دقت تاچ مقادیر مناسب را برای تاچ خود محسبه کنید.برای اینکار مقدار حداقل x و y را ۰ و حداکثر آنها را ۱۰۲۳ قرار دهید و سپس با لمس ۴ گوشه تاچ مقدار حداقل و حداکثر برگشتی تابع touch را برای x و y بدست آورید. تابع touch بصورت زیر تعریف شده است:
int touch(int *x,int *y);
این تابع آدرس متغیرهای اختصاص داده شده برای مقادیر x و y را به عنوان ورودی میگیرد. در صورتیکه تاچ فشار داده شده باشد مقادیر x و y در آدرسهای دریافتی نوشته میشود و تابع مقدار ۱ را برمیگرداند.اگر هم تاچ فشرده نشده باشد تابع مقدار ۰ را برمیگرداند.
پروژه : در برنامه زیر پروژه ای را توسط LCD N96 وTouch آن انجام داده ایم که با انتخاب رنگ دلخواه میتوان روی صفحه خط کشید.
طرز کار برنامه:
طرز کار برنامه بدین صورت است که پس از راه اندازی LCD ، چهار مربع رنگی در پایین صفحه LCD رسم میکند و پس از آن به طور مرتب توسط تابع touch وضعیت صفحه لمسی را بررسی میکند.چنانچه محلی فشرده شود ابتدا مختصات آن در گوشه سمت راست پایین صفحه نمایش داده میشود. اگر مقدار y زیر ۱۰% رنج تغییرات خود باشد یکی از رنگها انتخاب شده است . هر یک از رنگها نیز ۱۶% رنج تغییرات x را شامل میشوند.به این ترتیب رنگ انتخاب شده تعین میگردد. اگر مقدار y بالاتر از ۱۰% رنج تغییرات خود باشد نقطه ای از صفحه رسم انتخاب شده است و به عنوان مثال یک دایره رنگی در محلی که فشرده شده رسم میشود .
توجه :کاربر گرامی شما علاوه بر خرید مستقیم همچنین میتوانید این فایل را با خرید اشتراک ماهانه دانلود نمایید پس مشترک ماهانه ی سایت شوید و تا پایان مدت اشتراک از آپدیت ها و فایلهای جدید موجود در سایت بهره مند گردید.
لیست فایلهای اعضای اشتراکی
نام فایل :
دفترچه ی یاداشت با ARM و lcd n96 وتاچ پد 1.0
پنج شنبه, 09 فروردين 772 05:28
حداقل اشتراک |
محتویات |
زمان ایجاد |
حجم فایل |
تعداد دانلودها |
رایگان |
برنامه+شماتیک |
شنبه, 11 آذر 1391 17:52 |
2.23 MB |
0 |
تنها کاربران عضو یا دارای مجوز میتوانند دانلود نمایند |
توضیحات :
طرز کار برنامه بدین صورت است که پس از راه اندازی LCD ، چهار مربع رنگی در پایین صفحه LCD رسم میکند و پس از آن به طور مرتب توسط تابع touch وضعیت صفحه لمسی را بررسی
...