|
|
|
|
|
|
|
|
|
|
|
|
| صفحه نخست | تماس با مدیر | فروشگاه سایت | انجمن سایت | |||||||
در صورت تمایل به کسب اطلاع از آخرین مطالب ارسالی در خبرنامه ثبت نام کنید.
|
( ( شرکت در نظرسنجی ساخت اولین میکروکنترلر ایرانی توسط تیم ElectRobot ))
در جلسه قبل از آموزش برنامه نویسی به زبان C در محیط AVR یاد گرفتید که چطور یک پروژه جدید ایجاد کنید و چطور میکروکنترلر مورد نظر خود را انتخاب کنید. همچنین با انتخاب پایه ها به عنوان ورودی و خروجی آشنا شدید. و با چند اصطلاح از قبیل ADC و I2C و ... آشنایی ابتدایی پیدا کردید که به مرور زمان در هنگام تکمیل آموزش با تمام آن ها آشنا خواهید شد. در این جلسه قصد داریم کمی با ثبات های داخلی میکروکنترلر های مختلف آشنا شویم و همچنین یک برنامه ساده با آن نوشته و برنامه را در محیط Proteus تست کنیم. ( ما در این آموزش بر روی میکروکنترلر ATMEGA32 بیشتر تکیه خواهیم کرد. ) بعد از باز کردن یک پروژه جدید خواهید دید که صفحه باز خواهد شد که یک محیط قابل نوشتن در آن است. برنامه شما در این قسمت نوشته خواهد شد.
همانطور که مشاهده می نمایید تعدادی از خطوط به رنگ آبی تیره نوشته شده اند این خطوط توضیحات برنامه هستند. که اگر به آنها احتیاج ندارید می توانید آن ها را پاک کنید. به طور مثال : - در خط 18 مقدار کلاک میکروکنترلر نوشته شده است که ما آن را 12MH انتخاب کرده ایم. - در خط 24 تابع کتابخانه ای میکروکنترلر ATMEGA32 فراخوانی شده است. ( برای میکروکنترلرهای مختلف متفاوت است ) - خط 28 تابع اصلی برنامه ()Main نوشته شده است که برنامه اصلی در داخل آن نوشته خواهد شد. - خط 36 یکی از 32 ثبات میکروکنترلر ATMEGA32 را نمایش می دهد که محتوای آن PORTA = 0x00 می باشد. یعنی اینکه این پورت حالت Tri-State دارد. خط بعدی آن DDRA = 0x00 مشخص کننده این است که پورت به طور کامل ورودی تعریف شده است. در صورتی که این پورت خروجی تعریف می شد مقدار DDRA = 0xّّّّّّFF می بود و برای اینکه مثلا بگوییم مقدار اولیه در زمان روشن شدن میکرو برای این پورت یک باشد PORTA = 0xFF قرار می دهیم. شاید شما هم به این نتیجه رسیده باشید! بله هر نوع تنظیمی که در هنگام باز کردن پروژه انجام می دادید ( مثلا انتخاب پورت به عنوان خروجی ) به وسیله این 32 ثبات در محیط برنامه می توانید به طور دستی انجام دهید تنها باید با تمام این ثبات هاو معماری داخل میکرو هم کمی آشنا باشید. فعلا تا همین جا آشنایی با ثبات ها کافی است. ولی پیشنهاد می کنم که کمی در اینترنت جستجو کنید و در مورد این ثبات ها اطلاعات کسب کنید تا در جلسات آینده با مشکل مواجه نشوید. حال به سراغ نوشتن اولین برنامه خودمان می رویم. می خواهیم یک کلید به پورت A0 متصل کنیم اگر کاربر روی آن کلیک کرد تمام 8 پایه پورت D یک شود و زمانی که دست خود را از روی کلید بر داشت LED ها خاموش شود. ( از این به بعد به پایه ورودی PIN و به پایه خروجی Port می گوییم. ) اعدادی که در جلوی ثبات ها نوشته می شود بر مبنای 16 هستند. می توانید آن ها را بر مبنای 2 نیز بنویسید. ( 0x0F = 0b00001111 ) عدد سمت چپ بر مبنای 16 و عدد سمت راست بر مبنای 2 می باشد. ( اگر در مفهوم مبناها مشکل داشتید در نظرات درخواست دهید تا آموزش آن را نیز قرار دهیم.) همانطور که قبلا گفتیم برنامه اصلی در قسمت ()while نوشته می شود. while (1) بعد از اینکه برنامه را نوشتید باید آن را کامپایل کنید تا فایل HEX ایجاد شود. توسط کلید میانبر SHIFT+F9 می توانید برنامه را کامپایل نمایید. بعد از زدن این دو کلید از صفحه کلید پنجره ای باز خواهد شد که در انتهای آن می توانید تعداد خطاهای برنامه خود را مشاهده کنید.
سپس نرم افزار پروتیوس را باز کرده و مدار زیر را در آن طراحی کنید. سپس برای اینکه فایل هگز را بر روی میکروی خود قرار دهید بر روی آن دوبار کلیک کنید پنجره ای باز خواهد شد که با کلید بر روی آیکن فولدر مانند به مسیر فایلی که برنامه را در آنجا کامپایل کرده اید بروید و فایل هگز را انتخاب کنید. تا در میکروکنترلر لود شود.
کار تمام است حالا پروژه را راه اندازی کنید و از اولین پروژه خود لذت ببرید. نتیجه برنامه بالا را در تصویر زیر مشاهده می نمایید. فعلا تا همین جا کافی است. کمی با این برنامه ها بازی کنید و کار با Proteus را یاد بگیرید تا جلسه آینده که مبحث را ادامه بدهیم. همچنین می توانید فایل این پروژه را در انتهای همین صفحه دانلود نمایید.
لینک دانلود پروژه همراه با فایل Proteus :
Password : www.electrobot.org نویسنده: ElectRobot تاریخ: شنبه 17 بهمن 1388|rss - rss | نظرات (0) |مشاهده : 62 | ![]() ![]() ![]() ![]()
|
این سایت به منظور انجام پروژه های دانشجویی و کمک به دوستان در رشته کامپیوتر و برنامه نویسان طراحی شده است. در صورت تمایل به تبادل لینک با ما تماس بگیرید. و لینک مارا با نام پروژه دانشجویی - ElectRobot.ORG در سایت خود قرار دهید. ![]() بیشتر در کدام مورد پست بگذاریم؟
» مطالب ارسالی : 180
» امروز : پنجشنبه 20 اسفند 88 » بازدید های امروز : 286 » بازدید های دیروز : 353 » بازدید های ماه : 6130 » نظرات : 41 » افراد آنلاین : 6 » کاربران عضو: 353 » بازدید کل : 45971
| |||||
| www.ElectRobot.ORG | |||||||