از زبون ویکی پدیا :
میکرو کنترولر و میکروپروسسور تقریبا از یک شاخه تکنولوژی وساختار هستند اما در اجزای وابسته ، با هم تفاوت های عمده دارند.
در میکرو پروسسورها فقط واحد پردازش به صورت مجزا به صورت یک ای سی وجود دارد که رم و رام و حتی ثبات ها در ای سی های مجزا به میکروپروسسور وصل و تشکیل یک میکرو کامپیوتر را می دهند
اما در میکرو کنترلر تمام واحد های یک کامپیوتر از جمله رم و رام و ثبات ها در درون یک ای سی به صورت فشرده به نام میکرو کنترولر وجود دارد.مطالعه بیشتر :
که معمولا در دستگاه های تجاری برای کاهش قیمت دستگاه مانند تلویزیون و ماکروویو و غیره استفاده می شود.
از زبون خودم O_o :
میکروپروسسور در واقع یه جور میکرو کنترلر هست با امکانات کمتر (مثلا ژیان در مقابل پژو !) .
تا اونجایی که من میدونم به میکروکنترلر میتونیم برنامه خاصی بنویسیم و
بدیم تا اجرا کنه ولی تو میکروپروسسور خود شرکت روش برنامه نویسی میکنه و
نه ما.
خـــلـــا صـــه تــفـــاوت هـــا :
میکرو کنترلر یک قطعه الکترونیکی میباشد که قابل برنامه ریزی است و
وظایف از قبل تعیین شده توسط برنامه نویس(یعنی من و شما ^_^) را انجام
میدهد.
این atmega16 ای که ما همش باهاش کار میکنیم هم یه نوع میکروکنترلر هستش.
۱) میکرو کنترلرهای سری ۸۰۵۱ ساخت شرکت Atmel
۲) میکرو کنترلرهای سری PIC ساخت شرکت Microchip
۳) میکروکنترلرهای سری AVR ساخت شرکت Atmel
۱) خانواده ATTiny AVR
۲) خانواده AT90S
۳) خانواده ATmega AVR>>>>> ما با این نوع کار میکنیم. ^_^
۴) خانواده Xmega AVR
تو این قسمت اگه چیزی نفهمیدید زیاد مهم نیست(البته فعلا!) ؛ روزنامه وار بخونیدش
بطور کلی کلیه میکروکنترلرها دارای ساختمان داخلی با اعضای زیر میباشند :
۱) واحد پردازش مرکزی (CPU)
۲) حافظه موقت خواندنی و نوشتنی (RAM)
۳) حافظه فقط خواندنی (ROM)
۴) پورت های ورودی و خروجی (I/O Ports)
۵) تایمرها و شمارنده ها (Timers and Counter)
۶) کنترلهای وقفه (Interrupt Controls)
۷) مبدل آنالوگ به دیجیتال (ADC)==>>اینو تو جلسه مبدل آنالوگ به دیجیتال توضیح میدم.
۸) مبدل دیجیتال به آنالوگ (DAC)
۹) رابط کاربری سریال (Serial Interface Ports)
۱۰) و …
بطور خلاصه وظیفه CPU ها Fetch کردن (خواندن یا گرفتن) و Execute میباشد.
تمامی اطلاعاتی که در میکروکنترلر ذخیره میشود به فرماندهی Clock توسط CPU خوانده شده و آنها را اجرا میکند.
الف) Flash
بعد از این که کد های برنامه خودمون رو نوشتیم و توسط کامپایلر ، آن را کامپایل کردیم و به زبان قابل فهم برای میکرو تبدیل کردیم
باید این کد ها که در فایل hex.* ذخیره شدن رو داخل میکرو قرار بدیم که این کد ها در این حافظه قرار میگیرند.
توجه : برای تعریف یه چیز (آرایه-رشته-کاراکتر و…) در این حافظه باید اول آن کلمه flash قرار بدیم.
مثال :
ب) EEPROM
این حافظه به عنوان حافظه پایدار(ماندگار) تلقی میشود و نوشتن در آن بصورت ارادی و اختیاری و پاک کردن آن توسط اشعه ماوراء بنفش امکان پذیر است.
اطلاعاتی که در جریان برنامه تولید میشوند ، در صورت نیاز به حفظ آنها
میتوان آنها را بر روی حافظه EEPROM ذخیره کرد و با قطع منبع تغذیه
اطلاعات حفظ خواهند شد.
(مثلا یه ساعت درست کردی که و میخوای وقتی ساعت رو خاموش روشن کردی دوباره
همون ساعت رو نشون بده و شروع به کار کنه ، نه این که ساعت reset بشه و
دوباره مجبور باشی زمان ساعتت رو تنظیم کنی.)
توجه : برای تعریف یه چیز (آرایه-رشته-کاراکتر و…) در این حافظه باید اول آن کلمه eeprom قرار بدیم.
مثال :
ج) SRAM
این حافظه یه نوع حافظه موقت هستش.
با قطع منبع تغذیه ، محتوای این حافظه پاک میشه.
اگر در تعریف متغیری از eeprom و یا flash استفاده نشود ، اون متغیر در این حافظه ذخیره میشه.
میکرو توسط این قسمت با دنیای بیرونی خود ارتباط برقرار میکند.(همون پایه های میکرو)
با یه مثال لپ کلوم رو میگیم ! :
تایمر در ساعت برای شمارش و محاسبه زمان به کار میره>>>یعنی در هر ثانیه یه واحد زیاد میشه.
کانتر برای مثال برای شمارش تعداد ماشین های عبوری از خیابان استفاده
میشود>>> لذا به اذای عبور هر ماشین یه واحد زیاد میشه.
گاهی اوقات لازمه که برنامه جاری رو متوقف و قطع کنیم تا به وسیله تابع وقفه چیزی رو برسی کنیم یا کاری رو انجام بدیم.
این هم دیگه معلومه ، نیاز به توضیح خاصی نداره ؛ تبدیل سیگنال های آنالوگ و دیجیتال به همدیگه.
اینم برا اطلاعات عمومی بد نیست
پکیج DIP : >>>>>>>تو پروتئوس ما با این نوع کار میکنیم.
از جمله ویژگی های اون اینه که :
۱) نسبت به پکیج های مشابه استحکام بیشتری داره.
۲) لحیم کاری آسان
۳) قابلیت جدا کردن آسان و راحت در صورت استفاده از سوکت بر روی برد
۴) قابلیت برنامه ریزی آسان با استفاده از پروگرامر
عیب اصلیش هم اینه که فضای نسبتا زیادی رو روی برد اشغال میکنه !
پکیج SMD :
سطحی کاملا مسطح دارند و ضخامتی میلی متری !
در این پکیج نیز تعداد پایه ها در طرفین مساوی بوده و الزاما هم از چهار طرف پایه ندارند !
ویژگی اصلی اون اینه که فضای بسیار کمی را در مقایسه با پکیج DIP اشغال میکند.(این که دیگه تابلو هستش)
عیوب اصلی هم عبارتند از :
۱) لحیم کاری دشوار
۲) حساسیت بسیار بالا به گرما در لحیم کاری
۳) جداسازی دشوار از روی برد
۴) عدم امکان برنامه ریزی مستقیم از طریق پروگرامر
توجه : البته لازم بذکره که این پکیج ها تنها مختص به میکروکنترلر AVR نمیشوند و اکثر قطعات نیز در پکیج های مختلف ساخته میشوند.