صفحه نخست | تماس با مدیر | فروشگاه سایت | انجمن سایت
 
اخبار سایت :

در صورت تمایل به کسب اطلاع از آخرین مطالب ارسالی در خبرنامه ثبت نام کنید.

ایمیل :

 

ElectRobot.ORG

در جلسه قبل از آموزش برنامه نویسی به زبان C در محیط AVR یاد گرفتید که چطور یک پروژه جدید ایجاد کنید و چطور میکروکنترلر مورد نظر خود را انتخاب کنید. همچنین با انتخاب پایه ها به عنوان ورودی و خروجی آشنا شدید. و با چند اصطلاح از قبیل ADC و I2C و ... آشنایی ابتدایی پیدا کردید که به مرور زمان در هنگام تکمیل آموزش با تمام آن ها آشنا خواهید شد. در این جلسه قصد داریم کمی با ثبات های داخلی میکروکنترلر های مختلف آشنا شویم  و همچنین یک برنامه ساده با آن نوشته و برنامه را در محیط Proteus تست کنیم. ( ما در این آموزش بر روی میکروکنترلر ATMEGA32 بیشتر تکیه خواهیم کرد. )

بعد از باز کردن یک پروژه جدید خواهید دید که صفحه باز خواهد شد که یک محیط قابل نوشتن در آن است. برنامه شما در این قسمت نوشته خواهد شد.

ElectRobot.ORG

همانطور که مشاهده می نمایید تعدادی از خطوط به رنگ آبی تیره نوشته شده اند این خطوط توضیحات برنامه هستند. که اگر به آنها احتیاج ندارید می توانید آن ها را پاک کنید. به طور مثال :

 - در خط 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)
      {
        if( PINA.0 == 1 )
            PORTD = 0xFF;
        else
            PORTD = 0x00;

      };      
}

بعد از اینکه برنامه را نوشتید باید آن را کامپایل کنید تا فایل HEX ایجاد شود. توسط کلید میانبر SHIFT+F9 می توانید برنامه را کامپایل نمایید. بعد از زدن این دو کلید از صفحه کلید پنجره ای باز خواهد شد که در انتهای آن می توانید تعداد خطاهای برنامه خود را مشاهده کنید.

ElectRobot.ORG

سپس نرم افزار پروتیوس را باز کرده و مدار زیر را در آن طراحی کنید. سپس برای اینکه فایل هگز را بر روی میکروی خود قرار دهید بر روی آن دوبار کلیک کنید پنجره ای باز خواهد شد که با کلید بر روی آیکن فولدر مانند به مسیر فایلی که برنامه را در آنجا کامپایل کرده اید بروید و فایل هگز را انتخاب کنید. تا در میکروکنترلر لود شود.

ElectRobot.ORG

کار تمام است حالا پروژه را راه اندازی کنید و از اولین پروژه خود لذت ببرید. نتیجه برنامه بالا را در تصویر زیر مشاهده می نمایید. فعلا تا همین جا کافی است. کمی با این برنامه ها بازی کنید و کار با Proteus را یاد بگیرید تا جلسه آینده که مبحث را ادامه بدهیم. همچنین می توانید فایل این پروژه را در انتهای همین صفحه دانلود نمایید.

ElectRobot.ORG

لینک دانلود پروژه همراه با فایل Proteus :

Password : www.electrobot.org

در صورت از کار افتادن لینک دانلود اینجا را کلیک کنید.
نویسنده: ElectRobot تاریخ: شنبه 17 بهمن 1388|rss - rss | نظرات (0) |مشاهده : 62 | onetwothreefourfive

این سایت به منظور انجام پروژه های دانشجویی و کمک به دوستان در رشته کامپیوتر و برنامه نویسان طراحی شده است. در صورت تمایل به تبادل لینک با ما تماس بگیرید. و لینک مارا با نام پروژه دانشجویی - ElectRobot.ORG در سایت خود قرار دهید.


بیشتر در کدام مورد پست بگذاریم؟

سخت افزار
الکترونیک
کامپیوتر
نرم افزار
رباتیک
پروژه های دانشجویی
پروژه های رایگان


راي دهندگان: : 129
www.updownload.ir
بزرگترین سایت اطلاعات کامپیوتری
مرجع تخصصی کامپیوتر
.:: قالب وبلاگ ::.
طراحی سایت - Radcom
وبلاگ مهندس مهدی بقالها
.:: وبلاگ همه چیز ::.
هرآنچه می خواهی می یابی
پربیننده ترین مرجع اطلاع رسانی ایران
سافت گذر اولین دانشنامه نرم افزار
.:: پادشاه کامپیوتر ::.
فروشگاه و کسب درآمد از اینترنت
دانشجويان الکترونيک شوشتر
GoldFox
دانلودستان حامد هکتور
دانلود رایگان کتاب
بانك سوالات امتحاني و كنكور
آفتابـــــــــگردان
دانلود رایگان کتاب
www.takboom.ir
زبان برنامه نویسی جاوا
كامپيوتر حل تمرين پروژه جزوه استخدامي
بزرگترین فروشگاه آنلاین
دانشجویان الکترونیک بوشهر
دانلود رايگان پلان و مقالات عمراني
مهندسی عمران
پایگاه مجازی برق الکترونیک
آپدیت Nod32
نیاز شهر تمامی نیاز های یک شهر
سایت تبادل لینک خودکار
سیستم مدیریت محتوای راش
جامع ترين كتابخانه موبايل
علمی,کتاب,مجله,مقاله,خبری,برنامه
طرفه(بزرگترین وبلاگ ادبی ایران)
falken2m.blogfa.com
www.firstbook.mihanblog.com
www.bindownload.com
www.bestpatogh.com
www.p30download.com

» مطالب ارسالی :  180
» امروز :  پنجشنبه 20 اسفند 88
» بازدید های امروز : 286
» بازدید های دیروز : 353
» بازدید های ماه : 6130
» نظرات : 41
» افراد آنلاین : 6
»
کاربران عضو: 353
» بازدید کل : 45971

 

www.ElectRobot.ORG

ElectRobot.org