دانلود با لینک مستقیم و پر سرعت .
لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه50
فهرست مطالب
تهیهکننده
مهدی نیازمندان
بهار1385
مقدمه 7
فصل اول 8
باسها و اجزای داخلی کامپیوتر 8
1-1 باسها و عملکردشان 8
1-1-1 باس نوع یک 9
1-1-2 باس نوع دو 10
1-1-3 باس نوع3 12
1-2 ثباتها 17
1-3 واحد محاسبه و منطق(ALU) 18
1-4 رجیستر دستورالعمل (IR) 19
1-5 واحد کنترل و زمانبندی 19
فصل دوم 20
حافظهها 20
2-1 ROM 20
2-2 EPROM 20
2-3 E2PROM 20
2-4 RAM 21
2-5 RAM هایاستاتیک و دینامیک 21
فصل سوم 21
کامپیوتر شریف 21
3-1 بلوک دیاگرام کامپیوتر شریف 22
3-1-1 باس داده (DB) 22
3-1-2 واحد محاسبه ومنطق (ALU) 23
3-1-3 رجیستر وضعیت 23
3-1-4 آکومولاتور (Acc) 24
3-1-5 واحد زمانبندی و کنترل 24
3-1-6 رجیستر دستورالعمل (IR) 25
3-1-7 شمارنده برنامه (PC) 25
3 -1-8 باس آدرس (AB) 25
3-2 دو عمل اصلی CPU 25
3-3 عملکرد کامپیوتر شریف و قالب بندی دستورالعملها 27
3-4 شاخصها 28
فصل چهارم 30
میکرو پروسسور 8085 30
4-1 پایههای 8085 30
4-1-1 0AD-7AD 30
4-1-2 15A-8A 30
4-1-3 Error! Objects cannot be created from editing field codes. 31
4-1-4 READY 31
4-1-5 HOLD 31
4-1-6 HLDA 31
4-1-7 INTR 31
4-1-8 INTA 32
4-1-9 (7.5, 6.5) RST5.5 32
4-1-10 TRAP 32
4-1-11 RESET IN 32
4-1-12 RESET OUT 32
4-1-13 X1,X2 32
4-1-14 CLK OUT 33
4-1-15 SID 33
4-2 شاخصها 33
4-3 انواع آدرسدهی در 8085 34
4-3-1 روش آدرسدهی مستقیم 34
4-3-2 روش آدرسدهی ثباتی 35
4-3-3 روش آدرسدهی فوری 35
4-3-4 روش آدرسدهی غیر مستقیم 35
4-3-5 روش آدرسدهی مستتر 35
4-4 برنامهنویسی در 8085 36
4-4-1 انتقال داده 36
4-4-2 گروه دستورهای محاسباتی 38
4-4-3 گروه شامل دستورات منطقی 41
4-4-4 گروه دستورات پرش 42
4-4-5 گروه دستورات O/I و کنترل ماشین و Stack 42
4-5 وقفه ها 45
4-6 زمانبندی 47
4-6-1 سیکل خواندن 47
4-6-2 سیکل نوشتن 48
4-6-3 زمانبندی یک دستورالعمل نمونه 48
4-5 IC های جانبی 8085 49
4-6-1 IC های 8755 و 8355 49
4-6-2 IC های 8155 و 8156 50
4-6-3 8255 (PPI) 51
4-7 اسکن صفحه کلید 54
4-8 کنترل موتور پلهای 56
4-9 برنامة چراغ راهنما 57
4-9 ثابتها و آرایهها در زبان اسمبلی 59
فصل پنجم 61
میکروکنترلر 8051 61
5-1 بررسی اجمالی پایههای 8051 62
5-1-1 درگاه صفر 62
5-1-2 درگاه یک 63
5-1-3 درگاه دو 63
5-1-4 درگاه سه 63
5-1-5 PSEN 64
5-1-6 ALE 64
5-1-7 64
5-1-8 RST 64
5-1-9 ورودیهای نوسانساز 65
5-1-10 اتصالات تغذیه 65
5-2 سازمان حافظه 66
5-2-1 RAM همه منظوره 66
5-2-2 RAM بیت آدرس پذیر 66
5-2-3 بانک های ثبات 67
5-2-4 ثباتهای کاربرد خاص 68
5-3 دستیابی به حافظه کد و داده خارجی 70
5-4 روشهای آدرس دادن 71
5-4-1 آدرسدهی ثبات 71
5-4-2 آدرس دهی مستقیم 72
5-4-3 آدرس دهی غیر مستقیم 73
5-4-4 آدرس دهی فوری 73
5-4-5 آدرس دهی نسبی 74
5-4-6 آدرس دهی مطلق 74
5-4-7 آدرس دهی طولانی 75
5-4-8 آدرس دهی اندیس دار 75
5-5 انواع دستورالعملها 75
5-5-2 دستورالعملهای منطقی 76
5-5-3-1 RAM داخلی 77
5-5-3-2 RAM خارجی 77
5-5-3-3 جدولهای جستجو 78
5-5-4 دستورالعملهای بولی 78
5-5-5 دستورالعملهای انشعاب برنامه 79
5-6 تایمرها 79
5-6-1 ثبات حالت تایمر 80
5-6-2 ثبات کنترل تایمر 82
5-7 شروع به کار، توقف و کنترل تایمرها 83
5-8 عملیات درگاه سریال 85
5-8-1 حالت 1 85
5-8-2 حالت 2 86
5-8-3 حالت 3 86
5-8 وقفه ها 88
5-8-1 سازمان وقفه 88
5-8-2 فعال و غیر فعال کردن وقفه ها 88
5-8-3 تقدم وقفه ها 89
5-8-4 اجرای وقفهها 90
5-8-5 بیتهای پرچم وقفهها 90
5-8-6 بردارهای وقفه 91
فصل ششم 94
میکروکننده های AVR 94
6-1 مقدمه 94
6-2 پایه ها و سیگنال ها 95
6-3 امکانات موجود در AVR 97
6-3-1 CPU 97
6-3-2 حافظه ها 101
6-3-2-1 حافظه برنامه 101
6-3-3 مدارات راه اندازی و کنترل 103
6-3-4 واحدهای جانبی (I/O) 105
فصل هفتم 107
DMA 107
7-1 مفهوم DMA 107
7-2 برنامه ریزی تراشه 8237 DMA 108
7-3 ثبات های کنترل داخلی 8237 108
7-3-1 ثبات فرمان 109
7-3-2 ثبات وضعیت 109
7-3-3 ثبات مد 109
7-3-4 ثبات تک پوشش 110
7-3-5 ثبات تمام پوشش 110
7-3-6 ثبات موقت/پاک کردن اصلی 110
7-3-7 پاک کردن ثبات پوشش 110
پیشگفتار
در اوایل دهه 60 میلادی ایالات متحده در آستانه شکل گیری تکنولوژی نوینی در مهندسی برق بود. ترانزیستور که کمی پس از پایان جنگ جهانی دوم توسط سه دانشمند در آزمایشگاههای کمپانی بل ابداع شده بود، کم کم جایگزین رقیبش لامپ خلا می شد.
در سال 1968 رابرت نویس و گوردون مور، دو نفر از پایه گذاران اصلی کمپانی فیرچایلد شرکت جدیدی موسوم به اینتل تاسیس نمو دند. در سال 1969 یک شرکت ژاپنی سازنده ماشین حساب, به آنها سفارش یک آی سی خاص برای ماشین حسابهای جدید خود داد و یک پردازنده مرکزی (CPU) چهار بیتی بر روی یک تراشه ساخته شد و بدین ترتیب خانواده IC های اینتل 4000 متولد گردید. این روند ادامه پیدا کرد و در سال 1972, آی سی هشت بیتی 8008 , پس از آن 8080 , 8085 ودر اواخر دهه1970 چند میکروپروسسور 16 بیتی به بازار عرضه شد .
این تحول تا امروز ادامه داشته است و میکروپروسسورهای 32 بیتی و 64 بیتی(پنتیوم) پا به عرصه وجود گذاشتهاند. اکثر میکروکامپیوتر های اولیه به صورت کیت فروخته می شدند و برای انجام کاری خاص, باید به زبان ماشین برنامه ریزی می شدند و قابلیت تولید انبوه را نداشتند, تا اینکه در1982 شرکت IBM برای اولین بار شروع به فروش کامپیوترهای شخصی نمود و امروزه شاهد جهش های ناباورانه ای در زمینه رشد تکنولوژی وقا بلیت های کامپیوترهای شخصی هستیم.
گردآورنده
مقدمه
این مجموعه به بررسی مبانی تکنولوژی ریز پردازندهها می پردازد و به عنوان یک منبع درسی, برای درس ساختار و زبان ماشین در نظر گرفته شده است. تمرکز ما در این کتاب، فهم اجزاء سخت افزاری یک سیستم میکروکامپیوتر و نقش نرم افزار در کنترل سخت افزار است.
قسمت عمده آنچه در این مجموعه ملاحظه می شود, از بخش های مختلف چند کتاب و نیز جزوه درس ساختار و زبان ماشین گردآوری شده است. در این مجموعه به بررسی میکروپروسسور هشت بیتی" شریف"، میکروپروسسور هشت بیتی 8085 , میکروکنترلر هشت بیتی 8051 و در انتها به اختصار به میکروکنترلر AVR می پردازیم. البته در مورد میکروپروسسور" شریف"، به دلیل آنکه صرفا یک مدل برای یادگیری و آشنایی اولیه است, به سخت افزار چندانی پرداخته نمی شود. دو مورد بعدی که از میکروپروسسور های واقعی و ساخت شرکت اینتل هستند بطور مفصل تر مورد بررسی قرار می گیرند. یادآوری می نمایدکه تاکید بر ساختار سه باسه( CPU های استفاده کننده از سه باس) است که در فصل های بعدی بهنگام افزودن حافظه و I/O به کار می آید، به همین منظور, در فصل اول به معرفی باس می پردازیم. همچنین، در این درس به آیسیهای پشتیبان ویژه 8085 و روشهای I/O ی سری خواهیم پرداخت. همچنین، به اختصار به معرفی فلسفه و توری پایه DMA و AVR می پردازیم.
فصل اول
باسها و اجزای داخلی یک کامپیوتر
در این فصل ابتدا با باسها و زمانبندی عملکرد صحیح آنها, مطالبی از قبیل سهحالته و امکان اتصال خروجیهای چند گیت به یکدیگر آشنا خواهیم شد. ادامه این فصل به سایر اجزای اصلی کامپیوتر(CPU) اختصاص دارد.
1-1 باسها و عملکردشان
باس را میتوان یک مجموعه خط(سیم) برای انتقال داده بین یک ارسال کننده داده و یک گیرنده تعریف کرد. معمولا خطوط سیگنالی را که با یکدیگر وجه مشترکی دارند پهلوی هم گذاشته و آن را یک باس می نامیم. به این ترتیب باس داده, باس آدرس و باس کنترل و غیره را به دست میآوریم. در یک طراحی مناسب, باید مسائلی از قبیل مصونیت در مقابل نویز, اثرهای بارگذاری ac و dc, انعکاس ناشی از پالس های منطقی سریع و نیز تداخل بین هادیهای موازی باید در نظر گرفته شوند. ولی، از آنجا که ما در این درس درصدد پرداختن به جنبه الکترونیک عناصر نیستیم، از بحث در باره این مسائل صرف نظر می کنیم.
1-1-1 باس نوع اول
روی باس نوع 1, یک فرستنده سیگنال و یک گیرنده داریم. از آنجا که میکروپروسسورها با استفاده از تکنولژی MOS ساخته شده اند و توانایی جریاندهی شان بسیار محدود است, به عنوان یک قاعده کلی هرگاه بار روی باس از توانایی جریاندهی میکروپروسسور بیشتر باشد, یا گیرنده در برد اصلی نباشد بافر لازم است. منظور از بافرکردن باس, اتخاذ روشی برای اطمینان از انتقال سطوح منطقی معتبر بر روی باس است.
شکل 1-1 چند نوع بافر متداول را نشان می دهد. آی سی هایی از خانوادة TTL مانند 74LS245 و 4LS244 این جنبه گیرا را دارند که در هر آیسی هشت بافر وجود دارد. معمولا نه تنها بافر کردن فرستنده, که بافر کردن ورودی گیرنده ها نیز سودمند است, زیرا این کار مقدار بارهایی را که می توانند روی باس قرار بگیرند بسیار زیاد میکند. در مورد این دو آیسی در بخش 1-1-3 بیشتر توضیح داده شده است.
شکل 1-1 باس نوع یک
تمام بافرهای شکل 1-2 توانایی سه حالته بودن را دارند, به این معنی که علاوه بر دو حالت 0 و1 منطقی, یک حالت سوم هم میتوانند داشته باشند. این حالت سوم در واقع حالت امپدانس بالا یا مدار باز است. بافرهای سه حالته اجازه میدهند چند فرستنده یک خط باس را کنترل کنند. اگر تمام فرستندهها بجز یکی در حالت امپدانس بالا قرار گیرند هیچ تداخلی پیش نمیآید. این خاصیت در مورد باس نوع سوم مورد استفاده قرار میگیرد.
1-1-2 باس نوع دوم
در باس نوع 2, چند فرستنده و یک گیرندة سیگنال داریم. این نوع باس را نمیتوان با گیتهای TTL استاندارد ساخت. شکل 1-2 دلیل این امر را نشان میدهد. تا وقتی هر دو فرستنده میخواهند مقدار منطقی یکسانی روی خط قرار دهند, اشکالی پیش نمیآید. ولی همین که خروجی یکی 1 و یکی 0 باشد, باس وضعیت مبهمی پیدا میکند و بدتر اینکه امکان دارد از گیتی با خروجی 1 جریان زیادی وارد گیتی با خروجی 0 شود و هر دو گیت آسیب می ببینند. این وضعیت, نزاع بر سر باس نام دارد.
شکل 1-2 باس نوع دو
یک راه برای حل این مشکل استفاده از گیتهای سه حالته به عنوان فرستنده است. با فعال کردن تنها یک فرستنده در هر زمان, نزاع بر سر باس ختم میشود. مسالهای که این راه حل به وجود میآورد یک مدار منطقی اضافهای است که برای اطمینان از فعال کردن فقط یک فرستنده در هر زمان باید به کار برده شود.
راه حل دیگر استفاده از باس کلکتور باز (درین باز) شکل 1-3 است. در این طرح خروجی فرستندهها, کلکتور باز است.یعنی اینها میتوانند با اشباع کردن ترانزیستور خروجیشان, ولتاژ باس را به صفر بکشند, ولی برای رساندن ولتاژ باس به 1, به یک مقاومت بالابر(ولتاژ) خارجی احتیاج داریم. مثالی از این دست, NAND کلکتور باز 7401 است.
عیب این نوع باس این است که نمیتوان تعیین کرد که کدام فرستنده باس را صفر کرده است. به این ترتیب پروسسور مجبور است وضعیت (خروجی ها) را بخواند تا بتواند وسیله فعال کننده را بیابد, این روش, همهپرسی نام دارد.
شکل 1-3 باس نوع 2 با دروازه های کلکتور باز
البته در بسیاری حالات لازم نیست CPU بداند چه وسیلهای باس را صفر کرده است, مثلا حالت انتظار که از طرف یک حافظه کند که نمیتواند به سرعت داده مورد تقاضای CPU را فراهم آورد درخواست میشود. در این حالت اینکه کدام حافظه تقاضای انتظار کرده مهم نیست.
1-1-3 باس نوع سوم
باس نوع3, یک باس دو جهته است که روی آن چند ین فرستنده وچند گیرنده قرار دارد.
متداولترین مثال, باس داده در یک سیستم میکروپروسسوری است. شکل 1-4 جهت عبور داده از یک وسیله ورودی به CPU را نشان میدهد. توجه کنید که تمام فرستندهها به صورت گیتهای سه حالته وتمام گیرندهها به صورت لچ شامل فیلیپ فلاپهای D نشان داده شدهاند.
لزوم سه حالته بودن فرستندهها باید روشن باشد. در هر زمان تنها باید یک فرستنده, کنترل باس را در دست داشته باشد، اما ممکن است لزوم لچ داشتن گیرنده چندان واضح نباشد. چیزی که باید به یاد داشته باشیم این است که داده برای مدت کوتاهی روی باس قرار میگیرد. به عنوان مثال، هنگام اجرای یک دستور ورودی در سیکل M1 روی باس
شکل 1-4 جهت عبور داده بر روی یک باس دو جهته
داده آپ کد دستور IN وجود دارد. (مراحل اجرای یک دستور در فصلهای بعدی به تفضیل شرح داده خواهد شد) در سیکل ماشین بعدی این باس آدرس دریچه ورودی/خروجی را دارد. در سیکل ماشین سوم وسیله ورودی فعال شده و داده را روی باس قرار میدهد. چون هر سیکل ماشین تنها چهار یا پنج سیکل ساعت طول میکشد, هر گیرنده باید موقعی که نوبتش است داده را سریعا در لچ خود قرار دهد.
مساله اصلی باس3 همین است؛ چطور یک گیرنده یا فرستنده میفهمد که نوبتش رسیده است؟
پاسخ این سوال به روشهای کدگشایی باس آدرس وکنترل برمیگردد, این روشها را در آینده به تفضیل خواهیم دید؛ ولی ایده به حد کافی ساده است. در واقع زمانبندی عملکرد این باس از این قرار است : اگر خط خواندن I/O باس کنترل فعال است, و آدرس ما روی باس آدرس قرار دارد, نوبت ماست که داده را روی باس قرار دهیم و باید فرستنده سه حالته خود را فعال کنیم. البته باز هم بافر نیاز است. شکل 1-5 روش کار را نشان میدهد. برای هر خط دو گیت سه حالته با خطوط Enable, READ و WRITE مجزا لازم است. سیگنالهای فعال کننده را باید از باس کنترل میکروپرسسور گرفت.