دوستان امیدوارم حال همتون عالی باشه. در این آموزش، نگاهی به معرفی دقیق Atmega32 خواهیم داشت. ATmega32 یک میکروکنترلر با پردازشگر هشت بیتی است که توسط Atmel (طراح و سازنده مواد نیمه هادی های مختلف است) ساخته شده است. این میکروکنترلر بر اساس معماری RISC مخفف (Reduced Instruction Set Computing) طراحی شده است که از 131 دستورالعمل قدرتمند تشکیل شده است. دستورات عمدتاً در یک سیکل اجرا می شوند. حداکثر فرکانسی که این میکرو کار می کند 16 مگاهرتز است. 

مقدمه ای بر Atmega32

. ATmega32 یک میکروکنترلر با پردازشگر هشت بیتی است که توسط Atmel (طراح و سازنده مواد نیمه هادی های مختلف است) ساخته شده است. این یک میکروکنترلر در دسته میکروکنترلرهای AVR (Automatic Voltage Regulator)(تنظیم کننده ولتاژ خودکار) با معماری RISC (Reduced Instruction Set Computing) با عملکرد بالا و مصرف انرژی کم است.

این میکروکنترلر دارای 32 کیلو بایت حافظه فلش ISP (In-system Programming) است که دارای قابلیت خواندن و نوشتن است.

  این ماژول از یک 1کیلو بایت EEPROM (حافظه فقط خواندنی قابل برنامه ریزی با قابلیت پاک کردن الکتریکی)، دو کیلوبایت SRAM (رم استاتیک)، 32 خط ورودی و خروجی قابل برنامه ریزی، سی و دو رجیستر عمومی، یک JTAG (Joint Test Action Group) مه برای اسکن برنامه و اصلاح و یا اشکال زدایی داخلی استفاده می شود، تشکیل شده است. 

همچنین شامل رابط های داخلی و خارجی، USART قابل برنامه ریزی متوالی (گیرنده و فرستنده ناهمزمان)، یک مبدل ده بیتی آنالوگ به دیجیتال هشت کاناله، تایمر با نوسان ساز داخلی، اسلات متوالی SPI (رابط جانبی سریال)  است.

با ولتاژ 1.8 تا 5.5 ولت کار می کند.

AVR (تنظیم کننده ولتاژ خودکار) ها از آنجایی که حافظه برنامه بسیار قابل توجهی دارد، بنابراین می تواند به راحتی با شبکه های یکپارچه مختلف کار کند.

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

این میکروکنترلر دارای یک تایمر ناظر برای بازنشانی ماژول در هنگام خطا دارد، بنابراین می توان از آن در شبکه های مختلف برای بازنشانی خطا بدون هیچ گونه دخالت انسانی استفاده کرد. (تایمر سگ نگهبان)

ATmega32 از ویژگی‌های متنوعی مانند حالت‌های خواب، وقفه‌ها (Interrupts) و ناحیه برنامه‌ریزی Boot Loader به عنوان بخشی از حافظه فلش پشتیبانی می‌کند.

بسته بندی DIP

بسته بندی TQFP


پایه های اصلی ATmega32 در زیر توضیح داده شده اند.

شماره   پایهنوعتوصیف
Pin#1PB0 (XCK/T0)پایه صفرم پورت B
Pin#2PB1 (T1)پایه یکم پورت B
Pin#3PB2 (INT2/AIN0)پایه دوم پورت B
Pin#4PB3 (OC0/AIN1)پایه سوم پورت B
Pin#5PB4 (SS)پایه چهارم پورت B
Pin#6PB5 (Master Out Slave   In)پایه پنجم پورت B
Pin#7PB6 (master in slave   out)پایه ششم پورت B
Pin#8PB7 (Serial clock)پایه هفتم پورت B
Pin#9RESETپایه   بازنشانی یا ریست
Pin#10Vccپایه   اعمال ولتاژ 5 ولت
Pin#11GNDپایه   زمین
Pin#12XTAL2پایه   کریستال خارجی
Pin#13XTAL1پایه   کریستال خارجی
Pin#14PD0 (RXD)پایه صفرم پورت   D
Pin#15PD1 (TXD)پایه یکم پورت   D
Pin#16PD2 (INT0)پایه دوم پورت   D
Pin#17PD3 (INT1)پایه سوم پورت   D
Pin#18PD4 (OC1B)پایه چهارم پورت   D
Pin#19PD5 (OC1A)پایه پنجم پورت   D
Pin#20PD6 (ICP)پایه ششم پورت   D
Pin#21PD7 (OC2)پایه هفتم پورت   D
Pin#22PC0 (SCL)پایه صفرم پورت   C
Pin#23PC1 (SDA)پایه یکم پورت   C
Pin#24PC2 (TCK)پایه دوم پورت   C
Pin#25PC3 (TMS)پایه سوم پورت   C
Pin#26PC4 (TDO)پایه چهارم پورت   C
Pin#27PC5 (TDI)پایه پنجم پورت   C
Pin#28PC6 (TOSC1)پایه ششم پورت   C
Pin#29PC7 (TOSC2)پایه هفتم پورت   C
Pin#30AVccولتاژ تغذیه برای مبدل   آنالوگ به دیجیتال ADC
Pin#31GNDاتصال به زمین
Pin#32AREFپایه ولتاژ مرجع برای ADC
Pin#33PA7 (A/DC7)پایه   هفتم پورت A
Pin#34PA6 (A/DC6)پایه   ششم پورت A
Pin#35PA5 (A/DC5)پایه   پنجم پورت A
Pin#36PA4 (A/DC4)پایه   چهارم پورت A
Pin#37PA3 (A/DC3)پایه   سوم پورت A
Pin#38PA2 (A/DC2)پایه   دوم پورت A
Pin#39PA1 (A/DC1)پایه   اول پورت A
Pin#40PA0 (A/DC0)پایه   صفرم پورت A

1- پایه های ورودی/خروجی دیجیتال Atmega32:

پایه های2 تا 9: این پین‌ها به عنوان پورت‌های دیجیتال با کاربرد‌های مختلفی در اتصال دستگاه‌ها و ماژول‌ها به میکروکنترلر مورد استفاده قرار می‌گیرند.

پین‌های 23 تا 30: نیز پورت‌های دیجیتال دیگری هستند که برای کنترل و ارتباط با دستگاه‌ها به‌کار می‌روند.

پین‌های 10 تا 17: این پین‌ها همچنین پورت‌های دیجیتالی بوده و برای استفاده در ورودی‌ها و خروجی‌ها مورد استفاده قرار می‌گیرند.

2- پایه های ورودی/خروجی آنالوگ Atmega32:

پین‌های 31 تا 38: این پایه ها به عنوان کانال‌های تبدیل آنالوگ به دیجیتال (ADC) استفاده می‌شوند و برای خواندن اطلاعات از سنسورها و ورودی‌های آنالوگ به میکروکنترلر مورد استفاده قرار می‌گیرند.

3- پایه های واسط‌های کاربری Atmega32:

پایه های 18 و 19: این پایه ها به عنوان کانال‌های PWM (مدولاسیون پهنای پالس) استفاده می‌شوند و برای تولید سیگنال‌های PWM برای کنترل سرعت موتورها و موارد دیگر مورد استفاده قرار می‌گیرند.

پایه های 12 تا 15: این پایه ها به عنوان کانال‌های SPI (ارتباط موازی سریع) مورد استفاده قرار می‌گیرند.

پایه های 16 تا 19: این پایه ها به عنوان کانال‌های USART (ارتباط سریال آسنکرون) استفاده می‌شوند.

پایه های 9 و 11: این پایه ها به عنوان کانال‌های تایمر/شمارنده مورد استفاده قرار می‌گیرند.

4- پایه های تایمرها Atmega32:

پایه های 9 و 10: این پایه ها به عنوان کانال‌های خروجی تایمر/شمارنده 1 مورد استفاده قرار می‌گیرند.

پایه های 11 و 12: این پایه ها به عنوان کانال‌های خروجی تایمر/شمارنده 2 مورد استفاده قرار می‌گیرند.

پایه های 14 و 15: این پایه ها به عنوان کانال‌های خروجی تایمر/شمارنده 0 مورد استفاده قرار می‌گیرند.

پایه های دیگر نیز به عنوان پایه های تغذیه (VCC و GND)، پایه های تغذیه مبدل ADC یعنی (AVCC و AREF)، پایه های تغذیه‌ی کریستال خارجی (XTAL1 و XTAL2) و پایه های خاص مانند پایه ریست (RESET) کاربرد دارند که همگی نقش‌های مهمی در کارکرد و عملکرد تراشه ATmega32 ایفا می‌کنند. 

ویژگی های Atmega32

پردازنده آن هشت بیتی AVR (تنظیم کننده ولتاژ خودکار) است.

این ماژول دارای چهل پایه است که در مورد آنها در جدول بالا توضیح دادیم.

این تجهیز دارای 32 پایه ورودی و خروجی می باشد.

این میکروکنترلر دارای واحد مبدل آنالوگ به دیجیتال با وضوح 10 بیتی است.

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

این قطعه دارای یک مدار مقایسه آنالوگ است. این میکروکنترلر مبدل دیجیتال به آنالوگ (DAC) ندارد. دارای چهار (4) مدولاتور عرض پالس (PWM) است. می تواند برای تامین کلاک پالس سیستم می تواند از نوسان ساز خارجی با فرکانس 16 مگاهرتز کار کند. همچنین شامل نوسان ساز داخلی است که بر روی فرکانس 8 مگاهرتز کار می کند. از حافظه فلش با ظرفیت 32 کیلوبایت تشکیل شده است. سرعت پردازنده آن شانزده MIPS (16میلیون دستورالعمل در ثانیه) است. حافظه رم آن دو کیلو بایت است. شامل 6 روش ذخیره انرژی است. دمای عملکرد آن 55- تا 125 درجه سانتیگراد است.

اجزای مختلف میکروکنترلر mega32 به صورت زیر با هم در ارتباطند:

کاربردهای ATmega32

در سیستم های مختلف کنترل دما استفاده می شود.

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

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

برای کنترل دور و جهت و حرکت موتور استفاده می شود.

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