چکیده :
فصل اول : 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_ نتیجه
فصل سوم : پیوست ها
سورس برنامه به زبان اسمبلی
منابع
مقدمه :
گرایش سخت افزار رشته کامپیوتر گرایشی است که با الکترونیک عجین می باشد.
بطور کلی گرایش الکترونیک به دو بخش عمده تقسیم می شود :
- دیجیتال
- آنالوگ
این پروژه که طراحی و ساخت یک تایمر تخصصی است گرایش در الکترونیک دیجیتال دارد و بطور کلی کاربرد الکترونیک دیجیتال و بخش طراحی و استفاده از مدارات مجتمع استوار شده است و طراحی بر اساس مدارات منطقه ای و سیستم باینری می باشد.
ما در اینجا نیاز به داشتن اطلاعات سخت افزاری در زمینه مدارات مجتمع IC ها و همچنین برنامه ریزی و استفاده از آنها داریم.
در این پروژه با استفاده از قطعات سخت افزار یک تایمر طراحی کرده ایم که برنامة میکروکنترلر آن به زبان اسمبلی بوده و در نهایت خروجی اعمالی به رله باعث قطع و وصل شدن وسائل برتر می شود.
فصل اول: ميكروكنترلر AT89C 2051
1_1) تاريخچه
با وجود گذشت30 سال از تولد ريز پردازنده تصور وسايل الكترونيكي بدون آنها كار مشكلي است در سال 1971 شركت اينتل 8080 را به عنوان اولين ريزپردازنده موفق عرضه كرد. مدت كوتاهي بعد از آن موتورولا، RCA و سپس Zilog انواع مشابهي راهمچون 6800، 6502 80Z، را عرضه كردند ، گرچه اين مدارها به خودي خود فايده چنداني نداشتند اما بعنوان بخشي از يك كامپيوتر تك بورد براي آموزش طراحي با ريز پردازنده تبديل شدند.
ميكروكنترلر قطعه اي شبيه ريز پردازنده است در سال 1976 اينتل 8748 را به عنوان اولين قطعه خانواده ميكروكنترلر هاي 48_ MCS معرفي كرد. توان، ابعاد و پيچيدگي ميكروكنترل ها با اعلام ساخت 8051، يعني اولين عضو خانواده ميكرو كنترلر هاي _ MCS 51 در 1980 توسط اينتل پيشرفت چشمگيري كرد.
(2-1) خلاصه سخت افزار اين قطعه عبارت است از:
4k بايت ROM، 128 بايت RAM ، 4 درگاه ورودي خروجي، 2 تايمر شمارنده 16 بيتي ، رابط سريال ، 64k بايت فضاي حافظه خارجي بركد 64x بايت فضاي حافظه خارجي براي داده، پردازنده بولي، 210 مكان بيتي آدرس پذير، انجام عمليات ضرب و تقسيم در 4 ميكرو ثانيه .
(1-3-1) تغذيه _پايه هاي 20=GND و 40=VCC)
ميكرو كنترلر با يك تغذيه V5 كار مي كند كه پايه 40 سر مثبت آن است .
2-2-1)پالس ساعت (پايه هاي 18 و 19)
اين پايه ها جهت اتصال به كريستال نوسان ساز به كار مي روند كه با مدارات داخلي پالس ساعت سيستم را توليد مي كند.
3-2-1) درگاه هاي موازي( پورت هاي صفر ف يك ، دو ، سه)
ميكرو كنترلر داراي چهار درگاه 8 بيتي است كه مي تواندعلاوه بر منظور خاص، پايه هاي ورودي خروجي نيز باشند.
در ميان پورت ها، پورت سه كمي با ديگر پورت ها متفاوت است زيراعلاوه بر يك درگاه عمومي هر يك از پايه هاي عملكرد ديگري نيز مي توانند داشته باشند كه به شرح زير است :
جدول شماره 1-1 پورت ها
شماره پايه | بيت | نام | وظيفه |
10 | P3.0 | RXD | دريافت داده درگاه سريال |
11 | P3.1 | TXD | ارسال داده درگاه سريال |
12 | P3.2 | INT0 | وقفه خارجي صفر |
13 | P3.3 | INT1 | وقفه خارجي يك |
14 | P3.4 | T0 | ورودي تايمر يا كانتر صفر |
15 | P3.5 | T1 | ورودي تايمر يا كانتر يك |
16 | P3.6 | WR | سيگنال فعال ساز نوشتن |
17 | P3.7 | RD | سيگنال فعال ساز خواندن |
لازم به ذكر است كه پورت هاي صفر و دو نيز به عنوان باس آدرس دهي به حافظه خارجي كاربرد دارد و پورت هاي دو منظوره مي باشند.
4-2-1) PSEN( پايه 29، Program Store Enable)
وقتي برنامه از حافظه خارجي اجرا مي شود ميكرو كنترلر در زمان هايي كه لازم است عمل واكنشي انجام دهد اين سيگنالها خروجي را فعال (low) مي كند كه ميتواند اين سيگنال براي فعال كردن OE حافظه برنامه به كار رود.
5-2-1) ALE( پايه 30، Address Latch Enable)
همانطور كه گفته شد درگاه p0 مي تواند هم باس داده باشد و هم باس آدرس . وقتي ALE فعال (High) باشد يعني ديتاي روي ديتا باس يك آدرس است و در صورت فعال بودن آن يك داده مي باشد
6-2-1) Ea( پايه 31، External Access)
اگر بخواهيم از حافظه برنامه داخلي استفاده نماييم اين پايه را غير فعال (High) مي كنيم با فعال كردن اين پايه (low) ، شروع حافظه برنامه از آدرس صفر برنامه خارجي خواهد بود و حافظه برنامه داخلي بلا استفاده خواهد ماند
7-2-1)RST( پايه 9، Reset)
بافعال كردن اين پايه (high) حداقل به مدت دو سيكل ماشين رجيستر هاي داخلي ميكروكنترلر با مقادير مناسبي پر شده و ميكروكنترلر از آدرس (0000) شروع به اجراي برنامه مي كند.
3-1) حافظه داده جزئيات:
فضاي حافظه ميكرو كنترلر ها عبارتند از:
1- 64 كيلو بايت حافظه داده خارجي از آدرس صفر الي FFFF H
2- 128 بايت (يا 256 بايت ) حافظه داده داخلي از آدرس صفر الي F H 7 (يا از آدرس FF H براي 8052)
3_ 128 بايت حافظه داخلي تحت نام SFR از آدرس H 80 تا FF
4-1) رجيستر هاي داخلي ميكروكنترلر (حافظه داخلي)
رجيستر هاي داخلي ميكروكنترلر ها به دو دسته تقسيم مي شوند:
1-4-1) رجيستر هاي عمومي:
در واقع همان RAM داخلي است و به علت تعداد زياد آنها به جاي اسم به آنها شماره اي نسبت داده اند از H00 الي FH7
2-4-1) رجيستر هاي SFR يا رجيستر هاي خاص:
اين رجيسترها علاوه بر اينكه رجيستر معمولي هستند هر كدام براي كاربرد خاص هم استفاده مي شوند اين رجيستر ها ف رجيسترهاي مهم CPU بوده و از آدرس H80 الي FF H از RAM داخلي مي باشد كه فقط به صورت مستقيم قابل دسترسي مي باشد
فضاي حافظه RAM داخلي( يعني 128 بايت اول) به سه گروه مجزا تفكيك شده است همه گروه ها به صورت بايتي قابل آدرس دهي هستند اما گروه هاي II و III خواص ديگري نيز دارند كه درزير شرح مي دهيم:
5-1) گروه II( Bite Addressable):
32 بايت اول حافظه RAM داخلي( از آدرس H00 الي FH1) شامل بانك هاي ثبات مي باشد كه به چهار گروه A بايتي تقسيم مي شود و در هر لحظه 8 بايت از اين 32 بايت قابل دسترسي مي باشد كه به 0R، 1R،2R،3R،… الي 7R نشان داده مي شود اينكه 0R الي 7R در هر لحظه بيان كننده كدام يك از اين 32 بايت مي باشد به دو بيت از رجيستر PSW به نام هاي 0RS و 1RS كه قابل آدرس دهي بيتي مي باشند بستگي دارد يعني مثلا براي (0=0RS، 1=1RS) 0R بيان گر بايت شماره هشتم از RAM داخلي و مثلا 3R بيان گر بايت 11 از RAM داخلي مي باشد . استفاده از دستورات رجيستر هاي بانك ثبات به روش آدرس دهي مستقيم كه در ادامه توضيح داده مي شود ترجيح دارد.
6-1) ثبات هاي كنترلي:
1-6-1) ثبات آكومولاتور(Accumulator):
اكومولاتور يا ACC كه به اختصار در دستورات A هم نوشته مي شد يك رجيستر 8 بيتي بوده كه تقريبا بيشتر عمليات انتقال و منطق و شيفت به علت آدرس شدن بيتي روي آن انجام مي شود.
2-6-1) ثبات كلمه وضعيت برنامه (program statues word)PSW:
بيت هاي اين ثبات تحت تاثير بعضي عمليات هاي ميكروپروسسوري (رياضي يامنطقي) فعال مي شوند اين ثبات داراي بيت هاي آدرس پذير بوده و شامل بيت هاي زير مي باشد:
بيت پرچم نقلي: هشتمين بيت پرچم اين بايت است و يك بيت دومنظوره است اگر در يك عمل جمع يك بيت نقلي از بيت 7 آكومولاتور خارج شود يا در طي عمل تفريق يك بيت فرضي به بيت هفتم وارد شود بيت پرچم نقلي يك مي شود
بيت پرچم نقلي كمكي: هنگام جمع كردن اگر يك انتقال از بيت 3 به بيت چار آكومولاتور اتفاق بيفتد پرچم نقلي كمكي يك مي شود
بيت پرچم صفر: يك بيت پرچم همه منظوره براي استفاده كاربران است
بيت پرچم سرريز (over flew flag) OV: اگر نتيجه جمع يا تفريق در آكولاموتور جا نشود پرچم سرريز يك مي شود كه بيانگر ناصحيح بودن نتيجه موجود در آكولاموتور است
بيت توازن (parity bit): اين بيت به طور خودكار با توجه به محتواي اكولاموتور صفر يا يك مي گردد به طوري كه تعداد بيت هاي يك انباره به اضافه اين بيت به تعداد زوج منجر شود
3-6-1) ثبات B: اين ثبات يك ثبات 8 بيتي آدرس پذير مي باشد كه هم به عنوان يك رجيستر عمومي و هم براي كاربرد خاص در نظر گرفته شده است كه كاربرد خاص و اصلي آن انجام عمليات ضرب و تقسيم در آن مي باشد.
4-6-1) SP ياحافظه اشاره گر پشته( stack pointer):
SP يك رجيستر 8 بيتي است كه آدرس آن خانه H1 8 از RAM داخلي مي باشد استفاده از آن زماني است كه نياز به يك حافظه موقت جهت انجام عملي باشد و نخواهيم محتواي قبلي آن از بين برود و يا هنگامي كه بخواهيم به يك برنامه فرعي برويم (مثلا با دستور CALL) اگر لازم باشد بعضي از نتايج برنامه اصلي در جايي ذخيره گردد تا در برنامه فرعي چنانچه مجددا از آنها استفاده كرديم محتواي قبلي آن از بين نرود و با برگشت به برنامه اصلي بتوانيم از آنها استفاده نماييم. شماره آدرس اين فضا به وسيله اشاره گر پشته يا SP مشخص مي شود (كه براي همين بايد SP را در ابتداي كار عدد دهي كنيم) و چنانچه اين كار انجام نشود ميكروكنترلر مقدار H7 0 را براي آن در نظر مي گيرد دستورات PUSH و POP مربوط به اين قسمت از حافظه مي باشد كه در مورد آنها در قسمت هاي بعد توضيح داده مي شود
5-6-1) ثبات اشاره گر(Data Pointer Register):
اين ثبات دو بايتي بوده و مي توانديك عدد چهار رقمي هگز را در خود ذخيره كند كه از آن به عنوان آدرسي براي دستيابي به حافظه كد يا داده خارجي استفاده مي شود و آدرس آن H82 و H83 از RAM داخلي درقسمت SFRقرار دارد
6-6-1) ثبات تايمر (كانتر):
تايمر:
8051 داراي دو قبات 16 بيتي متمايز است كه مي تواند هم به صورت تايمر و هم به صورت شمارنده عمل كند كه در حالت تايمر اين ثبات با يك عدد پر مي شود و بايك فركانس خاص شروع به زياد شدن مي كند تا به حداكثر رسيده و به صفر بر مي گردد كه اين حالت يك بيت يافلگ را از صفر به يك تغيير مي دهد
كانتر:
در اين حالت چون بايد اتفاقات شمرده شود بنابراين پالس از خارج ميكرو كنترلر به پايه آي سي (1T ، 0T) امده و باعث افزايش محتواي ثبات مي شود و به صورت شمارنده عمل مي كند كه توضيح كامل عملكرد اين ثبات در مبحث تايمر آمده است .
نقد و بررسیها
هنوز بررسیای ثبت نشده است.