آی پی امداد
آی پی امداد
آریا الکترونیک parcham تکشو

پاسخگویی به سوالات مربوط به میکرو کنترلر هاي AvR

saegheh_0836

کاربران vip(افتخاری)
vip افتخاری
کاربر
2007-09-24
118
1,196
38
کرمان
atmega8.blogfa.com
salam
*******************
va komaki mikham az avr
mikham bebinam chetori mishe yek lcd roo rah endakht? va name khodamo roosh benevisam



سلام دوست عزیز اتصال یک lcd به میکرو راحت است یک ال سی دی مانند 16*2 به این معنی که دو سطر و 16 ستون دارد 16 پایه دارد پایه 16 و 15 مربوط لامپ پشت ال سی دی است از 14 تا 7 پایه های دیتا هستند
که به ترتیب از d7 تا d0 پایه 6 پایه انابل نام دارد و پایه 5 r\w نام دارد که بیشتر مواقع به منفی وصل می شود به این صورت اگر به منفی وصل باشد می توان روی ال سی دی نوشت ول اگر به مثبت وصل باشد فقط می توان محتویات روی ال سی دی را خواند از طریق میکرو
پایه 4 rs نام دارد که به میکرو وصل می شود پایه 3 کنتراس ال سی دی است که هر چه منفی تر باشد کارکتر های ال سی دی پر رنگ تر است پایه 2 +5 ولت و پایه 1 منفی می باشد فایل زیر را دانلود کنید تا متوجه شوید
شما با این دستور برنامه نویسی در محیط بسکام به هدف خود می ر سید که در زیر می توانید دانلود کنید
توضیح در باره برنامه با استفاده از شماره جلو دستور

ابتدا شما در برنامه بسکام avr یک فرم جدید باز کنید
بعد در برنامه باید نوع میکرو از نظر شما فرکانس کلاک وع ال سی دی و معرفی پورت اتصال داده شده به ال سی دی را تعیین کنید
شما به دو روش می توانید این کار را انجام دهید
اول با دستورات برنامه نویسی مانند سطر شماره 1و2 درون فایل بسکام
که خط 1 نوع ال سی دی را معرفی می کند
خط 2 تعیین می کند کدامین پایه های میکرو به کدام پایه ال سی دی متصل شده است
این روش اول این راه کمی مشکل است چون باید ایت دستورات را با دقت کامل نوشت ولی راه ساده تری دارد شما
از کزینه optins گزینه compilerو گزینه chipرا انتخاب کنید پنجرهای برای شما باز می شود که این تعییرات را می توان به صورت گزینه ای انتخاب کرد
که در تب compiler و تب زی مجموعه ان
که تب اول chip نام دارد شما می توانید نوع میکرو را انتخاب کنید
در تب 2 می توانید فایل های تولید شده بعد از کامپایل را تنظیم کنید
تب 3 برای تعیین فرکنس میکرو که گزینه دوم است می توانیید انتخاب کنید
تب 4 برای تعیین پایه spi i2cاست که به صورت نرم افزاری انتخاب می شومد
و تب اخر که lcd نام دارد برای تعریف نوع ال سی دی و پایه اتصال ان به میکرو است که می توانید به صورت گزینه ای انتخاب کنید
در صورتی که شما در این قسمت این کارها را تنظیم کنید دیگر احتیاجی به نوشتن انها در برنامه نیست
مثلا شما می توانید با تنظیمات بالا خط 1و 2 برنامه را حذف کنید
ادامه توضیح برنامه
خط 3 بیانگر ان است که مکانما بروی ال سی دی غیر فعال باشد که شما بعد از نوشتن دستور cursor خود برنامه به صورت خودکار سطری را برای شما باز می کند که داخل ان چندین گزیه است که شما به دلخواه می توانید انها را انتخاب کنید
خط 4 با این دستور شما می توانید کل کارکتر های روی ال سی دی را پاک کنید
خط 5با این دستور مکان نما به به ستون اول و سطر یک می اید
خط 6 با استفاده از این دستور شما می توانید کارکتر خود را در سطر و ستون دلخواه نوشت که بعد از نوشت دستور locate ابتدا شما شماره سطر را می نویسید و بعد شماره ستون را مثلا خط 6 بیانگر ان است که نوشت کارکتر دلخواه در سطر 1 و ستون 5 شروع به نوشتن کند
خط 7 با ستور lcd می توان کارکتری را روی ال سی دی نوشت به این صورت که ابتدا دستور را می نویسید و بعد یک کوتیشن باز می کنید بعد کلمه مورد نظر ودر اخر کو تیشن را می بندید و حتی شما می توانید در جلو ی این دستور از متغییر هم استفاده کنید ولی در دور متغییر از کوتیشن استفاده نمی شود اگ خواستید هم از مغییر و از کارکتر ثابت استفاده کنید حتما باید بین کارکتر و متغییر از علامت سیمیکالون استفاده کنید در ضمن تبادل دیتا بین میکرو و ال سی دی به صورت 4بیتی انجام می گیرد و 4پایه کم ارزش ال سی دی استفاده نمی شود
خط اخر یک دستور حلقه است که میکرو را در یک حلقه بی پایان قرار می دهد
امید وارم موفق باشید در ضمن دوست گرامی از فونت فارسی استفاده کنید
 

پیوست‌ها

آخرین ویرایش توسط مدیر:

Service Manual

D e b u g g e R
مدیرکل
معاونت انجمن
2007-06-19
13,653
176,707
iRanTK.iR
salam
******************
va komaki mikham az avr
mikham bebinam chetori mishe yek lcd roo rah endakht? va name khodamo roosh benevisam

با سلام و تشکر از توضيحات خوب و کامل saegheh_0836

دوست عزيز "avr" اولا سعي کنيد فارسي تايپ کنيد و ضمنا اينجا يک فروم هست براي حل و بررسي مشکلات دوستان در زمينه الکترونيک ،‌ اينجا کسي علاقه اي به اسم و فاميل شما نداره .

موفق باشيد .
 

saegheh_0836

کاربران vip(افتخاری)
vip افتخاری
کاربر
2007-09-24
118
1,196
38
کرمان
atmega8.blogfa.com
با سلام
شما عالی هستید
من میخوام که یک برنامه بسازم که مداری رو روی ماشین ببندم و اگه چراغها سوخت روی یک ال سی دی نشان دهد و به فارسی بنویسد که این چراغ سوخته.روی ال سی دی رنگی
واسه 21 لامپ میخوام.با avr همراه با فایل پروتیوس
جواب را با 123 مشخص کنید
مرسی
مدار قبلی رو دارم میبندم
واقعا عالیه
:)

دوست من ساختن این مدار بسیار ساده است فقط باید فکرتان را به کار گیرید من برای شما برنامه ای را می نویسم که این کار را انجام دهد
تحلیل و تفکر در مدار
اگر شما دقت کرده باشید می بینید که در سیستم برقی ماشین لامپها از یک کنتاکت به بدنه یا همان منفی باتری متصل هستندحالا اگر لامپ مورد نظر از سوی کلید قطع یا خاموش باشد ولتاژ منفی از فنر داخلی لامپ عبور کرده ودر نهایت ان اتصال دیگر لامپ منفی می شود این دیگر مسلم است چون جریان مثبت از سوی کلید قطع است و جریانی از لا عبور نمی کند و فقط ولتاژ منفی در لامپ وجود دارد حالا از این خاصیت می توان استفاده کرد به چه صورت حالا عرض می کنم
وقتی که لامپ می سوزد ارتباط دو کنتاکت لامپ قطع می شود و اگر لامپ در حالت خاموشی از سوی کلید باشد دیگر واضح است دیگر ولتاژ منفی نمی تواند از طریق فنر به ان کنتاکت برسد ادامه دارد
 
آخرین ویرایش:

saegheh_0836

کاربران vip(افتخاری)
vip افتخاری
کاربر
2007-09-24
118
1,196
38
کرمان
atmega8.blogfa.com
سلام من نمیدونم چی میگید
من میخوام که اگه قطع بشه روی ال سی دی گرافیکی نشون بده
21 لامپ دارم
من اگه برنامه رو ببینم میفهمم در قیر این صورت نه
ممنونم

دوست عزیز این توضیحات به این علت که بعد از انکه مدار را قرار دادم راحت متوجه شوید که مدار چگونه کار می کند زیاد عجله نکنید با صبر همه کارها درست می شود:):):):):):):)
 

mobaraki

کاربر vip
کاربر
2008-10-08
203
610
تهران/شهرری
سلام
اگه میشه یه مدار ی بزارین که با اون بشه کدی که از قبل داخل برنامه نوشته شده رو با صفحه کلید بزنیم اگه درست بود یه led یا یه خروجی فعال بشه ، و عددهایی که با صفحه کلید میزنیم هم روی یه lcd نمایش بده ...
با تشکر
 
بالا