بخشي از کتاب «طراحي سيستم با ميکروکنترلرهاي AVR»
سخن نویسندگان
ميکروکنترلر AVR چند سالي است که جايگاه خود را به عنوان انتخاب اول طراحان سيستمهاي خودکار و جاسازي شده باز کرده است. دانشجوياني که رشتههاي آنها مهندسي کامپيوتر، مهندسي برق، مهندسي پزشکي، مهندسي مکاترونيک و … باشد و نامي از اين ميکروکنترلر محبوب نشنيده باشند، نادر هستند. در حال حاضر صنعت و بازار ميکروکنترلر ايران تا حد زيادي در تصرف ميکروکنترلر AVR است و همين موضوع، آشنايي با ويژگيها و چگونگي بهکارگيري آن در طراحي سيستمها را ضروري ميسازد.
دانشگاه نيز به عنوان بسترساز فني صنعت، از اين قافله عقب نمانده و چندي است که توجه اساتيد درس «ريزپردازندهها» از بسترهای سنتیتر مانند Z80 و 8088/86 و 68000 و 8051، به ميکروکنترلر AVR جلب شده است. در همين راستا، چندين و چند کتاب راجع به جنبههاي مختلف ميکروکنترلر AVR به رشته نگارش درآمدهاند که تعدادي از آنها بسيار باارزش هستند و در انتهاي اين کتاب فهرست شدهاند. اما عدم تطابق ساختاري آنها با سرفصلهاي درس ريزپردازندهها و نيز تمرکز صرف آنها بر ميکروکنترلر AVR، سبب شده که دانشجويان اين درس، در انتخاب مرجع مناسب با سردرگمي مواجه شوند.
در اين نوشتار تلاش کردهايم:
· روش و ترتيب ارائه مطالب از نظر منطقي و فني، مناسب تدريس باشد.
· مطالب به زباني ساده و گويا بيان شوند تا خواننده بتواند به راحتي خود را با روند کتاب هماهنگ سازد.
· با معرفي سيستمهاي جنبي سختافزاري (از سادهترين آنها مانند نمايشگر ۷-قسمتي گرفته تا نمونههاي پيچيدهتر مانند دسته بازي و نمايشگر گرافيکي) روي جنبههاي عملي طراحي سيستمها که در بازار کار نياز زيادي به آنها وجود دارد، تأکيد شود.
· تا حدي خواننده را با فلسفه اساسي ميکروکنترلرها و مسائل پايهاي مبحث ريزپردازندهها (بدون تأکيد صرف بر AVR) آشنا کنيم تا چند سال بعد که اين ميکروکنترلر به تاريخ پيوست، خواننده اين کتاب بتواند به راحتي و با مطالعه چند برگه اطلاعاتي، با ميکروکنترلرهاي جديد آشنا شود.
اميد است که اين نوشتار مورد اقبال مهندسان و علاقهمندان قرار گيرد. در اين کتاب، حداکثر تلاش خود را به کار گرفتهايم که مطالب عاري از خطاهاي علمي و نگارشي باشد؛ اما خود را از نظرات خوانندگان خبره بينياز نميدانيم. آنچه از نکته و پيشنهاد و انتقاد به آدرس yazdchi@eng.ui.ac.ir و يا rasti@eng.ui.ac.ir ارسال شود، به ديده منت پذيرفته خواهد شد.
در پايان بايد از آقاي مهندس مهدي شانه که کوشش زيادي براي به بار نشستن اين تلاش به کار گرفتند و نيز از عزيزان اداره انتشارات دانشگاه اصفهان صميمانه قدرداني نماييم.
بر سَر ِآنم که گر ز دست برآید دست به کاری زنم که غصه سر آید
صالح و طالح متاع خویش نمودند تا که قبول افتد و که در نظر آید
مقدمه
با اینکه سالهاست پردازندهها بهعنوان مغز تصمیمگیرنده سیستمهای کنترلی، جایگاه خود را تثبیت کردهاند، اما میتوان میکروکنترلرها را بهعنوان نقطه عطفی در طراحی سیستمهای کنترلی برنامه¬پذیر به شمار آورد. استفاده از میکروکنترلرها طراحی سیستمی را تا به آنجا ساده کرد که مرزهای مهندسی را از اطراف این فن زدود. اکنون حتی دانشجویان و دانشآموزان میتوانند به راحتی با استفاده از میکروکنترلرها، سیستمهای مورد نیاز خود را از یک کنترلکننده ساده دما گرفته تا روباتهای گوناگون، طراحی کنند؛ همین امر لزوم آشنایی با نحوه استفاده از میکروکنترلرها را آشکار میسازد.
در حال حاضر در كشور ما ميكروكنترلرهاي زيادي در طراحي سيستمهاي كنترلي به كار ميروند كه از جمله آنها ميتوان به خانوادههاي 8051 (ساخت شركت اينتل)، PIC (ساخت شركت microchip)، AVR (ساخت شرکت Atmel) و ARM (ساخت شركت Acorn) اشاره كرد. هركدام از اين خانوادهها صدها عضو با قابليتهاي مختلف دارند كه ميتوانند پاسخگوي نياز تقريباً همه كاربردهاي سيستمي باشند.
در چند سال اخير، ميکروکنترلر AVR به گزينه اول در طراحي سيستمهاي کنترلي در کشور ما تبديل شده است. ويژگيهاي مثبت آن مانند قابل فهم بودن معماري، تنوع امکانات، هزينه مناسب، سادگي طراحي سختافزاري و… آن را به ميکروکنترلري محبوب تبديل کرده است. هرچند مراجع زيادي براي ميکروکنترلر AVR نگاشته شده است؛ اما تلاش ما در اين كتاب بر آن بوده كه به صورت گامبهگام خواننده را با ويژگيها و نحوه استفاده از اين سري ميكروكنترلرها به ويژه از ديد عملياتي آشنا كنيم. مثالهای كاربردي و عملي متعددي در فصول كتاب آورده شده كه جنبههاي مختلف كاربردهاي سيستمي ميكروكنترلر ATmega32 را براي شما روشن ميسازد.
آنچه در این کتاب خواهید آموخت
فصل اول این کتاب به معرفی کلی زمینه علمی این کتاب یعنی اتوماسیون، سیستمهای کنترلی و پردازندهها اختصاص دارد. در این فصل با فلسفه ایجاد ریزپردازندهها، نحوه طراحی سیستمهای مبتنی بر ریزپردازندهها و برنامهنویسی آنها و اجزاء دیگر سیستمهای خودکار مانند حافظه، ورودی/خروجی و گذرگاهها آشنا خواهید شد.
در فصل دوم به معرفی میکروکنترلرها و ساختار سختافزاری آنها و معیارهای انتخاب یک میکروکنترلر برای یک کاربرد خاص خواهیم پرداخت.
در فصل سوم به معرفی خانواده میکروکنترلر AVR میپردازیم و با قابلیتهای اعضای مختلف این خانواده متنوع آشنا خواهیم شد.
فصل چهارم به معرفی ATmega32، یکی از مهمترین اعضای خانواده AVR که میکروکنترلر پایه این کتاب به شمار میرود، اختصاص دارد. جنبههای مختلف نرمافزاری و سختافزاری این میکروکنترلر به صورت مقدماتی در این فصل مورد بررسی قرار میگیرد.
در فصول پنجم و ششم این کتاب، با جنبههای مختلف برنامهنویسی میکروکنترلر ATmega32 به زبانهای اسمبلی و C آشنا خواهیم شد و با نوشتن برنامههای متعدد و متنوع، دید عملی و کاربردی خوبی نسبت به طراحی سسیتمها با این میکروکنترلر خواهیم یافت.
فصل هفتم به معرفي چند سختافزار متداول و پرکاربرد در سيستمهاي مبتني بر ميکروکنترلرها ميپردازد.
فصل هشتم به معرفی یکی از مهمترین قابلیتهای میکروکنترلرها یعنی وقفهها اختصاص دارد. در این فصل به فلسفه وجودی وقفهها و نیز به صورت ویژه به وقفههای سختافزاری میکروکنترلر ATmega32 خواهیم پرداخت.
فصل نهم به معرفی واحد زمانسنج/شمارنده میکروکنترلر میپردازد. ضمن معرفی امکانات مختلف AVR برای زمانسنجی و شمارش، با نوشتن برنامههای متنوع با این قابلیتها به صورت عملی آشنا خواهیم شد.
برای پردازش سیگنالهای آنالوگ به ویژه سیگنالهای طبیعی، فصل دهم کتاب را آماده نمودهایم. در این فصل با واحدهای مبدل آنالوگ به دیجیتال و مقایسهکننده آنالوگ آشنا خواهید شد.
فصل يازدهم کتاب به برقراری ارتباط بین میکروکنترلرها از طریق پروتکلهای مختلف ارتباطی به صورت مشروح خواهد پرداخت. امکانات متنوع ارتباطی میکروکنترلر AVR در این فصل با مثالهای متعدد و کاربردی مورد بررسی قرار خواهد گرفت.
فصول دوازدهم و سيزدهم و چهاردهم به مباحث تخصصیتر میکروکنترلر AVR مانند قابلیت Boot Loader، مدار JTAG و برنامهريزي ميکروکنترلر اختصاص دارند.
در پیوستهای کتاب نیز با مباحث متنوعی مانند ساختار حافظهها، واحد تولید پالس ساعت میکروکنترلر، ثباتهای میکروکنترلر، مجموعه دستورات زبان اسمبلی میکروکنترلر AVR، اصول برنامهنویسی به زبان C، آشنایی با نرمافزار CodeVision، وضعیتهای استراحت و منابع بازنشانی آشنا خواهید شد.
براي کم کردن حجم کتاب، دو فصل در مورد اتصال حافظههاي MMC براي ذخيره طولانيمدت اطلاعات و نيز راهاندازي LCD گرافيکي براي نمايش تصاوير و اشکال هندسي و گرافيکي و دو پيوست در مورد شبيهسازي به کمک نرمافزار Proteus و توابع کتابخانهاي ازتباط با تراشههاي سريال از متن کتاب حذف شده و در لوح فشرده همراه کتاب به صورت الکترونيکي آمده است.
مرکز فروش: اصفهان، خيابان دانشگاه، فروشگاه کتاب انتشارات دانشگاه اصفهان، پست الکترونيک: entesharat@ui.ac.ir، تلفن: ۳۷۹۳۲۰۶۸ -۰۳۱
مرکز پخش: تهران، ميدان انقلاب اسلامي، خيابان کارگر شمالي، خيابان نصرت، خيابان دکتر قريب، پلاک ۱۱، مؤسسه کتابيران.