نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه

آموزش lcd گرافیکی توشیبا در کدویژن قسمت 1

بسمه تعالی : به امید خدا میخوام تو این مطلب راجع به نحوه اتصال و راه اندازی نمایشگر گرافیکی توشیبا 128*240 و دستورات اون به زبان C در کامپایلر کدویژن توضیح بدم .
آموزش lcd گرافیکی توشیبا در کدویژن قسمت 1
همونطور که می دونید LCD های گرافیکی با توجه به تراشه پردازنده خود معرفی میشن که به این پردازنده ها، راه انداز (Driver) میگن. غالباراه اندازهای LCDهای گرافیکی، یکی از تراشه های T6963 ساخت شرکت توشیبا یا KS0108 ساخت شرکت سامسونگ هست. که تراشه KS0108 به صورت COB (تراشه قیری)روی برد LCD تعبیه شده
یه نکته: توجه داشته باشید که راه انداز KS0108، تنها برای راه اندازی 64 کانال است. برای راه اندازی یک LCD گرافیکی64*128، به دو عدد از این تراشه و برای راه اندازی ستونها نیز به یک راه انداز مشترک نیازمندیم

مطالب مرتبط : 
آموزش LCD های سری توشیبا با کنترلر T6963C جلسه1
آموزش LCD های سری توشیبا با کنترلر T6963C جلسه2
آموزش LCD های سری توشیبا با کنترلر T6963C جلسه3

آموزش lcd گرافیکی توشیبا در کدویژن قسمت 1

در این پروژه  ال سی دی گرافیکی Ts240128D  با درایور T6963 استفاده شده و همونطور که مشخصه یک LCD با تراشه توشیبا در ابعاد 128*240 پیکسله.

جالبه بدونید این LCD از نوع گرافیکی و متنی  هست و قابلیت استفاده هم زمان هر دو حالت را داره ! اینم باید داخل پرانتز بگم که TS240128 با TS12864 زمین تا آسمون فرق داره. برخلاف TS240128 که داخل خودش تمام فونتهای ASCII رو داره ، TS12864فاقد فونت هست . خوب دیگه مقدمه بسه ؛ بریم سراغ پایه هاش :
 

اتصال بدنه FG 1
تغذیه مدارات داخلی 0 ولت VSS 2
تغذیه مدارات داخلی 5ولت VDD 3
تنظیم کنتراست V0 4
جهت نوشتن بر روی LCD WR 5
جهت خواندن از LCD RD 6
فعال ساز LCD CE 7
تعیین کننده اطلاعات یا دستور العمل C/D 8
ریست RET 9
خط باس اطلاعات و دستور العمل ها DB0-DB7 10-17
انتخاب اندازه فونت FS 18
تولید ولتاژ منفی جهت کنتراست تصویر VOUT 19
نور پس زمینه 5ولت BLA 20
نور پس زمینه 0ولت BLK 21
وصل نشده NC 22

 
این نمایشگر 22 پایه داره که پایه اول و آخر آن تقریبا بدون استفاده است یا بهتره اینطور بگم که پایه اول یا FG مخفف Frame Ground هست که به بدنه فلزی LCD متصل شده و برای محیط های نویزی باید به بدنه دستگاه و زمین وصل بشه. پایه آخر یا همون شماره 22 هم NC یا No Connect هست که به جایی وصل نمیشه و احتمالاً برای اینکه پین هدر LCD زوج بشه اینطور طراحی شده.  smile
مهمترین نکته که معمولاً باعث سردرگمی موقع راه اندازی این نمایشگر میشه استاندارد نام پایه هاست wacko . این LCD در مدل های مختلفی ساخته میشه که قبل از کار با اون حتماً باید شماره سریال LCD رو سرچ کنید تا دیتاشیتش رو بدست بیارید. در مورد TS240128 که برای پروژه ما هست خوشبختانه نام پایه ها روی LCD چاپ شده بود و نیازی به دیتاشیت نبود. ولی با این حال نام بعضی از پایه ها یکسان نیست.
پایه Vo که پایه شماره 4 هست ورودی کنتراست نمایشگره که با یک پتانسیومتر 10کبلو از پایه Vout که پایه شماره 19 هست تامین میشه.
اما نکته مهم در مورد پایه های CS و RS و RES هست. پایه RES مخفف RESET هست و داخل دستور پیکره بندی هم با عبارت RESET مشخص شده.
ولی CS با Ce مشخص میشه که پایه “انتخاب چیپ” هست و کمپانی LCD مخفف اونو از Chip Select به معنای انتخاب چیپ گرفته و نرم افزار از Chip Enable یا فعال ساز چیپ که در کل معادل همدیگه هستن. pardon
پایه RS هم با به معنای انتخاب ثبات بوده و و مخفف Register Select هست. یعنی با 0 و 1 شدن این پایه یکی از رجیسترهای اطلاعات یا دستور انتخاب میشن که اطلاعات برای زمانیه که میخوایم کد مورد نظر روی پایه های DB0 تا DB7 دقیقاً روی LCD نمایش داده بشه و دستور هم برای زمانی هست که کد مورد نظر یه کد کنترلی مثل CLS یا جابجایی مکان نما و … هست  این پایه در  Config با C/D مشخص شده. CD مخفف Command/Data به معنای دستور/ اطلاعات هست که به نظر من دقیق تر از RS مفهوم کار پایه رو میرسونه و بهتر بود روی LCD هم CD چاپ می شد.
[divider] [/divider] حالا برای اینکه مشخص کنیم هر پایه از LCD ما به کدوم پایه از میکرو متصله ، باید نرم افزار عزیز کدویژن رو باز کنیم و بعد از ساخت یک پروژه (که خودتون دیگه بلدید چطور درست کنید ) میریم توی منوی Project و آخرین گزینه اون یعنی Configure رو باز میکنیم . حالا توی پنجره ای که برامون باز شده میریم تو سربرگ زیر:

C compiler/Libraries/Graphic display

بعدش مثل عکس زیر توی منوی display type ،نوع ال سی دی رو مشخص میکنیم که در اینجا T6963C 240*128 هست . حالا پایه ها رو مشخص میکنید . اینجا ما پایه های دیتا رو به پورت A و C و پایه های کنترلی رو هم به پورت A و C وصل کردیم .
حتما میپرسید چرا اینقدر درهم و برهم پایه وصل کردید ؟ اتفاقا عمدا این کارو کردیم که ببینید کاملا دلخواهه و هیچ (تاکید میکنم هیچ) ترتیب خاصی لازم نیست که مثلا پایه A.0 به دیتای 0 و … وصل بشه .
نکته مهم : در استفاده از کتابخانه کدویژن ،میتونیم اینطور تنظیم کنیم که رنگ زمینه سفید و تصاویر با رنگ آبی باشه یا برعکس ،اما  در ورژن 2 و خورده ای  این قابلیت درست کار نمیکنه  . کتابخانه اصلاح شده در Codevision 3.12 وجود دارد که هم متن و هم گرافیک قابل نمایش به صورت آبی روی سفید است . مثل تصویر زیر
خوب حالا چطور چیزی بنویسیم ؟ این که دیگه کاری نداره دستوراتش توی کدهای نمونه خود کدویژن وجود داره که  اگه تو مسیر پیش فرضش نصب کرده باشید اینجاست :

C:\cvavr3\EXAMPLES\Graphic LCD\T6963C

منم الان یک توضیحی میدم . این دستورای زیر که فایل های هدر هستند برای کار با ال سی دی گرافیکی و چند تا فونت که از قبل آماده شده .
– از قبل آماده شده ؟ یعنی میشه فونت خودمونم بذاریم ؟ بله که میشه اونم خیلی راحت تقریبا هر فونتی با هر سایزی … اما این میره تو قسمت دوم آموزش ما …

 

حالا مشخص میکنیم با چه فونتی (که از قبل فایل هدر اون رو تو برنامه آوردیم) میخوایم بنویسیم :

خوب اینم دستور نوشتن متن ثابت ، که در  سطر 0 و ستون 30 و متن داخل “” رو نمایش میده:
اگه بخوایم یک خط راست بکشیم اول مشخص میکنیم قطر خط ما چند پیکسل باشه و نوع خط ما چطوری باشه یعنی پیوسته باشه یا مثلا شبیه نقطه چین باشه و … که در اینجا قطر خط ما 1 و نوع خط ما معمولی هست
اگر خواستید خطش حالت نقطه چینی باشه به جای GLCD_LINE_SOLID میگذارید GLCD_LINE_DOT_SMALL یا …
حالا خط رو میخوایم از نقطه 0 و 15 تا نقطه 239 و 15 (یک خط افقی ) رسم کنیم :
این هم که دیگه واضحه :
رسم یک کادر مستطیلی از نقطه 100 افقی تا 140 و از نقطه 40 عمودی تا 65 یک مستطیل رسم میکنه :
کادر مستطیلی با گوشه های گرد (اون عدد آخر یعنی چند پیکسل گرد بشه ) :
دستور کشیدن دایره به مرکز (63,23) با شعاع 20 :
نمیخواید دایره کامل بزنید؟ یک قسمت از دایره از زاویه 0 تا 120 درجه با شعاع 15 :
گفته بودم که میتونید مشخص کنید که رنگ پس زمینه چی باشه و نوشته ها و تصاویر چه رنگی . این کارو هم با این دستورات میتونید انجام بدید :
با دستورات فوق نوشته ها سفید و زمینه آبی میشه . اگر برعکسشو میخواید جای 0 و 1 رو عوض کنید تا نوشته ها آبی و زمینه سفید بشه .
فیلمی که براتون میذارم مال همین پروژه مثال خود کدویژن هست که خودم تست کردم . (لینک فیلم در آپارات )

خب … خسته نباشید . اگر خوشتون اومد و براتون مفید بود صلوات فراموش نشه  victory
یا علی

پسورد فایل های سایت :
www.dmf313.ir
کارشناس مهندسی پزشکی (بیوالکتریک) ، زمینه کاری اصلی سیستمهای مبتنی بر کارت هوشمند و RFID - میگن نادر شاه افشار که یکی از پادشاههای قدرتمند ایرانی هست همیشه جلوی لشگر حرکت میکرده و به سربازاش گفته دهنه اسبتون از من جلوتر نره . ما که سنمون قد نمیده اما برامون تعریف میکنن که تو جبهه ها بحث سر این بوده که کی جلو بره و جاده رو باز کنه . امروزم روز جنگ با دشمنان خداست اما جبهه تغییر کرده . یکی از دلایل عقب بودن ما نسبت به خیلی کشورهای دیگه اینه که هر کدوم ما اگه چیزی یاد داریم میترسیم در اختیار دیگران بگذاریم ، میترسیم اونا از ما جلو بزنن اونا به جایی برسن ... به نظر من اگه قرار باشه کشورمون پیشرفت کنه باید وقتی کسی یک گام به جلو برمیداره ، یک پل بسازه تا بقیه بتونن چاله های دیگه رو پر کنن . این میشه کار جهادی . البته شرطش اینه که اونایی هم که از پل دیگران استفاده میکنن ، درست استفاده کنن و تیشه نزنن به ریشه بقیه ... تا باز هم امید باشه واسه ادامه دادن ... تو هم به اندازه خودت در این پیشرفت سهیم باش . مطلب کپی نکن تا سایت و تحقیقت پر بشه . یاد بگیر ، عمل کن ، یاد بده - یا علی
ارسال دیدگاه
4

1) تعداد حروف فارسی از حروف غیر فارسی بیشتر باشه دیدگاه جفنگ/اسپم محسوب میشه.

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید : debian

  1. مهمان

    علیرضا

    سلام
    خیلی خیلی خیلی مننون از اموزش های عالی شما.
    من ی ال سی دی گرافیکی 122*32 دارم که پایه های E1 و E2 داره. با بکلایت 18 پایه هاست. چجوری راه اندازی کنم؟

    1397/10/18
    04:31
  2. مهمان

    epia

    با سلام و تشکر از توضیحات خوبتون
    من ماژول رو راه اندازی کردم و ال سی دی رو راه انداختم فقط مشکلی که دارم اینه که متن یا تصویری که میندازم روصفحه از یه بخشی از صفحه دوباره مینویستش……
    چیکار باید بکنم؟
    ممنون که کمک میکنید

    1397/09/22
    03:40
  3. مهمان

    میر میکائیل

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

    1396/02/22
    09:22
    • مدیر سایت

      مهدی دمرچیلو

      سلام
      اگه قابلیت خوندن در نمایشگر مد نظرت وجود داشته باشه آره میشه ( باید دیتاشیت نمایشگر رو بررسی کنی )

      1396/02/22
      09:28