معرفی ATMEGA32 – میکروکنترلر های AVR – آموزش AVR جلسه اول

قراره دوره ی آموزش AVR رو با هم شروع کنیم.پیش از معرفی ATMEGA32 بهتره توضیحاتی رو خدمت دوستان ارائه کنم.

برای این که دوره ی آموزش AVR با کدویژن رو شروع کنیم بهتره یک سری مقدماتی رو باهاشون آشنا باشیم ، مثل اینکه تفاوت میکروکنترلر با میکروپروسسور چیه، یا تفاوت معماری RISC با CISC چیه ؟ و یک سری اطلاعات از این دست. پس حتما در این زمینه ها سرچ و مطالعه کوتاهی داشته باشید تا ساختار این میکرو ها دستتون بیاد.

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

میکروکنترلر های AVR انواع مختلفی دارن ATtiny، ATmega و .. ولی پرکاربرد ترین اونها در ایران سری ATmega هستش ، با این مقدمه میریم سراغ معرفی ATMEGA32 میکروکنترلر پرکاربرد بازار.

ATMEGA16 یا ATMEGA32 تفاوت های زیادی از لحاظ ساختار داخلی و عملکردی ندارن ، حتی مدل های دیگه ای مثل ATMEGA64 و… . که احتمالا در جلسات آموزشی ای که با هم خواهیم داشت درمورد اون میکرو ها هم توضیح میدم.

معرفی ATMEGA32

 

معرفی ATmega32

معماری پیشرفته RISC

کارایی بالا و توان مصرفی کم

دارای 32 رجیستر 8 بیتی

سرعت تا 16 مگاهرتز

انواع حافظه ها در ATMEGA32

32kb حافظه flash با قابلیت برنامه ریزی

1024 بایت حافظه EEPROM با قابلیت برنامه ریزی

2kb حافظه SRAM داخلی

قابلیت قفل کردن حافظه های فلش و EEPROM هم در این میکرو وجود داره تا برنامتون رو کسی نتونه کپی کنه!

این میکرو یک سری خصوصیات جانبی هم داره مثل:

2 تایمر/کانتر 8 بیتی

1 تایمر/کانتر 16 بیتی

4 کانال PWM

ارتباط سریال 2 سیمه

8 کانال مبدل آنالوگ به دیجیتال 10 بیتی

مقایسه کننده آنالوگ داخلی

ارتباط USART

6 مد حالت خواب برای کم کردن مصرف میکرو

قابلیت ارتباط JTAG

این قابلیت برای دیباگ کردن  و اشکال زدایی برنامه و تراشه استفاده میشه.

و قابلیت این رو هم داره که حافظه های میکروکنترلر رو برنامه ریزی کنه و یا فیوز بیت(توضیح میدم که چیه) رو میشه با اون تنظیم کرد.

 

و خیلی قابلیت های دیگه ای که گاهی در مدارات برای استفاده از اون ها باید از یک IC جداگانه استفاده بشه ، اما این میکروکنترلر همه ی این قابلیت هارو در خودش داره و قراره هر قسمت از آموزش AVR با C با این قابلیت ها آشنا بشیم و براش پروژه هایی رو ببندیم.

میتونین برای آشنایی بیشتر با قابلیت های ATMEGA32  ، دیتاشیت ATMEGA32  رو دانلود کنین :

دیتاشیت ATMEGA32

دیتا شیت atmega 16

 

پایه های ATMEGA32

این آی سی یک قطعه 40 پایس و شکل پایه های اون به شکل زیره:

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

پایه های ATMEGA16  یا ATMEGA32 با هم تفاوتی ندارن.

فعلا لازم نیست که بدونین این پایه ها دقیقا چه کاری انجام میدن ، فقط به نام گذاری پایه ها توجه کنین ، میبینین که 4 سری نام گذاری وجود داره .A,B,C,D که برای هر سری از این پایه ها از صفر تا 7 (8 پایه) نام گذاری شدن ، به هرکدوم از این 8 پایه یک پورت میگن که میشه اون هارو بعنوان ورودی/خروجی تعریف کرد.

همونطور که گفتم هر پایه اسم خاصی داره و داخل پرانتز قابلیت هر پایه مشخص شده ، مثلا پورت A (پایه های 33 تا 40 که با اسم PA و مخفف Port A مشخص شدن) همشون قابلیت ADC (مبدل آنالوگ به دیجیتال) شدن رو دارن و یا برخی از پایه ها چند قابلیت دارن که میشه نسبت به پروژه قابلیت مورد نظر خودمون رو انتخاب کنیم و از اون پایه ها استفاده کنیم.

در آخر هم به فرکانس کاری این میکروکنترلر اشاره میکنم که حداکثر 16 مگاهرتز که البته در سری ATMEGA32L این مقدار 8 مگا هرتز. من اینجا فقط حرف از حداکثر زدم ! پس توجه کنید که میتونیم فرکانس های پایین تر ، مثل 1مگاهرتز رو هم براش انتخاب کنیم(متناسب با پروژه).

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

پس در جلسه ی اول آموزش برنامه نویسی کدویژن  AVR  و  معرفی ATMEGA32 یادگرفتیم این میکرو چه قابلیت هایی داره ، چه فرکانس های کاری رو ساپورت میکنه و با پورت ها آشنا شدیم و با این مقدمه این جلسه رو به پایان میرسونیم.

لطفا در این سری آموزشی برای  بالا بردن سطح کیفی آموزش هر نکته ، کمبود یا اشتباهی رو در بخش نظرات مطرح کنین.

موفق و موید باشید 🙂

ADS

حمیدرضا مودت

یک مهندس الکترونیک ، علاقه مند به یاد دادن و یاد گرفتن پیرامون دانش برق و الکترونیک

مطالب مرتبط