مقدمه : در این بحث با میکرو کنترلر 8051 آشنا می شوید. میکرو کنترلرها و میکرو پرسسورها با هم تفاوتهایی دارند. میکروکنترلرها علاوه بر دارا بودن پردازشگر مرکزی مدارات جانبی آن را نیز دارند این مدارات شاملROM ، RAM ، ارتباط سری، ارتباط موازی، زمان سنج و کنترل کننده وقفه می شود. البته امکانات فوق در مقایسه با امکانات یک کامپیوتر کامل ناقص به نظر می رسد ولی در کاربردهایی که تنها بعضی ازامکانات مورد نیاز باشد استفاده از میکروکنترلرها سادهتر و مقرون به صرفهتر است میکروکنترلرها بیشتر کاربرد کنترلی دارند. یعنی با دریافت یک ورودی، کنترل چند فرایند را بدست میگیرند که عمدتاً این کارها ساده است ولی در کار بردهایی که احتیاج به تحلیل و پردازش پیچیده و عمیق دارد به میکرو پرسورها نیاز است.
7-1) MCS-51 دسته ای از میکروکنترلرها است که ابتدا توسط شرکت Intel ساخته وبه بازار جهانی عرضه شده اند. هر یک از میکروکنترلرهای این خانواده امکانات ویژهای دارند. در این بخش مشخصات سخت افزاری 8051 معرفی می شود.
مشخصات این تراشه به شرح زیر است:
4کیلوبایت ROMداخلی
128 بایت RAM داخلی
چهار درگاه I/O 8 بیتی
درگاه ارتباط سری
دو زمان سنج و شمارشگر 16 بیتی
حداکثر64kبایت حافظه خارجی برای برنامههای بزرگتر
حداکثر64k بایت حافظه خارجی برای دادههای بزرگتر
توانایی پردازش عملیات بولی
210 بیت با امکان دسترسی بیتی
وجود دستورات اضافی نظیر ضرب و تقسیم
قبول وقفه از اجزای داخلی و سخت افزار خارجی
7-2) وضعیت پایهها: 32 پایه از 40 پایه تراشه میتوانند بصورت خطهای درگاه I/O بکار روند.برای صرفه جویی 24 تا از آنها دارای عملکرد دیگری نیز هستند و در صورت لزوم از عملکرد دوم هر پایه استفاده می شود که به همین دلیل پایه های دو منظوره نام گرفته اند
7-2-1) درگاه 0: پایه های 39-32را شامل می شود. در سیستمی که حافظه خارجی نداشته باشد این پایه ها به عنوان درگاه I/O بکار می روند. ولی در سیستمهای با حافظه خارجی این پایه ها به عنوان گذرگاه( آدرس و داده) multiplexed بکار می روند.
7-2-2) درگاه 1: پایه های 1 تا 8 IC را شامل می شود که فقط به عنوان درگاه I/O بکار می رود.
اجزا میکروکنترلر
یک ریزکنترل کننده از سختافزارهایی مانند پردازنده، RAM، ROM و یک سری پایانه ( یا پورت یا درگاه) تشکیل شدهاست.
از سوی دیگر، از آنجا که این قطعات در اکثر حالات برای مقاصد کنترلی استفاده میشوند، نیاز به برقراری ارتباط با دستگاه تحت کنترل خود را دارند. اما از آنجا که اکثر سیگنالهای لازم برای این منظور سیگنالهای آنالوگ هستند، باید ابتدا این سیگنالها به صورت دودویی تبدیل شوند تا برای پردازنده قابل درک باشند. این کار توسط مبدل آنالوگ به دیجیتال صورت میگیرد. همچنین در برخی از میکروکنترلرها مبدل دیجیتال به آنالوگی هم وجود دارد که امکان فرمان دادن میکروکنترلر به دستگاههای با ورودی آنالوگ را فراهم میکند.
از دیگر اجزای معمول و پرکاربرد در میکروکنترلرها، تایمرها هستند. تایمرها عموما از یک شمارنده تشکیل میشوند که پس از تعداد مشخصی از شمارش، تولید یک وقفه میکنند که میتواند برای بررسی متوالی یک روال یا انجام متوالی یک کار مورد استفاده قرار گیرد.
بسیاری از میکروکنترلرها از واحدهای مدولاسیون عرض پالس نیز برخوردارند. این واحدها به خصوص در کاربردهای الکترونیک قدرت و کنترل موتور و نیز به عنوان مبدل دیجیتال به آنالوگ کاربرد دارند.[۲]
میکروکنترلرهای رایج
از مهمترین و بزرگترین تولیدکنندگان میکرو کنترلرها میتوان از شرکت اَتمِل (به انگلیسی: Atmel) نام برد که در حال حاضر سری ایویآر و ۸۰۵۱ میکروکنترلرهای این شرکت در ایران بدلیل سهولت استفاده مورد توجهاست.
برنامه ریزی میکروکنترلرهای AVR بیشتر با زبان C و با کامپایلر codevision، و یا با زبان بیسیک و توسط نرمافزار BASCOM انجام میشود. یکی دیگر از تولیدکنندگان بزرگ میکروکنترلرها شرکت Microchip است که میکروکنترلرهای این شرکت با نامهای تجاری PIC و dsPIC نیز از محبوبیت زیادی برخوردار است.[۳]
شرکتهای بزرگ دیگری نیز در زمینه تولید میکروکنترلر فعالیت میکنند که از آن جمله میتوان بهTI، موتورولا و فیلیپس اشاره کرد.شرکت intel هم نقش بسیار مهمی در تولید میکروکنترلرهای خانوادهٔ ۸۰۵۱ دارد.
خصوصیات Atmega 16:
قفل برنامه FLASH وحفاظت داده EEPROM
توان مصرفی پایین وسرعت بالا توسط تکنولوژی CMOS
فیوزهای بیت ATMEGA 16
OCDEN: درصورتی که بیت های قفل برنامه ریزی شده باشند برنامه ریزی این بیت به همراه بیت JTAGEN باعث می شود که سیستم ON CHIP DEBUG فعال شود. برنامه ریزی شدن این بیت به قسمت هایی ازمیکرو امکان می دهد که درمدهای SLEEP کارکنند که این خود باعث افزایش مصرف سیستم می گردد. این بیت به صورت پیش فرض برنامه ریزی نشده(1) است.
سورس پروژه راه اندازی سه نوع موتور با میکروکنترلر AVR
در این پست یکی از پروژه هایی که مورد علاقه بسیاری از اساتید و دانشجویان گروه مهندسی برق قرار دارد آورده شده است. در این بسته سورس کد راه اندازی سه نوع موتور دی سی (DC Motor)، سروو موتور (Servo Motor) و استپ موتور (Step Motor) به همراه فایل شبیه سازی آن ها با استفاده از نرم افزار پروتئوس آورده شده است. تمامی برنامه ها با استفاده از زبان C نوشته شده اند.
برای اجرای صحیح پروژه مراحل زیر را انجام دهید:
چکیده :
فصل اول : AT89C2051 از شرکت Atmel :
این تراشه 8051 رایج دارای ROM سریع می باشد و طراحی های سریع این نوع حافظه ایده آل است زیرا حافظه سریع می تواند طی چند ثانیه در مقایسه 20 دقیقه لازم برای 8751 پاک شود به این دلیل AT89C2051 بجای 8751 بکار برده شده است تا هنگام پاک کردن تراشه وقتی تلف نشود و به این وسیله ساخت سیستم سریع گردد.
هنگام استفاده از AT89C2051 برای ساخت سیستم های مبتنی بر میکروکنترلر به سوزاننده یا برنامه ریز ROM سریع نیاز داریم با این وجود به پاک کننده ROM نیازی نیست. توجه داشته باشید که در حافظه سریع باید تمام حافظه پاک شود تا بتوان مجدداً آن را برنامه ریزی کرد پاک کردن حافظه سریع یا خود سوزاننده صورت می گیرد به این دلیل پاک کننده جداگانه ای لازم نمی باشد برای حذف سوزاننده PROM ، Atmel روی نوعی از AT89C2051 کار می کند که می تواند از طریق پورت سریال COM یک IBM PC برنامه ریزی شود.
فصل دوم : تجزیه و تحلیل مدار
در این فصل به بررسی جزئیات مدار تایمر اعم از IC و مقاومت و خازن و دیودهای به کار رفته در مدار پرداخته می شود. این مدار توسط میکرو کار می کند و میکروکنترلر آن توسط کریستال 12 مگاهرتز کلاک خورده و توسط IC رگولاتور تغذیه می شود و خروجی آن توسط ترانزیستور تقویت شده و تقویت شدة آن باعث به کار افتادن رله می شود و رله وسیلة برقی را کنترل می کند.
فصل سوم : پیوست ها
در این فصل سورس برنامه میکرو که به زبان اسمبلی است ارائه شده و کلیه اطلاعات منبع در مورد AT89C2051 شامل DATA SHEET و توضیحات برنامه نویسی آن ارائه شده است.
فهرست مطالب :
فصل اول : میکرو کنترلر AT89C2051
1_1_ تاریخچه
2_1_ ساختار میکرو کنترلر 8X51
3_1_ زمان سنج
4_1_ برنامه ریزی اینتراپتها
5_1_ انتقال سریال
فصل دوم : تجزیه و تحلیل مدار تایمر
1_2_ مشخصه ها و خصوصیات مدار
2_2_ لیست قطعات به کار رفته در مدار
3_2_ برد
4_2_ مقاومت
5_2_ خازن
6_2_ دیود یکسوساز
7_2_ دیود نورانی (LED )
8_2_ آی سی
9_2_ ترانزیستور
10_2_ رله
11_2_ کلیدهای میکروسوئیچ
12_2_ دیپ سوئیچ
13_2_ کریستال
14_2_ برنامه ریزی میکرو
15_2_ طرز کار مدار
16_2_ نتیجه
فصل سوم : پیوست ها
سورس برنامه به زبان اسمبلی
منابع