فهرست مطالب :
فصل اول
آشنایی با میکروکنترلرها
1-1 مقدمه 2
2-1 اصطلاحات فنی 4
3-1 واحد پردازش مرکزی 5
4-1 حافظه نیمه رسانا: RAM و ROM 7
5-1 گذرگاهها: آدرس، داده و کنترل 7
6-1 ابزارهای ورودی/خروجی 9
1-6-1 ابزارهای ذخیره سازی انبوه 9
2-6-1 ابزارهای رابط انسان 10
3-6-1 ابزارهای کنترل/ نظارت 11
8-1 میکروها، مینیها و کامپیوترهای مرکزی 11
9-1 مقایسه ریز پردازندهها با میکروکنترلرها 12
1-9-1 معماری سخت افزار 12
2-9-1 کاربردها 13
3-9-1 ویژگیهای مجموعه ی دستوالعملها 14
فصل دوم
خلاصه سخت افزار
1-2 مروری بر خانواده MCS–50TM 17
2-2 بررسی اجمالی پایهها 18
1-2-2 درگاه 0 19
2-2-2 درگاه 1 20
3-2-2 درگاه 2 20
4-2-2 درگاه 3 20
5-2-2 PSEN (Program Store Enable) 20
6-2-2 ALE (Address Latch Enable) 21
7-2-2 EA (External Access) 21
8-2-2 RST (Reset) 22
9-2-2 ورودیهای نوسان ساز روی تراشه 22
10-2-2 اتصالات تغذیه 22
3-2 ساختار درگاه 22
4-2 سازمان حافظه 24
1-4-2 RAM همه منظوره 25
2-4-2 RAM بیت آدرس پذیر 27
3-4-2 بانکهای ثبات 27
5-2 ثباتهای کاربرد خاص 28
1-5-2 کلمه وضعیت برنامه 29
1-1-5-2 پرچم نقلی 29
2-1-5-2 پرچم نقلی کمکی 30
3-1-5-2 پرچم 0 30
4-1-5-2 بیتهای انتخاب بانک ثبات 30
5-1-5-2 پرچم سرریز 30
6-1-5-2 بیت توازن2 31
2-5-2 ثبات B 31
3-5-2 اشاره گر پشته 31
4-5-2 اشاره گر داده3 32
5-5-2 ثباتهای درگاه 4 33
6-5-2 ثباتهای تایمر 34
7-5-2 ثباتهای درگاه سريال 34
8-5-2 ثباتهای وقفه 34
9-5-2 ثبات کنترل توان4 35
1-9-5-2 حالت معلّق 35
2-9-5-2 حالت افت تغذیه 35
فصل سوم
عملیات درگاه سريال
1-3 مقدمه 37
2-3 ثبات کنترل درگاه سريال 38
3-3 حالت عملکرد 39
1-3-3 ثبات انتقال 8 بیتی (حالت 0) 39
2-3-3 UART بیتی با نرخ ارسال متغیر (حالت1) 40
3-3-3 UART بیتی با نرخ ارسال ثابت (حالت 2) 44
4-3-3 UART بیتی با نرخ ارسال متغیر (حالت 3) 44
4-3 مقدار دهی اولیه و دستیابی به ثباتهای درگاه سريال 44
1-4-3 فعال ساز گیرنده 44
2-4-3 بیت داده ی نهم 45
3-4-3 افزودن یک بیت توازن 45
4-4-3 پرچمهای وقفه 46
5-3 ارتباط چند پردازنده ای 46
فصل چهارم
وقفهها
1-4 مقدمه 49
2-4 سازمان وقفه 8051 50
1-2-4 فعال و غیر فعال کردن وقفهها 50
2-2-4 تقدم وقفه 51
3-2-4 ترتیب اجرا 52
3-4 وقفههای پردازنده 53
1-3-4 برداری وقفه 54
4-4 طراحی برنامه با استفاده از وقفه 54
1-4-4 روالهای سرویس وقفه کوچک 55
5-4 تفاوت میکروپروسسور و میکروکنترلر 56
ميكروپروسسورها
فصل اول
معرفی میکروپروسسورهای Z-80، 8080 و 8085
1-1 مدلهای CPU برای میکروپروسسورهای 8080، 8085 و Z-80 58
1-2 مدلهای برنامه نویسی برای 8080، 8085 و Z-80 63
فصل دوم
ساخت میکروکامپیوتر
2-1 تولید سیگنال ساعت سیستم 66
فصل سوم
ساخت میکروکامپیوتر
3-1 سلسله مراتب حافظه 69
فصل چهارم
ساخت میکروکامپیوتر
4-1 طراحی یک دریچة ورودی 8 بیتی 71
4-2 طراحی یک دریچه خروجی 8 بیتی 71
فصل پنجم
آی سیهای پشتیبان ویژه:خانواده 8085/ 8080
5-1 A8755، 16KEPROM با I/O 73
5-2 متصل کننده قابل برنامه ریزی وسیله جانبی A8255 73
فصل ششم
آی سیهای پشتیبان ویژه: خانواده Z-80
6-1 کنترل کنندة ورودی/خروجی موازی Z8400 75
منابع 77
مقدمه
گرچه کامپیوترها تنها چند دههای است که با ما همراهند، با این حال تاثیر عمیق آنها بر زندگی ما با تاثیر تلفن، اتومبیل و تلویزیون رقابت میکند. همگی ما حضور آنها را احساس میکنیم، چه برنامه نویسان کامپیوتر و چه دریافت کنندگان صورت حسابهای ماهیانه که توسط سیستمهای کامپیوتری بزرگ چاپ شده و توسط پست تحویل داده میشود. تصور ما از کامپیوتر معمولاً داده پردازی است که محاسبات عددی را بطور خستگی ناپذیری انجام میدهد.
ما با انواع گوناگونی از کامپیوترها برخورد میکنیم که وظایفشان را زیرکانه و بطرزی آرام، کارا و حتی فروتنانه انجام میدهند و حتی حضور آنها اغلب احساس نمی شود. ما کامپیوترها را به عنوان جزء مرکزی بسیاری از فرآوردههای صنعتی و مصرفی از جمله، در سوپر مارکتها داخل صندوقهای پول و ترازوها؛ در خانه، در اجاق ها، ماشینهای لباسشویی، ساعتهای دارای خبر دهنده و ترموستات ها؛ در وسایل سرگرمی همچون اسباب بازیها، VCRها، تجهیزات استریو و وسایل صوتی؛ در محل کار در ماشینهای تایپ و فتوکپی؛ و در تجهیزات صنعتی مثل متههای فشاری و دستگاههای حروفچینی نوری مییابیم. در این مجموعهها کامپیوترها وظیفه ی کنترل را در ارتباط با دنیای واقعی، برای روشن و خاموش کردن وسایل و نظارت بر وضعیت آنها انجام میدهند. میکروکنترلرها (برخلاف میکروکامپیوترها و ریزپردازنده ها) اغلب در چنین کاربردهایی یافت میشوند.
با وجود این که بیش از بیست سال از تولد ریز پردازنده نمی گذرد، تصور وسایل الکترونیکی و اسباب بازیهای امروزی بدون آن کار مشکلی است. در 1971 شرکت اینتل، 8080 را به عنوان اولین ریزپردازنده موفق عرضه کرد. مدت کوتاهی پس از آن، موتورولا، RCA و سپس MOS Technology و Zilog انواع مشابهی را به ترتیب به نامهای 6800، 1801، 6502، Z80 عرضه کردند. گرچه این مدارهای مجتمع (ICها) به خودي خود فایده چندانی نداشتند اما به عنوان بخشی از یک کامپیوتر تک بورد (SBC)، به جزء مرکزی فرآوردههای مفیدی برای آموزش طراحی با ریزپردازندهها تبدیل شدند.
از این SBCها که بسرعت به آزمایشگاههای طراحی در کالج ها، دانشگاهها و شرکتهای الکترونیکی راه پیدا کردند میتوان برای نمونه از D2 موتورولا، KLM-1 ساخت MOS Technology و SDK-85 متعلق به شرکت اینتل نام برد.
میکروکنترلرقطعه ای شبیه به ریزپردازنده است. در 1969 اینتل 8748 را به عنوان اولین قطعه خانوادهی میکروکنترلرهای MCS-48 TM معرفی کرد. 8748 با 17000 ترانزیستور در یک مدار مجتمع، شامل یک CPU، 1 کیلو بایت EPROM، 64 بایت RAM، 27 پایه I/O و یک تایمر 8 بیتی بود. این IC و دیگر اعضای MCS-48 TM که پس از آن آمدند، خیلی زود به یک استاندارد صنعتی در کاربردهای کنترل گرا تبدیل شدند. جایگزین کرن اجزاء الکترومکانیکی در فرآوردههایی مثل ماشینهای لباسشویی و چراغهای راهنمایی از ابتدای کار، یک کاربرد مورد توجه برای این میکروکنترلرها بودند و همین طور باقی ماندند. دیگر فرآوردههایی که در آن میتوان میکروکنترلر را یافت عبارتند از اتومبیل ها، تجهیزات صنعتی، وسایل سرگرمی و ابزارهای جانبی کامپیوتر. (افرادی که یک IBM-PC دارند کافی است به داخل صفحه کلید نگاه کنند تا مثالی از یک میکروکنترلر را در یک طراحی با کمترین اجزاء ممکن ببینند).
توان و ابعاد پیچیدگی میکروکنترلرها با اعلام ساخت 8051، یعنی اولین عضو خانواده ی میکروکنترلرهای MCS-51 TM در 1980 توسط اینتل پیشرفت چشمگیری کرد.در مقایسه با 8048 این قطعه شامل بیش از 60000 ترانریستور، K 4 بایت ROM، 128 بایت ROM، 32 خط I/O، یک درگاه سریال و دو تایمر 16 بیتی است. که از لحاظ مدارات داخلی برای یک IC بسیار قابل ملاحظه است.، (شکل 1-1 را ببینید). امروزه انواع گوناگونی از این IC وجود دارند که به صورت مجازی این مشخصات را دو برابر کرده اند. شرکت زیمنس که دومین تولید کننده ی قطعات MCS-51 TM است SAB80515 را به عنوان یک 8051 توسعه یافته در یک بسته 68 پایه با شش درگاه I/O 8 بیتی، 13 منبع وقفه و یک مبدل آنالوگ به دیجیتال با 8 کانال ورودی عرضه کرده است. خانواده ی 8051 به عنوان یکی ار جامعترین و قدرتمندترین میکروکنترلرهای 8 بیتی شناخته شده و جایگاهش را به عنوان یک میکروکنترلر مهم برای سالهای آینده یافته است. این کتاب درباره ی خانواده ی میکروکنترلرهای MCS-51 TM نوشته شده است. فصلهای بعدی معماری سخت افزار و نرم افزار خانواده MCS-51 TM را معرفی میکند و از طریق مثالهای طراحی متعدد نشان میدهند که چگونه اعضای این خانواده میتوانند در طراحیهای الکترونیکی با کمترین اجزاء اضافی ممکن شرکت داشته باشند.
در بخشهای بعدی از طریق یک آشنایی مختصر با معماری کامپیوتر، یک واژگان کاری از اختصارات و کلمات فنی که در این زمینه متداولند (و اغلب با هم اشتباه میشوند) را ایجاد خواهیم کرد. از آن جا که بسیاری اصطلاحات در نتیجه تعصب شرکتهای بزرگ و سلیقه مولفان مختلف دچار ابهام شده اند، روش کار ما در این زمینه بیشتر عملی خواهد بود تا آکادمیک. هر اصطلاح در متداول ترین حالت با یک توضیح ساده معرفی شده است.