بازدیدها: 116
1
|
VSS
|
—
|
زمين
|
جدول 1
|
2
|
VCC
|
—
|
منبع تغذيه
|
|
3
|
VEE
|
—
|
منبع تغذيه منترل درخشندگي
|
|
4
|
RS
|
I
|
اگرRS=0 باشد ثبات براي دريافت دستورالعمل انتخاب مي شود. (جدول 2)
اگر RS=1 باشد ثبات براي دريافت داده انتخاب مي شود.
|
|
5
|
R/W
|
I
|
نوشتن بر روي LCD يا خواندن از LCD
|
|
6
|
E
|
I
|
گذرگاه داده 8 بيتي
|
|
7
|
DB0
|
I/O
|
گذرگاه داده 8 بيتي
|
|
8
|
DB1
|
I/O
|
||
9
|
DB2
|
I/O
|
||
10
|
DB3
|
I/O
|
||
11
|
DB4
|
I/O
|
||
12
|
DB5
|
I/O
|
||
13
|
DB6
|
I/O
|
||
14
|
DB7
|
I/O
|
جدول2
كد HEX | فرمان دستور العمل | كد HEX | فرمان دستور العمل |
1 | پاك كردن صفحه نمايش | E | نمايش روشن مكان نما روشن |
2 | بازگشت به مكان اول(شروع) | F | نمايش روشن مكان نما روشن چشمك بزند |
4 | كاهش مكان نما (جابجايي مكان نما به چپ) | 10 | جابجايي محل مكان نما به چپ |
6 | افزايش مكان نما (جابجايي مكان نما به راست) | 14 | جابجايي محل مكان نما به راست |
5 | جابجايي نمايش به راست | 18 | كل صفحه نمايش به چپ جابجا شود |
7 | جابجايي نمايش به چپ | 1C | كل صفحه نمايش به راست جابجا شود |
8 | نمايش خاموش مكان نما خاموش | C0 | مكان نما به آغاز خط دوم برود |
A | نمايش خاموش مكان نما روشن | 38 | سازمان دهي 2 خط و ماتريس 5*7 |
C | نمايش روشن مكان نما خاموش | — | — |
آدرس مكان نما در بعضي از LCD ها (كدها در مبناي هگز مي باشد)
8F | تا | 83 | 82 | 81 | 80 | آدرس شروع خط اول | LCD 2*16 |
CF | تا | C3 | C2 | C1 | C0 | خط دوم | |
93 | تا | 83 | 82 | 81 | 80 | خط اول | LCD 1*20 |
93 | تا | 83 | 82 | 81 | 80 | خط اول | LCD 4*20 |
D3 | تا | C3 | C2 | C1 | C0 | خط دوم | |
93 | تا | 83 | 82 | 81 | 80 | خط اول | LCD 2*16 |
D3 | تا | C3 | C2 | C1 | C0 | خط دوم | |
A7 | تا | 97 | 96 | 95 | 94 | خط سوم | |
E7 | تا | D7 | D6 | D5 | D4 | خط چهرم | |
A7 | تا | 83 | 82 | 81 | 80 | خط اول | LCD 2*40 |
E7 | تا | C3 | C2 | C1 | C0 | خط دوم |
مثال LCD 1*16 برنامه اي بنويسيد كه ال سي دي عبارت MOHSEN GHASEMIAN را بر روي LCD نمايش دهد؟ سخت افزار: پايه هاي ديتا D0-D7 را به پورت ميكروكنترلر 8051 وصل مي كنيم و پايه هاي كنترلي را به صورت زير اتصال مي دهيم: E=P3.2 و R/S=P3.0 البته ما در طراحي سخت افزار آزادايم تا هر پورتي را به هر نحوي كه بخواهيم برنامه ريزي كنيم.MGH ابتدا برنامه را به صورت جزء به جزء مي نويسيم:
برنامه اصلي:
توضيح: زير برنامه LCD با توجه به اعدادي كه در جدول 2 گفته شده برنامه ريزي شده وظيفه اين زير برنامه پاك كردن صفحه نمايش است.MGH زير برنامه :DATALCDوظيفه اين زير برنامه اين است كه به حافظه ROM ميكرو رفته و با توجا به آدرس هاي كه ما به او ميدهيم اطلاعات اين خانه ها براي فرستادن به LCD از حافظه مي آورد. نكته هر بار وفقط يك خانه 8 بيتي كه معادل يك كاراكتر است را براي ما مي آورد پس ما بايد به تعدا كاراكتر هاي LCD اين برنامه تكرار نمايم كه در اين مثال با توجه به جدول خانه اولي يعني 80H را در R7 قرار داديم و به كمك يك دستور مقايسه اين زير برنامه را 16 بار تكرار مي كنيم تا جمله را براي ما بنويسد.MGH زيربرنامهWRT: وظيفه اين زير برنامه با توجه به جدول2 ثبات RS ال سي دي را صفر مي كند و اين بدين معني است كه LCD را براي گرفتن دستور العمل آماده مي كند.MGH زيربرنامهDATAWRT: وظيفه اين زير برنامه با توجه به جدول2 ثبات RS ال سي دي را يك مي كند و اين بدين معني است كه LCD را براي گرفتن ديتا آماده مي كند.(يك عدد كاراكتر)MGH زيربرنامهDELAY:اين زير برنامه برنامه تاخيري مي باشد كه در اصل مي توان با آن سرعت نوشت كاراكتر ها را تنظيم كرد.MGH مثال LCD 2*20 برنامه اي بنويسيد كه در خط اول عبارت MOHSEN GHASEMIN را بنويسد و در خط دوم عبارت WWW.PICPARS.COM را بنويسد؟ برنامه طبق مثال قبلي مي باشد و تنها دو زير برنامه به آن اضافه شده كه عبارت اند از: يك زير برنامه اي براي سازمان دهي LCD دوخطي. و زير برنامه دوم براي نوشتن روي خط دوم LCD مي باشد!MGH
برنامه اصلي: