دانلود با لینک مستقیم و پر سرعت .
لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه89
فصل اول: میکروکنترلر 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
- 0
RXD
دریافت داده درگاه سریال
11
- 1
TXD
ارسال داده درگاه سریال
12
- 2
INT0
وقفه خارجی صفر
13
- 3
INT1
وقفه خارجی یک
14
- 4
T0
ورودی تایمر یا کانتر صفر
15
- 5
T1
ورودی تایمر یا کانتر یک
16
- 6
WR
سیگنال فعال ساز نوشتن
17
- 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 یاحافظه اشاره گر پ