میکروکنترلر و مقدمات ...
تصوير بالا تصوير يک ميکروکنترلر ATmega16L است. اين ميکرو کنترلر يک آي سي 40 پايه از خانواده ي ميکروکنترلرهاي AVR است و به دليل ويژگي هاي خاص و قيمت مناسبش(حدوداً 2000تومان)، به عنوان يکي از پرکاربردترين و معروف ترين انواع ميکروکنترلرها در جهان شناخته شده است. به همين دليل ما نيز آموزش کار با همين ميکروکنترلر را خواهيم داد. البته اين به اين مفهوم نيست که ما اگر ميکروکنترلرATmega16L را آموزش ببينيم فقط مي تونيم فقط با همين ميکروکنترلر کار کنيم، بلکه کار کردن با ساير ميکروکنترلرهاي خانواده ي AVR را نيز فرا مي گيريم و فقط کافيست چند نکته ي کوچک در مورد ميکروکنترلر هاي ديگر اين خانواده ياد بگيريم تا بتوانيم با آن ها نيز کار کنيم.
جالبه بدونيد که اولين ميکروکنترلرها در دهه ي 80 ميلادي ساخته شد، که هنوز هم کار با آن ميکروکنترلرها در بسياري از دانشگاه ها و مراکز مختلف آموزشي، آموزش داده مي شود.
خوب، حالا کمي با اين قطعه ي جادويي بيشتر آشنا بشويم...
ميکروکنترلر يک ريز پردازنده (Processor) است که مي تواند ورودي و خروجي هاي متعدد داشته باشد. يعني تعددادي ورودي از محيط دريافت کند و طبق برنامه ريزي هايي که روي آن انجام شده، خروجي هايي متناسب با آن ها صادر کند.
ما براي برنامه ريزي اين قطعه، از زبان C که يکي از کاملترين زبان هاي برنامه نويسي روز دنياست، استفاده مي کنيم.
| توضيحات ابتدايي در مورد قسمت هاي نرم افزاري: |
به برنامه اي که توسط کاربر نوشته مي شود، Source گفته مي شود. اين برنامه بايد توسط يک نرم افزار، به زبان قابل فهم براي ميکروکنترلر تبديل شود. به اين نرم افزار کامپايلر مي گويند. به اين برنامه ي کامپايل شده نيز، يک Object مي گويند. حالا بايد اين Object توسط نرم افزار ديگري به چيپ (Chip) يا همان آي سي منتقل شود. به اين عمل، يعني انتقال برنامه ي کامپايل شده به چيپ، پروگرام کردن مي گويند و به نرم افزاري که اين کار را انجام مي دهد پروگرامر (Programmer) مي گويند. محيطي که ما در آن برنامه ي مورد نظر خود را مي نويسيم (تايپ مي کنيم) Editor نام دارد. اين نرم افزار ما را در خلل برنامه نويسي بسيار کمک مي کند، مثلاً کلمات رزرو شده و غير قابل تعويض را با رنگها و فونت هاي گوناگون براي ما برجسته مي کند.
اين 3 برنامه، يعني کامپايلر، پروگرامر و اديتور، در غالب نرم افزاري به نام "Code Vision" توسط شرکت HP به بازار عرضه شده است . کاربر با نصب اين نرم افزار بر روي کامپيوتر شخصي خود، در حقيقت هر 3 برنام را، به علاوه ي چندين قابليت و برنامه ي جانبي ديگر را که در جلسات آينده با آن ها آشنا خواهيد شد، بر روي دستگاه خود نصب کرده است. در واقع Code vision يک بستهي نرم افزاري کامل و جامع براي خانواده ي AVR است که تمام نيازهاي نرم افزاري ما را براي کار کردن با ميکروکنترلرهاي اين خانواده برطرف مي کند.در جلسات آينده در مورد اين نرم افزار بيش تر توضيح خواهيم داد.
| توضيحات مقدماتي در مورد قسمت هاي سخت افزاري: |
ميکروکنترلر ATmega16L داراي 4 پورت (Port) يا درگاه است. هر پورت داراي 8 پايه است که مي توانند به عنوان ورودي يا خروجي استفاده شوند. در حقيقت اين ميکروکنترلر داراي 32 پايه براي دريافت اطلاعات و يا صدور دستورات مختلف براي کنترل ساير قطعات است. 8 پايه ي ديگر نيز وظايف مختلفي بر عهده دارند که در جلسات آينده در مورد آن ها نيز توضيح داده خواهد شد.
در بعضي از ميکروکنترلرها براي انتقال برنامه به چيپ (پروگرام کردن چيپ)، از يک مدار جانبي به نام "Micro controller programmer" استفاده مي کنند و چيپ را در آن مدار قرار داده و چيپ بايد فقط روي آن مدار پروگرام شود. ATmega16L اين قابليت را دارد که بدون هيچگونه مدار خارجي و فقط به وسيله ي چند رشته سيم معمولي، بر روي خود ربات يا مدار اصلي پروگرام شود. اين قابليت به اختصار ISP يا (In System programing) نام دارد. اين قابليت يکي از بزرگترين مزيت هاي اين نوع ميکروکنترلر به شمار مي رود. زيرا ديگر نيازي به صرف هزينه ي اضافي براي خريد اين مدار نيست. علاوه بر اين ديگر نيازي نيست چيپ هر بار براي پروگرام شدن از روي ربات جدا شود.
در مورد ميکروکنترلر مطالب بسيار گسترده و زيادي وجود دارد، تا جايي که به عنوان يکي از درس هاي تخصصي رشته هاي برق و کامپيوتر به دانشجويان مقطع کارشناسي ارائه مي شود. بديهي است ما نمي توانيم در اينجا تمامي مطالب موجود در مورد ميکروکنترلر ها را آموزش دهيم.
*نصب و سرویس تجهیزات دوربین مدار بسته،دزدگیر اماکن،اعلام حریق و...