-
 

راهنمای راه اندازی کتابخانه lcd 3.2"  با کنترلر ili9341

لینک معرفی کتابخانه

 

 

با درود به همه دوستان .

 

مستقیم میرم سر اصل مطلب .

 

*****************************************************

*****************************************************

نحوه اتصال   lcd   به میکرو :

این کتابخانه قابلیت خواندن از lcd  را دارد . بنابراین ممکن است( مثلا در حالتی خاص و پیشبینی نشده و نه همیشه  )  تحت شرایطی خاصی

پایه های دیتای lcd  و میکرو هر دو در حالت خروجی قرار بگیرند بنابر این برای جلوگیری از صدمه دیدن  lcd  یا میکرو به شدت توصیه میشود به اخطار امنیتی زیر دقت فرمایید .

 

***اخطار ایمنی :

برای جلوگیری از آسیب احتمالی به  lcd  یا میکروکنترلر پایه های دیتای   lcd   را بوسیله یک مقاومت حداقل 300  اهم  به میکروکنترلر متصل نمایید .

 

*****************************************************

*****************************************************

فایلهای کتاخانه :

وقتی فایلهای کتابخانه در اختیار شما قرار میگیره توی پوشه فایلهای زیر رو میبینید .

 

برای اطلاع از اینکه فایلها محتویات چه چیزی هستند لطفا (  اینجا ) را ببینید.

 دو عدد فایل هست که در اسم اونها ili9341  دیده نمیشه و نقش اونها مطابق با استاندارد نامگذاری فایها نیست که در زیر توضیح دادم .

 

*****************************************************

فایلهای nokia1661_lcd.h و nokia1661_lcd_typedef.h :

محتویات این دو فایل هستند که  کتابخانه درایور ili9341  را به قسمتهای متنی و گرافیکی و نمایش تصویر کتابخانه  lcd  نوکیا  1661 متصل میکنند .

 

 

*****************************************************

*****************************************************

 

تنظیمات کتابخانه در فایل ili9341_lcd_conf.h  :

از بین این فایلها کاربر با  ili9341_lcd_conf.h  بیشتر از همه کار داره .

این فایل یک مقدار طولانی هست از بخشهای مختلفش تصاویر جدا تهیه کردم و به ترتیب  از بالای فایل conf  توضیح میدم .

 

*****************************************************

 

  در تصویر بالا تقریبا واضح است که ماکروها مربوط به چه چیزی هستند و چه نامهایی برای اونها قابل استفاده است .

**توجه : بای راحتی کاربر تمام نام های مجاز  را به صورت کامنت جلوی ماکروها نوشتم.

فقط چند تا ماکرو رو که نکته خاص داره توضیح میدم .

 

ماکروی  LCD_RESET_TYPE :

کتابخانه فعلا فقط از مد ریست سخت افزاری پشتیبانی میکنه بنا بر این لطفا این ماکرو را تغییر ندید .

 

ماکروی LCD_CPU_F :

این ماکرو فقط هنگامی استفاده میشه که شما بخواهید از حافظه نمایش یا فرمان lcd  چیزی را بخوانید .

و برای ایجاد تاخیر  هایی که نقش ایمنی دارند استفاده میشود .

این فرکانس را حداکثر تا 180 مگاهرتز میشه تعریف کرد و در صورتی که بیش از این تعریفش کنید  برنامه تو تابع خواندن ، در یک حلقه وایل گیر میکنه ( به خاطر ایمنی عمدا این کار و کردم تا فرآیند خواندن ادامه پیدا نکنه و شما هم مطلع بشید یک اشتباهی پیش آمده !!! )

***اخطار :  هیچ وقت این فرکانس را کمتر از فرکانس هسته میکرو تعریف نکنید چون امکان داره به lcd     یا میکرو صدماتی وارد بشه . ولی بیشتر تعریف کردنش مانعی نداره .

 

*****************************************************

ادامه فایل conf ......

 

در ابتدای فایل معرفی پورتها و پینهای  مربوط به پایه های کنترلی  lcd  رو میبینید که چیز مبهمی نداره .

و اما میرسیم به کادر قرمز !!!!

ماکروی LCD_MSB_PORT :

این ماکرو در حالت superfast  استفاده میشه . و  پورتی را که پایه های شماره  8 تا 15 دیتای lcd   روی آن قرا خواهد گرفت را به کتابخانه معرفی خواهد کرد .

و پایه های 8تا 15 lcd  باید به ترتیب و نظیر به نظیر به پینهای شماره 8 تا 15 از  این پورت  متصل خواهند شد .

 

اگر مطالب قسمت معرفی محصول را به خاطر داشته باشید اونجا گفته بودم که در حالت superfast  کمی انعظاف پذیری کتابخانه کم میشه !!!

این ترتیب قرار گیری پایه ها روی یک پورت و اتصال آنها به پایه های نظیر به نظیر همون محدودیت هست .

 

این ماکرو در حالت اینترفیس 8 بیتی و 16 بیتی استفاده خواهد شد .(در مد superfast همیشه هست )

 

ماکروی LCD_LSB_PORT :

این ماکرو در حالت superfast   و فقط در  اینترفیس 16 بیتی استفاده میشه . و پورتی را که پایه های 0 تا 7 دیتای lcd  قرار است به آن متصل شود را به کتابخانه معرفی میکند و  پایه های شماره 0 تا 7 دیتای  lcd   به صورت نظیر به نظیر به پین های 0 تا 7 این پورت متصل خواهد شد .

 

*****************************************************

ادامه فایل conf ....

 

 اگر از مدهای  fast  و  normal  استفاده کنید تعریف پایه رو باید در این قسمت انجام بدید .

( نگران نباشید توی ide  های پیشرفته اون قسمتهایی رو که قرار نیست استفاده بشه تیره میکنه یا کم رنگ میکنه ....خلاصه خودتون متوجه میشید )

واگر یک مقدار دقت کنید کاملا واضح است که ماکروها چه چیزهایی رو به کتابخانه معرفی میکند.

 

*****************************************************

*****************************************************

در اینجا این مطلب به پایان رسید .

امیدوارم برای شما مفید بوده باشد .

 

در صورت بروز هر گونه مشکل یا سوال در این باره لطفا با شماره 09169252500 تماس بر قرار کنید  یا کامنت بگذارید.

برای اطلاع از اخبار جدید و موارد اصلاحی در مورد این کتابخانه خواهشمندم در کانال تلگرام وبلاگ: dastsazemanblogfa@

عضو شوید .

با سپاس.

کتابخانه درایور tft lcd  3.2 اینچ و چیپ ili9341  با اینترفیس موازی 8 و 16 بیت و 65K رنگ برای stm32

با درود .

قبلا در یک اطلاعیه ، گفته بودم که دارم روی نوشتن یک درایور ( هسته) برای ili9341 کار میکنم به طوری که به راحتی به کتابخانه های متنی و گرافیکی و نمایش تصویر مربوط به lcd nokia1661 متصل بشه و فونت فارسی و بقیه امکانات به راحتی استفاده کنه .

خوشبختانه در حال حاظر تکمیل شده و قابل ارایه هست .

این کتابخانه مربوط به " 3.2 lcd و 240*320 پیکسل با چیپ کنترلر ili9341 هست که با اینترفیس پارالل 8 , 16 بیتی راه اندازی میشه و 34 پین داره . ( نمونه های spi هم داره ولی این از نوع spi نیست) و

یک نمونه از این lcd را در تصویرهای زیر میبینید .

اطلاعات کاملتر در مورد این lcd را میتوانید در (اینجا ) پیدا کنید .

*****************************************

مشخصات کتابخانه :

1- زبان کتابخانه : زبان C استاندارد C99 است.

2- کتابخانه به صورت رجیستری و بدون استفاده از HAL یا SPL نوشته شده است.

3- میکروکنترلر های قابل استفاده : stm32f0xx , stm32f1xx , stm32f4xx

4- عمق رنگ : 16 بیت ( 65 هزار رنگ)

5- اینترفیس ارتباطی : پشتیبانی از اینترفیس ارتباطی موازی 8 و 16 بیت ( II_8080 )

6- قابلیت کنترل حجم و سرعت کتابخانه: دارد ( مدهای normal , fast , super fast ).

7 - کمپایلر :arm-gcc ( cubeIDE , True Studio)

8 - انعطاف : قابلیت قرار دادن پایه های کنترل و دیتای lcd روی پورتها و پینهای دلخواه ( فقط در مود fast و normal وجود دارد)

9-خواندن مقادیر رجیسترهای فرمان

10 - خواندن حافظه صفحه نمایش .

11 - کتابخانه در مد GPIO کارمیکند .( از fsmc استفاده نمیکند )

*****************************************

شرح انعطاف پذیری:

مشخصات حالت normal :

در این حالت میتوان پایه های ال سی دی را روی هر پورت و پین دلخواهی قرار داد.

از لحاظ حجم کمترین حجم نسبت به حالتهای دیگر را دارد و سرعت آن نیز کمترین است .

مشخصات حالت fast :

شبیه حالت نرمال میتوان پایه های ال سی دی را روی هر پورت و پین دلخواهی قرار داد.

از لحاظ سرعت نسبت به حالت نرمال سریعتر است ولی حجم بیشتری دارد ( حدود 600 بایت )

مشخصات حالت superfast :

این مد سریعترین حالت کتابخانه است . و در عین حال حجم آن کمترین است ( تقریبا برابر با مد نرمال)

اما مانند مدهای قبل انعطاف پذیر نیست و برای پایه های کنترلی امکان انخاب هر پین و پورت دلخواهی وجود دارد ولی برای پایه های دیتای lcd فقط پورت قابل انتخاب است و پینها باید به ترتیب خاصی به پورت متصل شوند.

اطلاعات مروط به ارتباط حجم و انعطاف پذیری به طور خلاصه در نمودار زیر آورده شده است .

*****************************************

*****************************************

*****************************************

تست سرعت برای رابط 8 و 16 بیت و مدهای fast , normal , superfast:

در فیلم های زیر سرعت رفرش صفحه برای حالت های مختلف کنترل حجم و سرعت نسخه ( مدهای normal , fast , super fast ) و همچنین اینترفیسهای 8 بیت و 16 بیت آورده شده است .

** کلیه سرعتها در فرکانس 72 مگاهرتز اندازه گیری شده است .

** سرعتهایی که در فیلمها نشان داده میشود بوسیله کمپایلر arm gcc از طریق اپتیمایز کد رو حجم بدست آمده ، که یک اپتیمایز رایج برای کمپایل کد است .

و میکرو کنترلر استفاده شده stm 32 f103 CB T6 میباشد .

در صورت استفاده از اپتیمایز روی سرعت ، سرعت رفرش سریعتر خواهد بود .

*****************************************

*****************************************

1- اینترفیس موازی 8 بیت :

***************

1-1- سرعت رفرش برای حالت super fast :

مشاهده میکنید 10 بار رفرش صفحه ، 384 میلی ثانیه زمان برده است

سرعت رفرش :26 فریم در ثانیه

**سرعت رفرش بدون هیچ گونه اپتیمایز : 10.75 فریم در ثانیه ( 10 بار رفرش 930 میلی ثانیه زمان برده است )

***************

1-2- سرعت رفرش برای حالت fast :

سرعت رفرش :5.45 فریم در ثانیه(10 بار رفرش در زمان 1836 میلی ثانیه )

**سرعت رفرش بدون هیچ گونه اپتیمایز : 2.47 فریم در ثانیه ( 10 بار رفرش 4055 میلی ثانیه زمان برده است )

***************

1-3- سرعت رفرش برای حالت normal :

سرعت رفرش :3.49 فریم در ثانیه(10 بار رفرش در زمان 2861 میلی ثانیه )

**سرعت رفرش بدون هیچ گونه اپتیمایز : 1.87 فریم در ثانیه ( 10 بار رفرش 5337 میلی ثانیه زمان برده است )

*****************************************

*****************************************

2- اینترفیس موازی 16 بیت :

***************

2-1- سرعت رفرش برای حالت super fast :

سرعت رفرش : 34.6 فریم در ثانیه(10 بار رفرش در زمان 289 میلی ثانیه )

**سرعت رفرش بدون هیچ اپتیمایزی : 13.55 فریم در ثانیه ( 10 بار رفرش 738 میلی ثانیه زمان برده است )

***************

2-2- سرعت رفرش برای حالت fast :

سرعت رفرش : 8 فریم در ثانیه(10 بار رفرش در زمان 1250 میلی ثانیه )

**سرعت رفرش بدون هیچ اپتیمایزی : 2.64 فریم در ثانیه ( 10 بار رفرش 3792 میلی ثانیه زمان برده است )

***************

2-3- سرعت رفرش برای حالت normal:

سرعت رفرش : 4.48 فریم در ثانیه(10 بار رفرش در زمان 2232 میلی ثانیه )

**سرعت رفرش بدون هیچ اپتیمایزی : 2.12فریم در ثانیه ( 10 بار رفرش 4722 میلی ثانیه زمان برده است )

***************

*****************************************

*****************************************

جدولهای خلاصه سرعت رفرش :

اندازه گیری با میکروکنترلر stm32f103 CB t6 ( بورد blue pill ) و کلاک 72 مگاهرتز انجام شده است .

سرعت رفرش برای حالت اینترفیس 8 بیت موازی
super fastfastnormalسوییچ کنترل نسخه
26 f/s5.45 f/s3.49 f/sبهینه سازی روی حجم
10.75 f/s2.47 f/s1.87 f/sبدون بهینه سازی

سرعت رفرش برای حالت اینترفیس 16 بیت موازی

super fastfastnormalسوییچ کنترل نسخه
34.6 f/s8 f/s4.48 f/sبهینه سازی روی حجم
13.55 f/s2.64 f/s2.12 f/sبدون بهینه سازی

*****************************************

*****************************************

اجرای قابلیتهای متنی و گرافیکی :

این کتابخانه یک درایور ( هسته )است و همانطور که قبلا گفته شده است قابلیت اتصال به قسمتهای متنی و گرافیکی کتابخانه lcd nokia1661 ( نسخه 1.0.3 به بعد ) را دارد. و برای نمایش رویlcd از آنها استفاده شده است که در تصویرهای زیر میبینید .

برای اطلاع دقیقتر از مشخصات قسمت متنی و گرافیکی لطفا ( اینجا ) و برای اطلاع از جزییات بیشتر و نحوه ی استفاده از قسمتهای متنی و گرافیکی لطفا ( اینجا ) را ببینید.

***********

قابلیت تعویض فونت هنگام اجرای برنامه

******************

خواندن رجیسترهای کنترلی و چرخش صفحه

*****************

سرعت تایپ متن :

(این سرعت در مد super fast و اینترفیس 8 بیت میکرو f103 و کلاک 72 مگاهرتز میباشد.)

*** توجه : سرعت نمایش متن برحسب نوع فونت و نوع حروف میتواند متغیر باشد.

**************

نمایش قابلیتهای گرافیک و خواندن حافظه نمایش را در تصیویر زیر میبینید .

مربع مشکی قسمتی ازحافظه نمایش است که خوانده شده است و در سمت راست دوباره نمایش داده شده است .

****************

*****************************************

*****************************************

*****************************************

برای اینکه از عملکرد کتابخانه مطمئن باشید یک فایل هگز برای تست اینجا قرار دادم که میتونید امتحانش کنید .

دانلود فایل هگز تست کتابخانه درایور ili9341 در حالت superfast

*****************************************

***************************************************************************

راهنمای راه اندازی و استفاده از کتابخانه را لطفا در اینجا ببینید .

***************************************************************************

قیمت کتابخانه درایور( هسته) : 45,000 تومان

قیمت کتابخانه کامل برای stm32f1xx( به همراه قسمتهای متنی و گرافیکی و نمایش تصویر ): 135,000 تومان

***توجه:دوستانی که قبلا کتابخانه lcd nokia1661 نسخه 1.1.3 برای stm32 تهیه کرده اند ، نیاز به تهیه کتابخانه کامل نیست و میتوانند با تهیه درایور و جایگزینی پوشه ili9341 با پوشه lcd از آن استفاده نمایند.( حتی نیاز به تغییر کدهای اصلی برنامه هم نیست )

نحوه ی خرید با پرداخت مستقیم : برای خرید لطفا اینجا را ببینید

در صورت بروز هر گونه مشکل یا سوال در این باره لطفا با شماره 09169252500 تماس بر قرار کنید یا کامنت بگذارید.

برای اطلاع از اخبار جدید و موارد اصلاحی در مورد این کتابخانه خواهشمندم در کانال تلگرام وبلاگ: dastsazemanblogfa@

عضو شوید .

با سپاس.

پستهای مرتبط :

کتابخانه منو ( فارسی و انگلیسی ) 4 دگمه

نرم افزار تولید فونت برای میکروکنترلر

اتصال درایور ili9341 به کتابخانه lcd nokia1661( اجرای کتابخانه منو روی ili9341 )

 
  BLOGFA.COM