// آموزش ARM - برق،رباتیک،کامپیوتر - الکترونیکا

الکترونیکا پروژه های الکترونیک و مکانیک

سایت در حال به روز رسانی به نسخه ی جدید میباشد در صورت بروز مشکل با شماره ی 09213203841 تماس بگیرید

آموزش ARM

اطلاعات بیشتر
10 سال 9 ماه قبل #76 توسط atmega128
برای شروع کار اول میرم سراغ ورودی خروجی ها.میکروهای ARM بسته به مدل دارای تعداد زیادی ورودی ،خروجی همه منظوره می باشد که معمولا توسط چهار رجیستر 32 بیتی IOPIN,IOSET,IODIR و IOCLR کنترل می شوند .در هنگام ریست قطعه همه IO ها به ورودی تبدیل می شوند در نتیجه مانند سایر قطعات شما باید در ابتدای برنامه نوع پین ها و جهت صحیح انها را تعریف کنید.

رجیستر IODIR به شما این امکان را می دهد که هر پین را به طور مستقل به عنوان ورودی (0) یا خروجی (1) تعریف کنید. اگر پینی به عنوان خروجی تعریف شده باشد به وسیله رجیسترهای IOSET و IOCLR می توانید وضعیت این پینها را کنترل کنید .قرار دادن مقدار 1در این رجیسترها پین مورد نظر را 1 یا 0 می کند.به یاد



داشته باشید که برای صفر کردن خروجی نیز باید در رجیستر IOCLR مقدار 1 را قرار دهید .وضعیت پین GPIO را می توانید در هر لحظه با خواندن محتوای رجیستر IOPIN بدست اورید. اگر میکرو شما بیشتر از 32 ورودی و خروجی داشته باشد نام این رجیسترها دار شماره دسته پین مورد نظر نیز خواهد بود .به عنوان مثال اگر میکرو شما دارای پورتهای ورودی خروجی P0.0-P0.31 وP1.16-P1.31 باشد رجیسترهای مربوطه به صورت IO0PIN یا IOPIN1 تغییر نام خواهند داشت که برای اطلاعات بیشتر می توانید به دیتاشیت میکرو مورد نظر مراجعه کنید.حالا برای اشنایی بهتر با عملکرد رجیسترهای IO نحوه انجام یک مثال ساده با کامپایلر Keil و شبیه سازی ان توسط نرم افزار پروتئوس توضیح می دهم.


ابتدا نرم افزار Keil را باز کنید و از منوی PROJECT گزینه new uVision Project را انتخاب کنید.

در پنجره باز شده نامی برای پروژه خود انتخاب کنید و روی دکمه save کلیک کنید.سپس پنجره جدیدی باز خواهد شد.شما از این پنجره می توانید پردازنده مورد نظر خود را انتخاب کنید.از پردازنده های شرکت NXP یک از پردازنده های سری LPC2100 مثلا LPC2104 را انتخاب کنید.

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

حال به پنجره چپ نگاه کنید یک پوشه به نام Target1 اضافه شده است با کلیک رو علامت + می توانید محتویات انرا مشاهده کنید.که تنها فایل Startup در ان قرار دارد.

حال از منوی File روی New کلیک کنید.یک پنجره بازخواهد شد که می توانید کد مورد نظر خود را در ان قرار دهید.

حالا قطعه برنامه زیر را در ان وارد کنید.
#include <LPC210x.h>
int main (void) {
unsigned int delay;
unsigned int flasher=0x00010000;
IODIR=0x00ff0000;
while(1) {
for(delay = 0;delay<0x40000;delay++) {
;
}
IOCLR=~flasher;
IOSET= flasher;
flasher=flasher<<1;
if(flasher&0x1000000)flasher=0x00010000;
}
}
پس از وارد کردن کد بالا با کلیک روی ایکون save در نوار ابزار فایل را با پسوند.c به شکل مثلا test.c ذخیره کنید. اکنون فایل برنامه را با راست کلیک روی source Group از پنجره سمت راست و انتخاب Add File to Group به پروژه اضافه کنید.حالا با راست کلیک روی عبارت Target1 در پنجره سمت چپ و کلیک روی گزینه اول یعنی option for target به قسمت تنظیمات پروژه وارد می شوید.در سربرگ target میتوانید فرکانس کلاک خارجی متصل به قطعه را انتخاب کنید که به طور پیش فرض رو 12MHz می باشد در سربرگ سوم یعنی output گزینه create HEX File را انتخاب کنید تا نرم افزار فایل HEX لازم برای شبیه سازی در پروتئوس را تولید کند. سپس روی ok کلیک کنید.

حالا با دابل کلیک روی فایل startup پنجره مربوط به ان را باز کنید.این فایل شامل اطلاعات لازم برای تنظیم پارامترهای قطعه مانند حافظه پشته PLL و غیره می باشد که محتوی اطلاعات پیش فرض لازم می باشد که شما می توانید بنابر نیاز خود انهارا تغییر بدهید.ازقسمت پایین پنجره startup سربرگ configuration wizard را انتخاب کنید . از قسمت PLL setup مقادیر MSEL که مقدار ضریب PLL و PSEL که مقدار مقسم PLL را مشخص می کند ، طوری تنظیم کنید که کلاک اعمالی به هسته در حدود 10MHz قرار بگیرد تا نرم افزار پروتئوس توان شبیه سازی را داشته باشد وگرنه هنگام شبیه سازی با خطای overclock مواجه خواهید شد. تغییرات را ذخیره کنید.حالا زمان کامپایل برنامه است. از منوی Project و با انتخاب گزینه Build Target یا با استفاده از دکمه قرار داده شده در نوار ابزار پروژه را کامپایل کنید .خطا ها و اخطار های احتمالی برنامه در پنجره خروجی در پایین محیط نرم افزار قابل مشاهده است. ادامه کارمانند سایر شبیه سازی ها با پروتئوس می باشد. فایل شبیه سازی را دانلود و باز کنید با دابل کلیک روی میکرو و از پنجره باز شده فایل HEX خروجی را از محل ذخیره سازی پروژه وارد کنید فرکانس کلاک را نیز رو 12MHz قرار دهید .حالا همه چیز برای شبیه سازی امده است و با کلیک بر روی RUN شما اولین پروژه خود را با میکرو کنترلر های ARM انجام داده اید.
این کاربران از شما تشکر نموده اند: mmmina, mothermohammad

لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.

قدرت گرفته از كيوننا