اولین پروژه ای که دقیقاً بعد از آزادی از خدمت یعنی بهار سال 92 انجام دادم یه چیزی شبیه mini PLC با LCD گرافیکی 240 در 128 به شماره TS240128 بود. یادمه با کلی دردسر LCD رو راه اندازی کردم و چون این LCD مدل های مختلفی داشت هم کتابها و هم دیتا شیت ها، هر کدوم یه چیزی نوشته بودن و بدتر از همه اینکه نام و استاندارد خاصی برای پایه ها وجود نداشت و هر کمپانی برای پایه ها از نام های مخفف خودش استفاده کرده بود و الان هم همینطوره. این پروژه هر طوری بود انجام شد تا اینکه دوباره امسال یعنی اواخر تابستان 93 برای یه پروژه صنعتی مجبور به راه اندازی یکی از همین LCD ها شدم. خوسبختانه سورس پروژه قدیم رو داشتم ولی شماتیک رو نه و مستند سازی هم نکرده بودم به این امید که یادم میمونه. ولی کلاً فراموش کرده بودم که داستان چی بود. بالاخره با کلی دردسر دوباره موفق به راه اندازی این نمایشگر شدم. برای همین تصمیم گرفتم که یه مستند سازی درست و حسابی در مورد این ال سی دی گرافیکی به عنوان یک مقاله انجام بدم تا اگه کسی برای راه اندازی LCD گرافیکی مدل TS240128 یا همون 240 در 128 که به T6963 هم معروفه با BASCOM (بسکام/بیسکام) به مشکلی برخورد کرد بتونه از این مقاله کمک بگیره.

قبل از هر چیز باید بگم که TS240128 با TS12864 زمین تا آسمون فرق داره. اولین تفاوتشون اینه که LCD گرافیکی 240 در 128 داخل خودش تمام فونتهای ASCII رو داره و هیچ نیازی به افزودن فایل font و استفاده از دستور setfont نیست و نوشتن توش دقیقاً مثل LCD کاراکتری با دستور LCD صورت میگیره نه Lcdat. نکته مهم هم استفاده از دستور locate 1,1 قبل از دستور LCD هست که مکان نما رو به خط اول و ستون اول میبره و اگه از این دستور استفاده نشه بر خلاف LCD معمولی کاراکتری هیچ چیزی روی LCD نوشته نمیشه و مثل LCD معمولی 2x16 نیست که با CLS مکان نما به Home یا همون خونه اول بره. ضمناً اعداد جلوی Locate سطر و ستون رو مشخص میکنن و اولی سطر و دومی ستون هست. در حالت فونت 8 در 8 میشه 16 تا سطر و هر سطر 30 ستون. مثلا دستور Locate 16,30 مکان نما رو به آخرین سطر و آخرین ستون میبره.


نکته دوم در خصوص نمایش عکس در این LCD هست. برای نمایش تصویر باید دقیقاً مثل مقاله شماره چهار بسکام عمل کنید با این تفاوت که باید در موقع تبدیل عکس با Graphic Converter بسکام تیک هر دوتا گزینه SED و Uncompressed رو بردارید.

نکته آخر و مهمترین نکته که معمولاً باعث سردرگمی موقع راه اندازی این نمایشگر مخصوصاً با BASCOM میشه استاندارد نام پایه هاست. این LCD در مدل های مختلفی ساخته میشه که قبل از کار با اون حتماً باید شماره سریال LCD رو سرچ کنید تا دیتاشیتش رو بدست بیارید. در مورد TS240128ی که برای پروژه ما بود خوشبختانه نام پایه ها روی LCD چاپ شده بود و نیازی به دیتاشیت نبود. ولی با این حال نام بعضی از پایه ها با دستور Config بسکام یکسان نبود. TS240128 معمولاً 22 تا پایه داره. پایه اول یا FG به نظرم مخفف Frame Ground هست که به بدنه فلزی LCD متصل شده و برای محیط های نویزی باید به بدنه دستگاه و زمین وصل بشه. پایه آخر یا همون شماره 22 هم NC یا No Connect هست که به جایی وصل نمیشه و احتمالاً برای اینکه پین هدر LCD زوج بشه طراحی شده. پایه Vo که پایه شماره 4 هست ورودی کنتراست نمایشگره که با یک پتانسیومتر 10کبلو از پایه Vout که پایه شماره 19 هست تامین میشه. اما نکته مهم در مورد پایه های CS و RS و RES هست. پایه RES مخفف RESET هست و داخل دستور پیکره بندی بیسکام هم با عبارت RESET مشخص شده. ولی CS داخل بسکام با Ce مشخص میشه که پایه "انتخاب چیپ" هست و کمپانی LCD مخفف اونو از Chip Select به معنای انتخاب چیپ گرفته و بسکام هم از Chip Enable یا فعال ساز چیپ که در کل معادل همدیگه هستن. پایه RS هم با توجه به بخش آخر کتاب 8050 اسکات مکنزی ترجمه دکتر سید رضی به معنای انتخاب ثبات بوده و و مخفف Register Select هست. یعنی با 0 و 1 شدن این پایه یکی از رجیسترهای اطلاعات یا دستور انتخاب میشن که اطلاعات برای زمانیه که میخوایم کد مورد نظر روی پایه های DB0 تا DB7 دقیقاً روی LCD نمایش داده بشه و دستور هم برای زمانی هست که کد مورد نظر یه کد کنترلی مثل CLS یا جابجایی مکان نما و ... هست. برای اطلاعات بیشتر جلسه دوم اسمبلی رو بخونید. این پایه در دستور Config بسکام با CD مشخص شده. CD مخفف Command/Data به معنای دستور/ اطلاعات هست که به نظر من دقیق تر از RS مفهوم کار پایه رو میرسونه و بهتر بود روی LCD هم CD چاپ می شد.

در کل با توجه به نکات بالا به این نتیجه میرسیم که برای شروع کار با این LCD حتماً به یک رفرنس خوب نیاز داریم و این مقاله این نیاز رو برآورده می کنه. شماتیک زیر نحوه بستن LCD مدل TS240128 رو به میکروی ATmega16 از خانواده AVR نمایش میده. روی عکس کلیک کنید تا بزرگ بشه.

در این قسمت هم سورس پروژه راه اندازی LCD گرافیکی مدل TS240128 در محیط Bascom آورده شده. در بخش کد Config نمایشگر توجه داشته باشید که Mode نام هیچ پایه ای از LCD نیست و فقط اندازه پهنای فونت رو مشخص میکنه. مثلا اگه روی 8 باشه هر سطر 30 تا کاراکتر رو جا میده و اگه 6 باشه داخل هر سطر 40 تا کاراکتر جا میگیره. ما فقط 8 رو امتحان کردیم. (توجه: این سورس رو کپی پیست نکنید! کد اصلی همراه با فایلهای ضمیمه bgf انتهای همین صفحه برای دانلود قرار داده شده که باید اونو اجرا کنید. این کد فقط برای بررسی سطحی آورده شده).

'GLCD TS240128 (T6963) By Behnam Zakizadeh @ 17.01.92 [2013]
'Web: http://avr64.com

'Rev1.0: 17.06.93  [Sep.2014]
'Compiler: Bascom FULL (2.0.7.7)

$regfile = "m16def.dat"
$crystal = 1000000
$hwstack = 64
$swstack = 64
$framesize = 64
'$projecttime = 1

'GLCD
config Graphlcd = 240 * 128 , Dataport = Portb , Controlport = Portd , Ce = _
 4 , Cd = 5 , Wr = 2 , Rd = 3 , Reset = 6 , Fs = 7 , Mode = 8


Cls
cursor off
waitms 200
Showpic 0 , 0 , p1
wait 2

cls
Showpic 0 , 0 , p2
wait 2

cls
Showpic 0 , 0 , p3
wait 2

dim x as byte

cls
for x = 1 to 16
   locate x,1
   Lcd "LCD-IS-OK-Chip==T6963##240x128"
next x

End
'_______________________________________________________________________________

p1:
$bgf "blk.bgf"

p2:
$bgf "hor.bgf"

p3:
$bgf "ver.bgf"

'end of file

به عنوان نکته آخر جالبه بدونید که چیپ این LCD به T6963 مشهوره و گاهی اوقات و مخصوصاً در دستگاه های صنعتی با این نام شناخته میشه و TS240128 فقط نام اختصاری هست که کارخونه سازنده که فکر کنم تیچ استار باشه برای این نمایشگر کریستال مایع انتخاب کرده.

دانلود سورس، شماتیک، تصاویر و توضیحات پروژه راه اندازی LCD گرافیکی TS240128 با چیپ T6963 در محیط BASCOM (بسکام/بیسکام)



© 2009-2016 AVR64.com