# برنامه نویسی میکروکنترلر (MicroController) ها و MicroProcessor ها > برنامه نویسی سیستم های Embeded > AVR >  اتصال lcd به پایه های دلخواه میکرو در codevision

## hamed aj

با سلام خدمت دوستان

چطوری میشه پایه های یک lcd رو به بیش از یک پورت در codevision متصل کرد؟
مثلاً D4-D7 به PORT*B*.4-PORT*B*.7 متصل شود و RS به PORT*D*.2 و ...

ظاهرا باید فایل Lcd.lib دستکاری بشه. اما نمی دونم چطوری؟

----------


## farzadsw

متاسفانه تابع های کتابخونه lcd بر اساس پورت نوشته شده نه پین . برای همین یا باید فایل lcd.lib رو با یه برنامه ای باز کنید (مثل wordpad ) و تغییرش بدید. اما چون هم زبان فایل کتابخونه اسمبلی هست و هم تغییرات زیادی لازمه داده بشه ، به نظر من بهتره خودتون برای lcd تابع بنویسید ، و اگرم خواستید به صورت یه فایل هدر ذخیره کنید تا تو برنامه های بعدی هم بتونید استفاده کنید.

البته نیازی نیست از صفر برنامتون رو بنویسید ، میتونید از کدهای این پروژه که برای winavr هست (به زبان c) استفاده کنید و اگه لازم بود تغییرش بدید:
http://winavr.scienceprog.com/downlo...D_Lib_Demo.zip
کتابخونه ای که برای lcd ازش استفاده کرده پایه های lcd رو 2 دسته کرده : پایه های دیتا و پایه های کنترل.
اطلاعات بیشتر:
http://winavr.scienceprog.com/exampl...d-library.html

----------


## hamed aj

ممنون از توجهتون جناب farzadsw

شما با winavr آشنایی دارید؟ این مشکل رو نداره؟ می خوام ببینم اگر از CV سر تره برم دنبال اون؟ البته از همه لحاظ

----------


## farzadsw

winavr از codevision خیلی بهتره چون:
1.براساس کامپایلر gcc هست ،  یکی از بهینه ترین و بروز ترین کامپایلر های دنیا که چند هزار نفر فقط در توسعه اون همکاری میکنن.
2. چون اپن سورس هست اکثر کسایی که با میکروی avr  سر و کار دارن از اون استفاده میکنن(البته تو خارج). برای همین مثال و پروژه هایی که براش تو اینترنت هست خیلی خیلی از بیشتر از بقیه کامپایلر هاست. به عبارت دیگه اگه تو یه سایت خارجی  یه پروژه برای avr بگذارن به احتمال 90% برای winavr هستش.
3.بازم چون اپن سورسه هروقت خواستی میتونی جدیدترین  نسخه رو بدون نیاز به کرک دانلود کنی.
4. میتونی در کنارش برنامه ویرایش کد Eclise رو هم نصب کنی . اونقت لذت کدنویسی رو متوجه میشی !
5. برای بقیه میکرو ها هم یه نسخه دیگه ازش هست (مثلا WINARM ) یعنی بعدا اگه خواستی کارای پیشرفته تر با میکرو های جدیدتر انجام بدی کارت خیلی راحت میشه.

6.منبع آموزشی انگلیسی براش زیاده . البته آموزش فارسی در حد مقدماتی هم براش هست.


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

----------


## hamed aj

حق با شما بود جناب farzadsw

من موفق شدم با تغییر یک کتابخانه lcd این کار رو در WinAVR انجام بدم.
واقعا چقدر در WinAVR دست آدم باز هست

ممنون از شما دوست عزیز

----------

