۲۳-دى-۱۳۹۰, ۱۴:۲۴:۴۴
سلام.من یک آموزش کد نویسی بسکام رو از همین سایت دانلود کردم.
یک بخش اون رو این زیر گزاشتم.بخش مربوط به ال سی دی گرافیکی.
من نمیدونم این برای چه مدل ال سی دی گفته!
من خودم چند تا ال سی دی گرافیکی توی پروتئوس باز کردم و پایه هاشون رو نگاه کردم.
دیدم مدل LM3228 بیشتر از بقیه بهش شبیهه!
یک برنامه براش نوشتم و امتحان کردم.درست کار میکرد.فایلش زمینست.
اما آیا این ال سی دی دقیقا همونه که توی کتاب گفته؟
آیا این ال سی دی به اندازه ی بقیه معروف هست و میتونم راحت گیرش بیارم؟
بغیر از این دیگه از چه نوع ال سی دی هایی میشه استفاده کرد؟
معروف ترینشون کدومه؟
توی یک کتاب خوندم "آموزش کار با مدل TOSHIBA"
اما هیچ مدلی نزاشته بود!برم مغازه بگم "ال سی دی توشیبا بده"؟
این ال سی دی توشیبا همونیه که کتاب گفته؟
[attachment=7045]
یک بخش اون رو این زیر گزاشتم.بخش مربوط به ال سی دی گرافیکی.
کد:
رافيکی LCD<<.
گرافيکی بحث ميشود. lcd کارکتری بحث شد، حال در مورد lcd قبلا در مورد
ها دارای پايه های زير ميباشد. lcd های گرافيگی در نمونه های مختلف در بازار وجود دارد ، اين lcd
که به 0 ولت متصل ميشود. lcd پايه تغذيه : vss- 1
که به 5 ولت متصل ميشود. lcd پايه تغذيه : vdd- 2
اطلاعات را از طريق اين 8 پايه رد lcd ) ميباشد lcd اين 8 پايه مربوط به ديتای (dataport) ديتا پورت d تا 7 d0 – 3
وبدل ميکند) که به يکی از پورت های ميکرو که در برنامه مشخص می شود متصل ميشود .
که شامل پايه های زير است و به يکی از پورت های ميکرو که در برنامه مشخص ميشود متصل : controlport- 4
به کار ميروند . lcd ميشود.اين پايه ها برای کنترل
که به يکی از پايه های ميکرو که در برنامه مشخص ميشود متصل ميگردد . ، lcd ( پايه ريست (باز نشانی : rst -
است ، که به يکی از پايه های ميکرو که در برنامه مشخص ميشود متصل lcd اين پايه برای فعال کردن چيپ : ce -
ميگردد .
کد را ميگيرد و اگر 0 باشد lcd اين پايه مشخص کننده ارسال کد يا ديتا است (بدين صورت که اگر اين پايه 1 باشد : cd -
ديتا را ميگيرد (ديتا فرمانها می باشد و کد متن ها و اشکال است ))، که به يکی از پايه های ميکرو که در برنامه lcd
مشخص ميشود متصل ميگردد .
است ، که به يکی از پايه های ميکرو که در برنامه مشخص ميشود متصل ميگردد . lcd اين پايه برای نوشتن در : wr -
است ، که به يکی از پايه های ميکرو که در برنامه مشخص ميشود متصل ميگردد . lcd اين پايه برای خوانده از : rd -
است ، که به يکی از پايه های ميکرو که در برنامه مشخص ميشود متصل lcd اين پايه برای مشخص کردن فونت : fs -
ميگردد .
هر ولتاژديگر متصل ميشود. vcc- يا vcc به lcd است که با توجه به نوع lcd پايه کنترل کنتراست : vo يا con - 5
گرافيکی در بسکام به صورت زير است : lcd با توجه به مطالب بالا پيکر بندی
Config GRAPHLCD = type , DATAPORT = port, CONTROLPORT=port , CE = pin , CD =
pin , WR = pin, RD=pin, RESET= pin, FS=pin, MODE = mode
است که متواند يکی از موارد زير باشد : lcd نام : type
......128 * 240 , 48 * 160 , 64 * 128 ,128 *128 ,64 * 240
Config GRAPHLCD =64*240
يکی از پورت های دلخواه ميکرو است مانند : : port
DATAPORT = portd, CONTROLPORT=portb
مشخص شده است: مثال: CONTROLPORT يکی از پايه های دلخواه پورتی است که در قسمت : pin
Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2
, Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8
است که ميتواند 6 يا 8 باشد lcd مشخص کننده تعداد ستون متنی : mode
شرح پايه ها در مثال با لا مطابق زير است:
lcd شماره پايه*******محل اتصال**************نام پايه بر روی
GND ******************** GND***************1
GND ********************GND***************2
V**********************+5V5***************3
V- *******************-9V potmeter9**********4
WR********************PORTC.0 ************5
RD*********************PO RTC.1************6
CE****************** **PORTC.2************ 7
C/D********************PORTC.3************ 8
NC ***************** not conneted***********9
RESET******************PORTC.4***********10
D0-D7*******************porta *********18-11
FS ********************PORTC.5***********19
NC ******************not connected ******* 20
گرافيکی: lcd دستورات مربوط به
: lcd >دستور
نمايش داد مانند: lcd با اين دستور ميتوان متن يا کارکتری را بر روی
Lcd "MCS Electronics "
Lcd "Mdgdgsdsscs "
: locate >دستور
گرافيکی نمايش داد ، مانند: lcd با اين دستور ميتوان متن يا کاراکتری را در مکان دلخواه بر روی
Locate 16 , 1
Lcd "write this to the lower line "
Locate 16 , 5
Lcd "fgghfhghfhgjhj "
: cls >دستور
Cls را پاک کرد و با دستور lcd می توان قسمت متنی Cls Text پاک ميشود . با استفاده از دستور lcd با اين دستور تمام
می توان قسمت گرافيکی را پاک کرد ، مانند : graph
$regfile = "m16def.dat "
$crystal = 8000000
Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2
, Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8
Cls
Wait 1
Locate 1 , 1
Lcd "1nafar "
Locate 2 , 1
Lcd "/*-+234#$% "()*&^^
Locate 3 , 1
Lcd "1234567890123456789012345678901234567890 "
Locate 16 , 1
Lcd "qwertyuiop "
Wait 2
Lcd "jkfjgfghfdh "
Locate 2 , 20
Lcd "546g5h574gh "
Locate 3 , 13
Lcd "hgf547g56jn4h57nj4gf45jh74fg8jm "
Locate 30 , 1
Lcd "qwertyuiop "
Wait 2
Cls Text
End
: pset X , Y, value >دستور
خاموش ميکند ، مانند: value = روشن و به ازای 0 value = به ازای 255 x,y اين دستور يک پيکسل را در مختصات
Pset 10 , 20 , 255
Pset 5, 127 , 255
Pset 10 , 20 , 0
Pset 5, 127 , 0
x= حداکثر مقدار , 239 lcd 240* گرافيکی دارد برای مثال در 128 lcd بستگی به تعداد پيکسل x,y حداکثر مقدار
است . y=127
: CURSOR ON / OFF BLINK / NOBLINK >دستور
کاراکتری دارای يک مکان نما می باشد که با دستور زير ميتوان ان را روشن يا خاموش يا lcd گرافيکی مانند Lcd
چشمک زن يا ثابت قرارداد :
با اين دستور مکان نما روشن می شود (در حالت عادی مکان نما روشن است ). Cursor On
با اين دستور مکان نما خاموش می شود. Cursor off
با اين دستور مکان نما چشمک می زند . Cursor blink
با اين دستور مکان نما ديگر چشمک نمی زند . Cursor noblink
LINE(x0,y0) – (x1,y1), color >دستور
پيکسل پايان خط است (x1,y پيکسل شروع خط و( 1 (x0,y يک خط کشيد ، که( 0 lcd با اين دستور ميتوان در
خطی با رنگ سفيد رسم خواهد کرد .مانند: color= خط با رنگ مشکی و 0 color= و 255
$regfile = "m165def.dat "
$crystal = 8000000
Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2
, Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8
Cls
Cursor Blink
Wait 1
Cursor On
Wait 1
Cursor Off
Locate 1 , 1
Lcd "MCS Electronics "
Locate 2 , 1 : Lcd "T6963c support "
Locate 3 , 1 : Lcd "1234567890123456789012345678901234567890 "
Locate 16 , 1 : Lcd "write this to the lower line "
Wait 2
Cls Text
Line(0 , 0) -(239 , 127) , 255
Line(0 , 127) -(239 , 0) , 255
Line(0 , 0) -(240 , 0) , 255
Line(0 , 127) -(239 , 127) , 255
Line(0 , 0) -(0 , 127) , 255
Line(239 , 0) -(239 , 127) , 255
Wait 3
Cls Graph
End
: CIRCLE(x0,y0) , radius, color >دستور
دايره با color= شعاع دايره می باشد و 255 radius مرکز دايره و (x0,y ميکشد، ( 0 lcd اين دستور يک دايره بر روی
دايره با رنگ سفيد (دايره را پاک ميکند) رسم خواهد کرد . color= رنگ مشکی و 0
SHOWPIC x, y , label >دستور
گرافيکی نمايش ميدهد . lcd اين دستور يک عکس را بر روی
کارکتری است ... lcd ديگر دستورات مانند
گرافيکی: lcd >>مراحل نمايش عکس بر روی
اگر عکس مورد نظر رنگی است ان را به محيط فتوشاپ برده و در انجا ان را به عکس سياه وسفيد تبديل کنيد سپس ان
.( LCD و در اندازه استاندارد ذخيره کنيد (اندازه صفحه نمايش BMP. و با پسوند point را با برنامه
را بزنيد و در load را انتخاب کنيد ، در پنجره باز شده گزينه Graphic Converter گزينه TOOLS سپس از منوی
ذخيره کرديد ،باز کنيد. BMP. پنجره باز شده عکس مورد نظر که با پسوند
در کنار برنامه ذخيره کنيد . BGF را بزنيد و فايل را با نام دلخواه وبا پسوند save بعد گزينه
نام برچسبی است که label . نمايش دهيد x, y عکس را در مختصات SHOWPICE x, y , label با استفاده از دستور
اشاره به عکس مورد نظر که در کنار برنامه اصلی bgf "mcs.bgf$ " عکس مورد نظر در ان قرار ميگيرد . برچسب
قرار گرفته . مانند:
در مثال زير يک lcd128 * با چيپ راه انداز گرافيکی 240 T6963c ، پيکر بندی شده است ، نام تصويری که روی
lcd نمايش داده ميشود qwe است که در محل ذخيره برنامه ذخيره شده است در زير نام پايهای lcd و محل اتصال انها در
ميکرورا مشاهده ميفرماييد:
1- Gnd - -------- - - ---- - - - - Gnd
2- Gnd - - --- - - - - - - - - - - Gnd
3- 5v - - - - - - - - - - - - - + 5v
4 -9v - - - - - - - - - - - - - - - -9v Potmeter
5- / Wr - - - - - - - - - - - - - -portc.0
6- / Rd - - - - - - - - - - - - - - -portc.1
7- / Ce - - - - - - - - - - - - - - - - - Portc.2
8- C / D - - - - - - - - - - - - - - - Portc.3
9- Nc - - - - - - - - - - - - - - - - - - - -not
10- Reset - - - - - -- - - - - - -portc.4
11 -18 --d0 -d7---------------------------- Pa
19- Fs - - - - - - - - - - - - - - - - -portc.5
20- Nc ----------------------------Not Connected
برنامه:
$regfile = "m16def.dat"
$crystal = 12000000
Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2
, Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8
Dim X As Byte , Y As Byte
Cls
Cursor Off
Wait 1
Locate 1 , 1
Lcd "qwertyuiokjjgf"
Locate 2 , 1 : Lcd "T6963c support"
Locate 3 , 1 : Lcd "123456789"
Wait 2
Cls Text
For X = 0 To 140
Pset X , 20 , 255 ' set the pixel
Next
Wait 2
Showpic 0 , 0 , Plaatje
Wait 2
Cls Text ' clear the text
End
Plaatje:
$bgf "qwe.bgf"
من خودم چند تا ال سی دی گرافیکی توی پروتئوس باز کردم و پایه هاشون رو نگاه کردم.
دیدم مدل LM3228 بیشتر از بقیه بهش شبیهه!
یک برنامه براش نوشتم و امتحان کردم.درست کار میکرد.فایلش زمینست.
اما آیا این ال سی دی دقیقا همونه که توی کتاب گفته؟
آیا این ال سی دی به اندازه ی بقیه معروف هست و میتونم راحت گیرش بیارم؟
بغیر از این دیگه از چه نوع ال سی دی هایی میشه استفاده کرد؟
معروف ترینشون کدومه؟
توی یک کتاب خوندم "آموزش کار با مدل TOSHIBA"
اما هیچ مدلی نزاشته بود!برم مغازه بگم "ال سی دی توشیبا بده"؟
این ال سی دی توشیبا همونیه که کتاب گفته؟
[attachment=7045]