PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نحوه اتصالlcd کاراکتری 16*2 به میکرو



mostafa27
01-08-2011, 15:40
سلام خدمت دوستان
می خواستم LCD کاراکتری 16*2 (16 پایه) را به برد eke2lpc متصل کنم. در مجله شماره 9 صفحه 54 نحوه اتصالات بیان شده(پایه rs به پایه p0.0، پایه enable به پایه p0.1،پایه های db4 تا db7 به ترتیب به پایه های p0.2 تا p0.5). ولی از پایه p0.2 و p0.3 که مربوط به ارسال سریاله استفاده کرده. من هر چی گشتم ندیدم این دو تا پایه را به عنوان خروجی برد استفاده کرده باشه!
در قسمت" کلیه آموزش ها و نکات مهم برد eke2lpc v1.0 کویرالکترونیک" آقای pooriya زحمت کشیدند برنامه lcd کاراکتری را گذاشتند. ولی توضیحی داده نشده که نحوه اتصال پایه ها چگونه می باشد؟
می خواستم یک راهنمایی بفرمایید که در هر مورد چطوری باید این کار را انجام بدم؟
ممنون

alireza9900
01-08-2011, 17:00
سلام
پایه ها رو باید اینطوری وصل کنید:
پایه های 1، 3، 16 به gnd
پایه های 2، 15 به vcc
پایه 5 به gnd
پایه های 4، 6 به دو تا از پایه های میکرو از یک پورت(مثلا P1.10 و P1.11)
پایه های 11، 12، 13، 14 هم هر کدوم به یک پایه از یک پورت (مثلا P1.12 و P1.13 و P1.14 و P1.15)
توی برنامه هم باید قبل از اینکه هدر lcd رو include کنید تعاریف زیر رو اضافه کنید(با توجه به پورت و پایه هایی که استفاده کردید)
مثلا برای مثال هایی که بالا زدم:



#define LCD_PORT_1 // Port 1 --> P1.x
#define LCD_RS 10
#define LCD_E 11
#define LCD_DB4 12
#define LCD_DB5 13
#define LCD_DB6 14
#define LCD_DB7 15

موفق باشید

pooriya
01-08-2011, 21:21
با سلام.
دوستانی که از کتابخانه کاراکتری موجود در قسمت " کلیه آموزش ها و نکات مهم برد eke2lpc v1.0 کویرالکترونیک" استفاده می کنند توجه داشته باشند که نحوه وصل پایه ها بصورت پیش فرض در اول سورس کاملا مشخصه:

- DB4 = P1.24
- DB5 = P1.25
- DB6 = P1.26
- DB7 = P1.27
- E = P1.31
- RW = P1.29
- RS = P1.28

اما در مورد نحوه وصل، ابتداباید در این قسمت شماره پورت مورد نظر خود تعیین کنید(در سورس portlcd.h که هر دو پورت fast و معمولی را ساپورت می کند):

#if USE_FIO
#define IO1DIR FIO1DIR
#define IO1SET FIO1SET
#define IO1CLR FIO1CLR
#define IO1PIN FIO1PIN
#else
#define IO1DIR IO1DIR
#define IO1SET IO1SET
#define IO1CLR IO1CLR
#define IO1PIN IO1PIN
#endif

و بعد شماره پینهای مربوط به میکرو که قراره به lcd وصل بشه که به صورت هگز یا دسیمال مشخص میشه:

/* LCD IO definitions */
#define LCD_E 0x80000000 /* P1.31 */
#define LCD_RW 0x20000000 /* P1.29 */
#define LCD_RS 0x10000000 /* P1.28 */
#define LCD_CTRL 0xB0000000 /* P1.28,P1.29,P1.31*/
#define LCD_DATA 0x0F000000 /* P1.27,P1.26,P1.25P1.24*/

mzarkoob
01-08-2011, 22:50
با سلام
من هم در راه اندازی LCD مشکل دارم. با راهنمایی دوست خوبمان alireza9900 (You can see links before reply) اتصالات را دقیقا انجام دادم و البته چند بار هم چک کردم. وقتی :
پایه های 1، 3، 16 به gnd
پایه های 2، 15 به vcc
پایه 5 به gnd
LCD روشن می شود. ولی با ریختن برنامه مجله 9(هر دو مثالش) روی میکرو جوابی نمی گیرم! هیچ چیز نشون نمیده .فکر می کنید ایراد از کجا باشه؟
برای سهولت در اتصالات از پورت صفر استفاده کردم و این تغییرات را دادم:
#define LCD_PORT_0 // Port 0 --> P0.x
#define LCD_RS 10 // 4 LED
#define LCD_E 11 // 6 LED
#define LCD_DB4 4 // 11 LED
#define LCD_DB5 5 // 12 LED
#define LCD_DB6 6 // 13 LED
#define LCD_DB7 7 // 14 LED


برنامه را هم از یک پست انجمن:
You can see links before reply (You can see links before reply)

که آقای هاشمی(1nafar) قرار داده بودند گرفتم. و ضمیمه هم کردم.
من با IAR کار نکردم. ولی نصبش کردم و می خوام ببینم برنامه های آقای pooriya به چه شکل میشه.
تشکر

alireza9900
02-08-2011, 00:34
توی کدتون تابع ()lcd_init رو اول باید صدا بزنید تا lcd آماده به کار بشه.(اول تابع main اینکارو بکنید مثلا)
احتمال زیاد مشکل از همین بوده.

mzarkoob
02-08-2011, 16:12
با سلام
من خیلی به این برنامه ها و اتصالات ور رفتم.:unh: به غیر از اینکه صفحه LCD روشنه هیچ چیز تا الان مشاهده نکرده ام و تا الان حسرت به دل موندیم یه چیزی روی این LCD ببینیم!
طبق فرموده آقا علیرضا، دستور lcd_init(); را هم بعد از تابع main اضافه کردم. ولی ....
فکر کنم ایراد نرم افزاری باشه. کسی از دوستان این برنامه را جواب گرفته؟(ضمیمه اول)
در مورد برنامه آقای pooriya: چون من زیاد با IAR کار نکردم، بهش هم وارد نیستم. فقط میخوام فایل هگز برنامه آقای pooriya را باینری کنم و با بوت لودر بریزم در میکرو. تنها فایل هگز در\Release\Exe با نام L.hex می باشد.(البته طبق آموزش های مجله15 فکر می کردم باینری بهمون میده) . ولی دریغ از جواب! نکته ای که به ذهنم میرسه چون با بوت لدر ریختم آدرس هگز باید از0x2000 باشه.نمی دونم در این برنامه که با IARمی باشد، این طور هست یا نه؟و اگه این طور هست و حدسم درست باشه باید چطوری درستش کرد؟(ضمیمه دوم)
من اتصالات هر دو برنامه(keil و IAR) را مثل هم کردم(تصویر در پوشه ضمیمه ها) :
- DB4 = P1.24
- DB5 = P1.25
- DB6 = P1.26
- DB7 = P1.27
- E = P1.31
- RW = P1.29
- RS = P1.28


تا مرتب لازم نشه اتصالات را عوض کنیم.(فقط اگه در این برنامه اول در keil ، LCD_E 31 باشه 30 تا warning میده! برای همین گذاشتم LCD_E 30)
با تشکر

pooriya
04-08-2011, 11:13
سلام

راه اندازیش خیلی راحتر از اونی هست که فکر میکنید،چون می گید با keil کار کردید یه پروژه تو keil ایجاد کنید و کتابخونه ها رو تو پوشه مورد نظر کپی کرده و استفاده نمائید(البته من با keil تست نکردم ولی نباید مشکلی داشته باشه)
فایل های باینری و هگز رو هم دوباره می زارم.

mzarkoob
04-08-2011, 16:37
با تشکر از راهنماییتان
بله من فایل هگز را با فلاش مجیک ریختم رو میکرو و با برقرار کردن اتصالات برنامه کار کرد!:o (از بس به این برنامها و اتصالات lcd ور رفتم، دو شب پیش خواب دیدم یه برنامه ریختم تو میکرو و lcd کار کرد!!! که الان تعبیر شد:018: ) البته حدسم درست بود که گفته بودم این فایل هگز آدرسش از صفر شروع میشه و من چون این را باینری کرده بودم و با بوت لودر میریختم در میکرو کار نمی کرد. حالا دیگه این تنظیمات را در IAR نمی دونم چیه که آدرس از 0x2000 شروع بشه(برای کسانی که می خواهند با بوت لودر بریزند)
کاری که گفته بودید را برای keil انجام دادم. ولی خطا زیاد میده(ضمیمه کردم). ظاهرا بعضی دستورات در IAR متفاوته با keil

pooriya
04-08-2011, 17:45
سلام

این فایل رو من برای iar تغییر داده بودم ،احتمال داشت یه سری error داشته باشه،به هر حال خدا رو شکر که را ه ندازی شد ،برای keil هم در این پست ضمیمه کردم هیچ خطائی هم نداره ،البته روی سخت افزار تست نکردم خدتون یه امتحانی بکنید.

mzarkoob
05-08-2011, 00:34
دست شما درد نکنه. برنامه بدون خطا کامپایل میشه ولی به هیچ وجهی نتونستم بریزمش تو میکرو. با کیل که می خوام بریزم این خطا را میده:
Hex file programming failed: Error programing the Hex file. RAM locations 0x40000120 to 0x400001FF are used by the bootloader. Please ensure your RAM based firmware does not use these locations. (F:\program ARM\Total education\PortLCD\Obj\portlcd_debug.HEX)

کلا میکرو را با فلاش مجیک پاک کردم تا نگه این آدرس مال بوت لودره(در ISP گزینه erase flash و تیک erase all را می زنم وok)
با فلاش مجیک هم نمیشه و همین طوره. آدرس هگز را هم که از0x40000000 تغیر می دادم اصلا برنامه کامپایل نمی شه!!!cry::

mostafa27
06-08-2011, 17:53
من هم نتونستم با کیل از برنامه های که در مجله هست برای ال سی دی جواب بگیرم. از دوستان کسی هست که ال سی دی را با کیل راه اندازی کرده باشه؟ ظاهرا ایراد نرم افزاریه. از دوستانی هم که این برنامه ها را در مجله قرار دادند تقاضا دارم رسیدگی کنند.
خیلی ممنون
"

mzarkoob
07-08-2011, 04:18
یه سوال از نحوه اتصالات مجله: در مجله 9 پایه 5 LCD به زمین متصل شده ولی در برنامه آقای pooriya این پایه(RW) به یک پایه میکرو(p1.29) وصله. من امتحان کردم اگه قرار باشه این پایه همیشه صفر باشه وقتی برنامه آقای pooriya را میریزم در میکرو در حالی که این پایه RW صفره، جواب نمی ده! :sa:در نحوه اتصال به یک مدل دیگه هم RW زمین نیست(ضمیمه کردم)
من هنوز نتونستم ایراد این برنامه مجله را پیدا کنم :(:(:((همین طور ایرادی که در تایپیک بالا #10 مطرح کردم:cry:). از دوستان کسی تونسته این LCD کاراکتری در کیل را با این برد راه اندازی کنه؟

mzarkoob
09-08-2011, 02:08
آقا یعنی این lcd کاراکتری(برنامه مجله9) را هیچ کس نتونسته تو کیل راه بندازه با این برد !!!!!!!!!!!!!!!!!:sa:؟؟؟؟؟؟؟؟؟؟؟
cry::cry::cry::cry::cry::cry::cry::cry::cry::cry:: cry::cry::cry::cry::cry::cry::
cry::cry::cry::cry::cry::cry::cry::cry::cry::cry:: cry::cry::cry::cry::cry::cry::

mzarkoob
10-08-2011, 04:24
یه مثال پیدا کردم که کارمون را با کیل انجام میده:018: و البته در قسمت کلیه مثالهای کاربردی هم گذاشتم. همین طور که میدانیم هدف فقط استفاده تنها از lcd نیست بلکه در حین یک برنامه، اگر لازم شد چیزی را نمایش دهد بدلیل سهولت در راه اندازیش از اون استفاده می کنیم.(بماند که ما کلی گشتیم تا یه چیزی پیدا شد که جواب بده!!!:0013:) مثلا در ADC (که در قسمت مثالهای کاربردی هم با led گذاشتم) با تغییر ولوم مقدار را روی lcd نشان بدهد. یا در پورت سریال داده ارسالی از کامپیوتر را نشان بدهد. قصه را کوتاه کنم :
مشکل من الان اینه که فکر می کردم در یک برنامه اصلی اگر فایل هگز (LCD.h) را include کنم و LCD.c را Add کنم مشکلی نداریم و از دستورات مربوط می توان استفاده کرد.:mrgreen: درستش هم همینه. خوب من روی این برنامه(ضمیمه اول) که قرار دادم همین کار رو کردم. ولی این طوری جواب نمیده!! وقتی در پوشه اصلی اجرا میشه و فایل هگز را ایجاد میکنه جواب میده ولی وقتی از پایه ، خودمون یه پروژه تعریف کنیم و از یک فایل اصلی (دقیقا برنامه اول) استفاده کنیم و فایل هگز (LCD.h) را include کنم و LCD.c را Add کنم(ضمیمه دوم) و نتیجه کامپایل را بریزم در میکرو هیچ چیزی مشاهده نکردم! یعنی hex فایل اول را بریزم جواب میگیرم ولی فایل دوم نهcry::. جالبه در startup فایل اول اصلا power control نداریم.
از دوستان کسی دلیلش را میدونه؟
خیلی ممنون میشم اگه کسی کمک کنه:hi:

mzarkoob
14-08-2011, 03:32
:cry::cry::cry::cry::cry::cry:
:cry::cry::cry::cry::cry::cry:

mo2026
11-11-2011, 15:58
سلام من ال سی دی کاراکتری رو با lpc21xx راه انداختم
کاملاً تست شده .
میتونید استفاده کنید.

mo2026
11-11-2011, 16:05
البته فایل هدر برای lpc213x بود که کمی تغییرش دادم

mzarkoob
11-11-2011, 18:20
من در در eca که مطرح کردم بعد از مدتها! یکی از دوستان برنامه ای گذاشتند که مشکلات مطرح شده را نداشت
لینک (You can see links before reply)
دیگه یادم نبود در ادامه این موضوع را مطرح کنم . شما که مطرح کردید یادم افتاد!

shayanmelody
29-11-2011, 14:49
سلام به همه دوستان.
من بارها و بارها ال سی دی کاراکتری رو بدون هیچ مشکلی راه اندازی کردم با برد lpc2378 شرکت کویر.فقط یک فایل lcd.h رو باید add کنیم و هیچ خبری از lcd.c هم نیست ! به راحتی کار با بسکام اولین بار ، نه ، ببخشید ! دومین بار راه انداختمش ! اولین بار بدلیل این راه نیفتاد چون من از پورت صفر داشتم در حالت Fast استفاده میکردم که برای اینکار بیت صفرم رجیستر SCS باید 1 بشه و من اینکار رو نکرده بودم !
فایل پروژه رو هم قرار میدم برای اونهایی که احیانا هنوز مشکل دارند !
فقط برنامه رو نگاه کنید که چقدر ساده هست.

agape
29-11-2011, 18:56
این به عنوان پاسخ نیست فقط گلایه هست!
دوستان خیلی شاهد این دست سوالات هستیم ! برای افرادی که میکروی avr کار میکنن پرسیدن این دست سوالات دور از ذهن نیست خوب آدم خودشو توجیح میکنه که آره این دوست گرامی مراحل آموزشی رو طی میکنه ولی برای عزیزانی که آرم رو شروع کردن حداقل باید متصور باشیم که از قدرت برنامه نویسی معقولی برخوردار هستن و در ضمن قدرت تحلیل بالایی داشته باشن !
پس بیایید قرارداد کنیم که قبل پرسیدن سوالی خوب در موردش تحقیق کنیم که لذت خود فراگرفتن خیلی بیشتر از کمک خواستن است !

mzarkoob
01-12-2011, 20:52
.
من بارها و بارها ال سی دی کاراکتری رو بدون هیچ مشکلی راه اندازی کردم با برد lpc2378 شرکت کویر.
فایل پروژه رو هم قرار میدم برای اونهایی که احیانا هنوز مشکل دارند !

با سلام. آمدی جانم به قربانت ولی حالا چرا!!! ولی بازم تشکر


دوستان خیلی شاهد این دست سوالات هستیم !

بعضی مواقع ما و دوستان بدون سرچ کردن یه سوالی می کنیم که با یه سرچ کوچیک به جواب می رسیم. حتی گاهی اعضای دایم هم حواسشون نیست و یه تایپیک میزنند بعد میبینند ...
یادم سه چهار ماه پیش! که این سوال را داشتم (و اوایل کارم بود)قبلش هر چی گشتم برنامه های موجود جواب نمی داد. نه در مجله و نه در ... عجیب هم بود... وقت این را هم که از بیس خودم انجام بدم واقعا نداشتم.

این به عنوان پاسخ نیست فقط گلایه هست!

ای بابا ما باید گلایه کنیم که چرا این موضوع به این سادگی مورد بی لطفی واقع شد!


پس بیایید قرارداد کنیم که قبل پرسیدن سوالی خوب در موردش تحقیق کنیم که لذت خود فراگرفتن خیلی بیشتر از کمک خواستن است !
جمله من اینه : پس بیایید قرارداد کنیم که قبل پرسیدن سوالی خوب در موردش تحقیق کنیم و اگر به نتیجه نرسیدیم سوال کنیم.
با تشکر و احترام:hi:

mzarkoob
24-12-2011, 10:46
سلام به همه دوستان.
من بارها و بارها ال سی دی کاراکتری رو بدون هیچ مشکلی راه اندازی کردم با برد lpc2378 شرکت کویر.فقط یک فایل lcd.h رو باید add کنیم و هیچ خبری از lcd.c هم نیست !
با سلام
یکی دو هفته پیش اتفاقی این برنامه را اومدم اجرا کنم خطا میده که lcd.h وجود ندارد!

_c.C(11): error: #5: cannot open source input file "lcd.h": No such file or directory

shayanmelody
24-12-2011, 12:11
هدرش رو قرار ندادم ؟؟؟؟؟؟؟؟؟؟؟!!!!!!!!!!!!!
به زودي ميزارمش .

mzarkoob
24-12-2011, 12:59
هدرش رو قرار ندادم ؟؟؟؟؟؟؟؟؟؟؟!!!!!!!!!!!!!
به زودي ميزارمش .
ii998)ii998)
البته باید ببخشید دیر گفتم. تازه اومدم وسط ارسال و دریافت سریال چیزی که اومده را روی lcd نشون بدم رفتم سراغ برنامه شما با خیال راحت استفاده کنم دیدم این جوریه و ...
برنامه ای هم که در بالا گفتم در eca یکی از دوستان گذاشتند وسط کار که ارسال روش انجام میدیم جواب نمی ده ولی به تنهایی میده!

shayanmelody
24-12-2011, 13:16
اين هدر رو تست كن.

nima_zeus
12-02-2012, 12:23
سلام به همه

من یک ولت متر با lcd و atmega8 درست کردم وقتی ای سی رو برای اولین بار پروگرم کردم مدار درست کار کرد

ولی فردای همون روز دیگه مدار چیزی نشون نداد!!!!!cry::همه چیز رو هم چک کردم

پروگرمر من isp و وقتی می خوام برای دومین بار پروگرم کنم ای سی پروگرم نمیشه (نه تنها این ای سی بلکه هر چی ایسی دارم رو پروگرم نمی کنه)

ممنون میشم کمک کنید

Doloop
12-02-2012, 14:32
اسم پروگرمرت چیه؟
چه پیغامی میده؟
اسم کامپایلر رو هم بگو؟

nima_zeus
12-02-2012, 18:11
اسم پروگرمرت چیه؟
چه پیغامی میده؟
اسم کامپایلر رو هم بگو؟

عکسش رو گذاشتم

از این نرم افزار استفاده می کنم( progisp )

این پیام رو میده chip enable program error

sadmonew
12-02-2012, 20:58
عکسش رو گذاشتم

از این نرم افزار استفاده می کنم( progisp )

این پیام رو میده chip enable program error
سلام:hi:
مهندس از كدوم ورژن ProgISP استفاده ميكني؟
پروگرمرتون همون USBasp؟ درسته؟

nima_zeus
12-02-2012, 21:14
سلام:hi:
مهندس از كدوم ورژن progisp استفاده ميكني؟
پروگرمرتون همون usbasp؟ درسته؟

ورژن 1.6.6

اره درسته

sadmonew
12-02-2012, 21:40
سلام
شما از كريستال داخلي ميكرو استفاده ميكني؟
اگه ميخواي ميكروتون رو پروگرم كنيد يه كريستال 4MHz يا 8MHz به پيناي ميكرو وصل كنيد.
حالا چك كنيد ببينيد جواب ميده؟ اگه نداد بازم ميگم چيكار كنيد.

nima_zeus
12-02-2012, 22:05
مهندس درست نشد

اره من از کرستال داخلی استفاده میکنم

این فیوز بیت ها هم فعالن
cksel3=0
cksel2=0
cksel1=0
cksel0=1
sut0=0
sut1=1

sadmonew
13-02-2012, 13:55
... وقتی می خوام برای دومین بار پروگرم کنم ای سی پروگرم نمیشه (نه تنها این ای سی بلکه هر چی ایسی دارم رو پروگرم نمی کنه)...
سلام:hi:
شما يه بار ديگه درايور پروگرمرتون رو نصب كنيد. شايد مشكل از اون باشه؟
البته اينطور كه شما گفتين اگه هيچ ميكروي ديگه رو نميتونه شناسايي كنه يا پروگرمر مشكل داره؟ يا همه ميكروها مشكل دارن(البته اين مساله خيلي بعيد به نظر ميرسه.)
يه راه اينه كه تو مسير اتصال بين پين هاي MOSI , MISO , SCK, RESET يه مقاومت 100 اهم بذاريد.
البته ميتونه مشكل اين باشه كه ميكروتون قفل شده و يا فيوزبيت مربوط به كريستالو روي كريستال خارجي تنظيم كردين(به اشتباه)
(البته همه ميكروها رو بعيد ميدونم يهو با هم قفل شده باشن.)