سلام.
من میخوام که برنامه نویسی میکروکنترلر LPC1768 رو توسط کامپایلر IAR شروع کنم ولی نمیدونم که این کامپایلر دارای چه header هایی است و چه جوری باید برای امکانات میکروکنترلر برنامه بنویسم و چه header هایی رو باید به برنامه اضافه کنم.
سلام.
من میخوام که برنامه نویسی میکروکنترلر LPC1768 رو توسط کامپایلر IAR شروع کنم ولی نمیدونم که این کامپایلر دارای چه header هایی است و چه جوری باید برای امکانات میکروکنترلر برنامه بنویسم و چه header هایی رو باید به برنامه اضافه کنم.
به محل نصب برنامه برید و دنبال پوشه include بگردید. داخل این پوشه نام هدر میکروها پیدا میشه. مثلا atmel/at91sam7s64.h و بقیه عادی
پروژه های مهم من در ایران میکرو:
" انتقال اطلاعات با SIM900 " ، " آموزش پورت USB " ، " راه اندازی MFRC522 " ، " راه اندازی SLE4442 " ، ""
پردازنده هایی که در میکروکنترلرهای ARMاستفاده می شوند ، پردازنده های ۳۲ بیتی با معماری Risk می باشد، این پردازنده ها برای کاربردهای قابل حمل (Portable) بهینه سازی شده اند به صورتی که مصرف توان آن ها بسیار کم است و می توان آن ها را توسط باتری برای مدت زیادی روشن نگه داشت به عنوان نمونه می توان گوشی های موبایل را نام برد که در آنها از این هسته پردازشی استفاده می شود.
معروفترین هسته پردازنده ARM7 ، ARM می باشد که یکی از رایج ترین هسته های پردازشی موجود می باشد.
بعد از ARM 7 به ترتیب ARM9 و ARM10 و ARM11 قرار دارند.
انواع هسته های پردازنده سری : ARM7 ARM7TDMI (1: رایج ترین هسته پردازنده ۳۲ بیتی با معماری RISK می باشد.
: ARM7TDMI-S (2 این هسته نسخه قابل سنتز ARM7TDMI است.
ARM72OT (3: این هسته علاوه بر ویژگی های هسته های بالا داری حافظه CASHو بخش مدیریت حافظه می باشد.
: ARM7EJ-5 (4 این هسته برخی از قابلیت های پیشرفته DSP را در خود دارد و برای کارهای پردازش سیگنال مناسب می باشد.
پردازنده های ARM از سیستم PIPELINE برای پردازش استفاده می کنند منظور از این سیستم این است که پردازنده دارای سه مد کاری برای اجرای یک دستور است:
FETCH (1 یا بازخوانی اطلاعات از حافظه کد
DECODE (2 یا رمزگشایی اطلاعات نوشته شده
EXECUTE (3 یا اجرای برنامه در پردازنده های قدیمی تر
در سیکل اول دستور اول FETCH می شود ، در سیکل دوم دستور اول DECODE می شود دستور دوم FETCHمیشود. در سیکل سوم دستور اول EXECUTE دستور دوم DECODE می شود و دستور سوم FETCHمی شود.
این نوع سیستم ۳ STAGE PIPELINE است.
در پردازنده های ARM بالاتر مانند ARM9 سیستم پردازش ۵STAGE PIPELINE می باشد که عملیات خواندن و نوشتن از حافظه ها نیز جزء این عملیات قرار گرفته در۱۰ ARM سیستم پردازش به صورتPIPELINE 6 STAGE است.
انتخاب میکرو کنترلر :
شرکت های مختلفی میکروکنترلر های بر مبنای پروسسور ARM می سازند مانند : atmel , Philips ,Samsung , St-micro , Motorola و کمپانی های دیگر ما از میان این شرکت ها میکروکنترلر های ساخت Philips رو که از تولید شرکت NXP است به دلایل زیر انتخاب کردیم:
· قطعات سری LPC2000 یکی از متنوعترین خانواده های میکروکنترلرهای با هستهی ARM7 هستند و قطعات این سری، در مقایسه با AT91SAM قیمت کمتری دارند.
اجرای برنامه از حافظه ی فلش بسیار سریعتر است. بدلیل دسترسی ۱۲۸ بیتی به حافظهی فلش و وجود واحد شتابدهندهی حافظه (MAM)، قطعات LPC2000 میتوانند در مُد ARM با حداکثر سرعت ۶۰ تا ۷۵ MHz به حافظهی فلش دسترسی داشته باشند؛ در حالیکه که SAM7ها با سرعتی کمتر از نصف این مقدار کد برنامه را اجرا میکنند. علاوه براین، در مقایسه با سایر میکروهای با هسته ی ARM7، فرکانس کاری میکروکنترلرهای LPC2000 نسبتاً بالاست (۶۰ تا ۷۰ مگاهرتز در LPC2000ها در مقایسه با ۵۵ مگاهرتر در sam
· راهاندازی Peripheralهای قطعات LPC2000 سادهتره. اکثر سختافزارهای جنبی به شکلی طراحی شدهاند که لازمه رجیسترهای کمتری تنظیم بشن و بسیاری از اونها را میتونید به حالت پیشفرض رها کنید.
· میکروکنترلرهای LPC2000 دارای Peripheralهایی هستند که به ندرت در سایر میکروکنترلرهای با هستهی ARM7 دیده میشه. مثلاً تایمر ۳۲ بیتی با پیشتقسیمکنندهی ۳۲ بیتی (AT91SAMها فقط تایمر ۱۶ بیتی دارن!)، DAC، RTC، LIN، SSP، MMC/SD Controller، USB Host/OTG، Fast GPIO ،XGA LCD Controller و غیره.
· قطعات LPC دارای تعداد I/O بیشتری هستند. مثلاً قطعهی LPC2132 که یک قطعهی ۶۴ پایه است ۴۷ پایهی GPIO داره درحالیکه قطعه ی مشابه ۶۴ پایه ای AT91SAM7S64، دارای ۳۲ خط I/O است.
· مستندات و نمونه برنامه های ارائه شده توسط NXP برای LPCها کاملتر و غنی از ATmel برای SAM7هاست.
کامپایلر ها و مفسر های موجود برای چیپ های ARM را در اینجا ذکر می کنم :
IAR : قابلیت برنامه نویسی میکرو کنترل های ارم ببه زبان های C و C++و اسمبلی ، امکان شبیه سازی برنامه نوشته شده ، پشتیبانی تمامی میکروکنترلر های ارم ، منابع اموزشی متوسط و محیط حرفه ای ، پشتیبانی از SPY-C که امکانات خیلی زیادی دارد ، سرعت اجرای بالا و سازگاری کامل با ANSI C ، توابع کتاب خانه ای کم ، نداشتن باگ های امنیتی.
Winarm : قابلیت برنامه نویسی به زبان های C و C++ ، عدم شبیه سازی برنامه ، فقط پشتیبانی ARM7 ، منابع آموزشی و مثال های زیاد ، متن باز بودن برنامه و بالطبع رایگان بودن ، داشتن توابع کتابخانه ای بالا ، ۳ سال است که این نرم افزار به روز رسانی نشده است.
Keil : برنامه نویسی به زبان های Cو C++ و اسمبلی ، امکان شبیه سازی برنامه نوشته شده ، پشتیبانی تمام میکروکنترلر های ARM ، کاربرپسند بودن برنامه و منابع اموزشی متوسط
سایر کامپایلر ها : Cross works for ARM , Flowcode ARM, ARM ADS,تقریبا دو کامپایلر keil و IAR از محبوبیت بیشتری برخوردارند .
فهرست فایل آموزشی :
طریقه نصب برنامه Proteus
محیط نرم افزار IAR و اجرای پروژه LED چشمک زن برای آشنایی با نحوه کار
طریقه نصب برنامه Flash Magic
محیط نرم افزار IAR و اجرای پروژه LED چشمک زن برای آشنایی با نحوه کار
برنامه روشن و خاموش شدن یک LED
نمایش اعداد بر روی سون سگمنت
کار با سون سگمنت (۷Seg) و کلید
کار با ADC و نمایش مقدار آن روی ۷Seg
کار با LCD
آشنایی با A2D و D2A و نمایش مقادیر روی LCD
آشنایی با برنامه Serial Terminal
پروژه جامع ( LCD,A2D,D2A,UART )
http://electroprojects.ir/wp-content...ojects.ir_.zip
پروردگارا مرا پاک بپذیر ......