مقدمه :
میکروکنترلر چیست ؟
میکروکنترلر در واقع یک کامپیوتر تک تراشه ای ارزاتقیمت میباشد. کامپیوتر تک تراشه ای بدین معنی است که کل سیستم کامپیوتر در داخل تراشه مدار مجتمع جای داده شده است.میکروکنترلری که برروی تراشه سیلیکونی ساخته میشود دارای خصوصیاتی مشابه خصوصیات کامپیوترهای شخصی استاندارد است.
نخستین ویژگی میکرولنترلر دارای یک CPU (واحد پردازشگر مرکزی) حافظه RAM3 و حافظه ROM4 خطوط I/O (خطوط ورودی و خروجی)، درگاههای سریال و موازی و زمان سنج است و برخی اوقات نیز شامل ادوات جانبی نظیر مبدل A/D (مبدل آنالوگ به دیجیتال) و مبدل D/A (مبدل دیجیتال به آنالوگ) می باشد.
چرا از میکروکنترلر استفاده می شود ؟
همان گونه که قبلاً توضیح داده شد میکروکنترلرها، کامپیوترهایی ارزانقیمت هستند. قابلیت ذخیره سازی و اجرای برنامه های منحصر به فرد،موجب شده است تا میکروکنترلرها بسیار انعطاف پذیرشوند. بعنوان مثال شخص می تواند میکروکنترلر را به گونه ای برنامه ریزی کند بر اساس شرایط از پیش تعیین شده (وضعیت خطوط خروجی ورودی و خروجی) تصمیم گیری نماید (عملیات مورد نظر را انجام دهد). قابلیت انجام عملیات ریاضی و منطقی موجب شده است تا میکروکنترلر بتواند عملکرد مدارهای منطقی پیچیده و مدارهای الکترونیکی را تقلید کند.
برنامه های دیگر می توانند موجب شوند که میکروکنترلر مشابه یک مدار در شبکه عصبی و یا به صورت یک کنترلر کننده با منطق فازی عمل کند. میکروکنترلرها وظیفه هوش مصنوعی را در دستگاههای مربوط به «حسابهای هوشمند» در فروشگاهها بر عهده دارند.
آینده الکترونیک مختص میکروکنترلرها می باشد
اگر به مجله های الکترونیکی که در این کشورها و یا سایر کشورها چاپ می شوند توجه کنید، مقاله هایی را مشاهده خواهید کرد که در طراحی مدارهای آنها، بطور مستقیم و یا بصورت ترکیبی، از میکروکنترلرها استفاده شده است. میکروکنترلرها به دلیل انعطاف پذیری زیادی که دارند، با صرف هزینه اندک می توانند قدرت زیاد، کنترل و انتخابهای مختلفی را ارائه کنند. به همین دلیل است که مهندسین الکترونیک و افرادی که علاقه مند به کارهای الکترونیکی هستند، برنامه ریزی میکروکنترلرها را فرا میگیرند تا از مزایای میکروکنترلرها در مدارات خود بهره ببرند و سطح کیفی مدار خود را در حد بالایی حفظ کنند.
اگر از دستگاه های الکترونیکی خانگی را بررسی کنید، خواهید دید که از میکروکنترلرها تقریباً در تمامی آنها استفاده شده است. این نیز دلیل دیگری برای آشنایی با میکروکنترلر هاست.
کامپیوترهای طراح
امروزه انواع بسیار زیادی از میکروکنترلرها در بازار وجود دارند. ما در اینجا توجه خود را معطوف به میکروکنترلهایی می کنیم که تراشه های PIC (یا تراشه های PICMicro) نامیده می شوند، این تراشه ساخت شرکت Microchip Technology می باشد.
تراشه PIC
مجموعه میکروکنترلرهای ساخت شرکت Microchip Technology به نام PIC نامیده می شوند. شرکت مذکور کلمه PIC را به عنوان علامت تجاری برگزیده و از آن برای مشخص کردن میکروکنترلرهای خود خود استفاده می کند. کلمه PIC سر نام کلمات Programmable Interface Controller می باشد.
بهتر از هر مدار stamp
کمپانی Paralaxx مجموعه ای از مدارهای مبتنی بر میکروکنترلر را که استفاده از آنها ساده می باشد، تهیه کرده و با نام Basic Stamp به فروش می رساند. در مدارهای Basic Stamp ساخت شرکت Parallax (به نامهای bs1,Bs2) از میکروکنترلرهای plc ساخت Microchip Technology استفاده شده است. عاملی که باعث شده است تا مدارهای Stamp بسیار متدوال شوند ایت است که آنها را می توان به سادگی با استفاده از زبان بیسیک برنامه ریزی کرد.
فراگیری و کار با زبان بیسیک بسیار ساده میباشد. این عامل مهمترین مزیت استفاده از سیستم های STAMP می باشد، در صورتی که سایر سیستم ها، منحنی آموزشی طولانی تری دارند زیرا کاربرد را وادار می کنند تازبان اسمبلی را فراگیرد (زبان اسمبلی فقط مختص یک میکروکنترلر خاص بوده و در مورد سایر میکروکنترلرها، کاربرد ندارد ).
Basic Stamp هم اکنون یکی از متداولترین سیستم های میکروکنترلی است که که مورد استفاده قرار می گیرد. این نکته را دوباره تکرار می کنم که عامل مورد قبول واقع شدن و متداول شدن سیستم های Stamp، سادگی فراگیری و سهولت کار با زبان بیسیک می باشد. فراگیری وکار با سیستم زبان بیسیک PIC ها بسیار ساده می باشد و همچنین میکروکنترل های PIC دارای مزایای فراوانی هستند که موجب می شود از انواع سیستم ها Stamp بهتر باشد.
زبان بیسیک PICBasic که ما از آن برای برنامه های تراشه های PIC استفاده می کنیم، مشابه زبانی است که در مجموعه سیستم های Basic Stamp به کار برده می شود. برنامه ریزی تراشه های PIC به سادگی برنامه ریزی سیستم های Stamp می باشد. حال شما می توانید از همان زبان ساده ای که سیستم های Basic Stamp ارائه می کنند استفاده کنید و لذت ببرید، در ضمن از دو مزیت عمده دیگر نیز بهره خواهید برد این دو مزیت عبارتند از :
مزیت اول : سرعت بیشتر
تراشه های PIC برنامه ریزی شده توسط ما، برنامه خود را خیلی سریعتر اجرا می کنند. اگر برنامه بیسیک مشابهی را در Basic Stamp و تراشه pic ذخیره کنیم، برنامه تراشه pic (بسته به دستورالعمل های استفاده شده) حدود 20 تا 100 برابر سریعتر از Basic Stamp اجرا می شود. دلیل این امر در زیر آمده است :
سیستم های Basic Stamp مدل BS1, BS2 از حافظه EEPROM سریال که به تراشه های PIC وصل شده اند برای ذخیره کردن برنا مهای خود استفاده می کنند. فرمانهای زبان بیسیک موجود در برنامه،به صورت نشانه ها و علامت های بیسیک ذخیره می شوند. علائم و نشانه های بیسیک ذخیره می شوند. علائم و نشانه های بیسیک نظیر خلاصه نویسی فرمانهای بیسیک می باشد. هنگام اجرای برنامه Basic Stamp هر دستورالعمل را می خواند سپس این علامت را تفسیر می کند (علاعم و نشانه ها را به زبان ماشین معادل تبدیل میکند تا برای pic قابل فهم باشد )و دستور العمل را اجرا کرده و دستئر العمل بعدی را می خواند و دوباره این رویه را تکرار می کند.هر دستور العمل برای اجراشدن باید مرحلهء ((انتقال سریال)), ((خواندن)) ((تفسیر واجرا)) را طی کند. روند خواندن واسطهء سریال , وقت زیادی را از c p u میکروکنترل تلف میکند.
در مقایسه با این عملیات,وقتی یک تراشهء P I C با استفاده از کام پایلر بیسیک برنامه ریزی می شود, برنامهء بیسیک در ابتدا به برنامهء زبان ماشین P I C (فایل در مبنای 16) تبدیل میشود.سپس این برنامه که به زبان ماشین میباشد به داخل تراشهء P I C انتقال می یابد. از انجایی که زبان ماشین , زبان اصلی P I C می باشد لذا نیاز نیست تا کدهای زبان ماشین به صورت علائم و نشانه ها ذخیره شده و برای اجرا شدن تفسیر شوند چرا که برنامه به زبان اصلی P I C نوشته شده است.
هنگامی که تراشهء P I C برنامه ای را اجرا می کند , فرمانهای برنامه را که به زبان ماشین می باشند به طور مستقیم از حافظه ای که روی تراشهء آن قرار دارد خوانده و آن دستور العمل را اجرا می کند. در طی این عملیات واسطهء سریالی با حافظهء EEPROM خارجی که زمان زیادی را تلف میکند , وجود ندارد. دستور العملهایی که به زبان ماشین هستند مشابه روش واسطه سریال به صورت بیت به بیت خوانده نشده بلکه به طوری موازی خوانده می شوند. این دستورالعمل ها به صورت مستقیم و بدون نیاز به مبدل علائم بیسیک به زبان ماشین خوانده می شوند. این امر موجب می شود تا PIC های برنامه ریزی شده بتوانند کدهای خود را 20 تا 100 برابر سریعتر از کد بیسیک همان برنامه در سیستم Basic Stamp، اجرا کنند.
مزیت دوم : قیمتی به مراتب پایین تر
عامل دوم قیمت می باشد. استفاده مستقیم از تراشه های PIC در مقایسه با سیستم های Basic Stamp موجب 75 درصد صرفه جویی در قیمت می شود. قیمت خرده فروشی BS1 که دارای 256 بایت حافظه قابل برنامه ریزی است، 95/34 دلار می باشد. قیمت خرده فروشی BS2 که دارای 2 کیلوبایت حافظه قابل برنامه ریزی است، 95/49 دلار می باشد.میکروکنترلر PIC به شماره 84E16 که در این کتاب معرفی شده است، دارای مشخصاتی است که با سیستم BS2 قابل مقایسه می باشد. این تراشه دارای 1 کیلو بایت حافظه قابل برنامه ریزی است. قیمت خرده فروشی تراشه 84F16 PIC مبلغ 95/6 دلار است. علاوه بر ان قیمت کریستال زمان سنجی و چند خازن ومقاومت و یک تثبیت کننده ولتاژ 7805 را نیز باید اضافه کرد تا مدار، معادل سیستم Stamp شود. مجموعه این قطعات، قیمت کل را تا میزان 10 دلار افزایش
میدهد که در این حالت نیز یک چهارم (75 درصد) قیمت سیستم BS2 میباشد.
PIC16F84 یک میکروکنترلر ارزانقیمت است و نیزدارای حافظه قابل باز نویسی (Flash) می باشد. به عنوان مثال شما مداری (یا محصولی) را برای تولید طراحی می کنید که نیازی به برنامه ریزی مجدد پس از برنامه ریزی اولیه ندارد. در این صورت شمامی توانید از میکروکنترلرهای PLC که فقط یک مرتبه قابل برنامه ریزی هستند و اصطلاحاً OTP نامیده می شوند.
سایر مزایا
سطحی که میکروکنترلر PIC 16F84 روی مدار اشغال می کند کمتر از سطحی است که BS2 اشغال می کند زیرا سیستم های Stamp از حافظه EFPROM با سریال بیرونی استفاده می کنند. در برخورد اول این طور به نظر می آید که BS2 کوچکتر است زیرا در یک محفظه 28 پایه DIP قرار داده شده است، ولی شما می توانید انواعی از 16F84 را که برای نصب سطحی تهیه شدهاند،خریداری کنید.در نتیجه این کار سطح مدار کاهش می یابد.
نگاهی کلی بر برنامه ریزی میکروکنترلرهای PIC یک فرایند 3 مرحله ای ساده می باشد.
می توانید در بازار انواع مختلفی از دستگاههای برنامه ریزی کننده و کامپایلرها را برای میکروکنترلرهای PIC پیدا کنید. ماقصد مقایسه کالاهای موجود در بازار را نداریم و به جای آن توجه خود را روی کامپایلر بیسیک خاص و برد برنامه ریزی کننده همراه آن معطوف می کنیم.