فرمت فایل : WORD (قابل ویرایش)
تعداد صفحات:76
فهرست مطالب:
عنوان صفحه
چکیده 1
فصل اول
آشنایی با میکروکنترلرها
1-1 مقدمه 2
2-1 اصطلاحات فنی 4
3-1 واحد پردازش مرکزی 4
4-1 حافظه نیمه رسانا: RAM و ROM 6
5-1 گذرگاهها: آدرس، داده و کنترل 7
6-1 ابزارهای ورودی/خروجی 9
1-6-1 ابزارهای ذخیره سازی انبوه 9
2-6-1 ابزارهای رابط انسان 10
3-6-1 ابزارهای کنترل/ نظارت 10
8-1 میکروها، مینیها و کامپیوترهای مرکزی 11
9-1 مقایسه ریز پردازندهها با میکروکنترلرها 11
1-9-1 معماری سخت افزار 12
2-9-1 کاربردها 13
3-9-1 ویژگیهای مجموعه ی دستوالعملها 13
فصل دوم
خلاصه سخت افزار
1-2 مروری بر خانواده MCS–50TM 16
2-2 بررسی اجمالی پایهها 17
1-2-2 درگاه 0 18
2-2-2 درگاه 1 18
3-2-2 درگاه 2 19
4-2-2 درگاه 3 19
5-2-2 PSEN (Program Store Enable) 19
6-2-2 ALE (Address Latch Enable) 19
7-2-2 EA (External Access) 20
8-2-2 RST (Reset) 20
9-2-2 ورودیهای نوسان ساز روی تراشه 21
10-2-2 اتصالات تغذیه 21
3-2 ساختار درگاه 21
4-2 سازمان حافظه 23
1-4-2 RAM همه منظوره 23
2-4-2 RAM بیت آدرس پذیر 24
3-4-2 بانکهای ثبات 25
5-2 ثباتهای کاربرد خاص 26
1-5-2 کلمه وضعیت برنامه 26
1-1-5-2 پرچم نقلی 27
2-1-5-2 پرچم نقلی کمکی 27
3-1-5-2 پرچم 0 27
4-1-5-2 بیتهای انتخاب بانک ثبات 27
5-1-5-2 پرچم سرریز 27
6-1-5-2 بیت توازن2 28
2-5-2 ثبات B 28
3-5-2 اشاره گر پشته 28
4-5-2 اشاره گر داده3 29
5-5-2 ثباتهای درگاه 4 29
6-5-2 ثباتهای تایمر 30
7-5-2 ثباتهای درگاه سریال 30
8-5-2 ثباتهای وقفه 31
9-5-2 ثبات کنترل توان4 31
1-9-5-2 حالت معلّق 31
2-9-5-2 حالت افت تغذیه 31
فصل سوم
عملیات درگاه سریال
1-3 مقدمه 34
2-3 ثبات کنترل درگاه سریال 35
3-3 حالت عملکرد 36
1-3-3 ثبات انتقال 8 بیتی (حالت 0) 37
2-3-3 UART بیتی با نرخ ارسال متغیر (حالت1) 39
3-3-3 UART بیتی با نرخ ارسال ثابت (حالت 2) 39
4-3-3 UART بیتی با نرخ ارسال متغیر (حالت 3) 39
4-3 مقدار دهی اولیه و دستیابی به ثباتهای درگاه سریال 40
1-4-3 فعال ساز گیرنده 40
2-4-3 بیت داده ی نهم 40
3-4-3 افزودن یک بیت توازن 40
4-4-3 پرچمهای وقفه 41
5-3 ارتباط چند پردازنده ای 42
فصل چهارم
وقفهها
1-4 مقدمه 43
2-4 سازمان وقفه 8051 45
1-2-4 فعال و غیر فعال کردن وقفهها 45
2-2-4 تقدم وقفه 46
3-2-4 ترتیب اجرا 47
3-4 وقفههای پردازنده 47
1-3-4 برداری وقفه 48
4-4 طراحی برنامه با استفاده از وقفه 49
1-4-4 روالهای سرویس وقفه کوچک 50
5-4 تفاوت میکروپروسسور و میکروکنترلر 50
میکروپروسسورها
فصل پنجم
معرفی میکروپروسسورهای 8080 و 8085
1-1 مدلهای CPU برای میکروپروسسورهای 8080، 8085 53
1-2 مدلهای برنامه نویسی برای 8080، 8085 57
فصل ششم
ساخت میکروکامپیوتر
2-1 تولید سیگنال ساعت سیستم 61
فصل هفتم
ساخت میکروکامپیوتر
3-1 سلسله مراتب حافظه 64
فصل هشتم
ساخت میکروکامپیوتر
4-1 طراحی یک دریچة ورودی 8 بیتی 67
4-2 طراحی یک دریچه خروجی 8 بیتی 67
فصل نهم
آی سیهای پشتیبان ویژه:خانواده 8085/ 8080
5-1 A8755، 16KEPROM با I/O 69
5-2 متصل کننده قابل برنامه ریزی وسیله جانبی A8255 69
فصل دهم
آی سیهای پشتیبان ویژه: خانواده Z-80
6-1 کنترل کنندة ورودی/خروجی موازی 8400 71
منابع 76
فهرست اشکال
عنوان صفحه
شکل1-1نمودار بلوکی یک سیستم میکرو کامپیوتری 4
شکل1-2 واحد پردازش مرکزی 5
شکل 1-3 فعالیت گذرگاه در یک سیکل واکنشی کد عملیاتی 6
شکل1-4 نمودار بلوکی مفصل یک سیستم میکروکامپوتری 11
شکل2-1 نمودار بلوکی 8051 14
شکل2-2 پایه های 8051 16
شکل 2-3 راه اندازی 8051 با یک نوسان ساز TTL 19
شکل2-4 مدارات درگاه I/O 19
شکل2-5 خلاصه فضای خالی 21
شکل2-6 خلاصه حافظه داده روی تراشه در 8051 22
شکل3-1نمودار بلوکی درگاه سریال 32
شکل3-2 زمانبندی ارسال برای حالت صفر درگاه سریال 34
شکل 3-3 زمانبندی دریافت برای حالت صفر درگاه سریال 35
شکل3-4 درگاه سریال در حالت ثبات انتقال 35
شکل3-5 اعمال پالس های ساعت به درگاه سریال 36
شکل3-6 1 شدن پرچم T1 درگاه سریال 37
شکل3-7 ارتباط چند پردازنده ای 40
شکل4-1 اجرای برنامه با وقفه 42
شکل 4-2 سازمان حافظه هنگام استفاده از وقفه ها 47
فهرست جداول
عنوان صفحه
جدول 2-1 عملکرد خاص پایه ها 17
جدول 1-3 خلاصه ی SCON (ثبات کنترل سریال) 32
جدول 3-2 حالت های درگاه سریال 33
جدول4-1 خلاصه ثبات IE 43
جدول4-2 خلاصه ثبات IP 44
جدول 4-3 بیت های پر وقفه 45
جدول 4-4 بردارهای وقفه 46
چکیده
میکروکنترلرقطعه ای شبیه به ریزپردازنده است. در 1969 اینتل 8748 را به عنوان اولین قطعه خانوادهی میکروکنترلرهای MCS-48 TM معرفی کرد. 8748 با 17000 ترانزیستور در یک مدار مجتمع، شامل یک CPU، 1 کیلو بایت EPROM، 64 بایت RAM، 27 پایه I/O و یک تایمر 8 بیتی بود. این IC و دیگر اعضای MCS-48 TM که پس از آن آمدند، خیلی زود به یک استاندارد صنعتی در کاربردهای کنترل گرا تبدیل شدند. جایگزین کرن اجزاء الکترومکانیکی در فرآوردههایی مثل ماشینهای لباسشویی و چراغهای راهنمایی از ابتدای کار، یک کاربرد مورد توجه برای این میکروکنترلرها بودند و همین طور باقی ماندند. برنامهها و دادهها در حافظه ذخیره میشوند. حافظههای کامپیوتر بسیار متنوعند و اجزای همراه آنها بسیار، و تکنولوژی بطور دائم و پی در پی موانع را برطرف میکند، بگونه ای که اطلاع از جدیدترین پیشرفتها نیاز به مطالعه ی جامع و مداوم دارد. حافظههایی که بطور مستقیم توسط CPU قابل دستیابی میباشند، ICهای (مدارهای مجتمع) نیمه رسانایی هستند که RAM و ROM نامیده میشوند. یک گذرگاه عبارت است از مجموعه ای از سیمها که اطلاعات را با یک هدف مشترک حمل میکنند. امکان دستیابی به مدارات اطراف CPU توسط سه گذرگاه فراهم میشود: گذرگاه آدرس، گذرگاه داده و گذرگاه کنترل. برای هر عمل خواندن یا نوشتن، CPU موقعیت داده (یا دستورالعمل) را با قرار دادن یک آدرس روی گذرگاه آدرس مشخص میکند و سپس سیگنالی را روی گذرگاه کنترل فعال مینماید تا نشان دهد که عمل مورد نظر خواندن است یا نوشتن. عمل خواندن، یک بایت داده را از مکان مشخص شده در حافظه بر میدارد و روی گذرگاه داده قرار میدهد. CPU داده را میخواند و در یکی از ثباتهای داخلی خود قرار میدهد. برای عمل نوشتن CPU داده را روی گذرگاه داده میگذارد. حافظه تحت تاثیر سیگنال کنترل، عملیات را به عنوان یک سیکل نوشتن، تشخیص میدهد و داده را مکان مشخص شده ذخیره میکند. ابزارهای کنترل، ابزارهای خروجی یا عمل کننده1 هستند. آنها وقتی که با یک ولتاژ یا جریان، تغذیه شوند میتوانند بر جهان پیرامون خود اثر بگذارند (مثل موتورها و رله ها). ابزارهای نظارت، ابزارهای ورودی یا حسگر 2 هستند که با کمیتهایی نظیر حرارت، نور فشار و حرکت و مانند آن، تحریک شده و آنها را به جریان یا ولتاژی که توسط CPU خوانده میشود تبدیل میکنند (مثل فتوترانزیستورها، ترمیستورها و سوئیچ ها). ثباتهای داخلی 8051 به عنوان بخشی از RAM روی تراشه پیکربندی شده اند. بنابراین هر ثبات دارای یک آدرس نیز هست. این برای 8051 منطقی است چون ثباتهای زیادی دارد. علاوه بر RO تا R7، 21 ثبات کاربرد خاص (SFR) در ناحیه بالای RAM از آدرس 80H تا FFH وجود دارد. (به شکل 6-2 و ضمیمه ت مراجعه شود). دقت کنید که اکثر 128 آدرس از 80H تا FFH تعریف نشده اند. تنها 21 آدرس SFR تعریف شده است.
فصل اول
آشنایی با میکروکنترلرها
1-1 مقدمه
گرچه کامپیوترها تنها چند دههای است که با ما همراهند، با این حال تاثیر عمیق آنها بر زندگی ما با تاثیر تلفن، اتومبیل و تلویزیون رقابت میکند. همگی ما حضور آنها را احساس میکنیم، چه برنامه نویسان کامپیوتر و چه دریافت کنندگان صورت حسابهای ماهیانه که توسط سیستمهای کامپیوتری بزرگ چاپ شده و توسط پست تحویل داده میشود. تصور ما از کامپیوتر معمولاً داده پردازی است که محاسبات عددی را بطور خستگی ناپذیری انجام میدهد.
ما با انواع گوناگونی از کامپیوترها برخورد میکنیم که وظایفشان را زیرکانه و بطرزی آرام، کارا و حتی فروتنانه انجام میدهند و حتی حضور آنها اغلب احساس نمی شود. ما کامپیوترها را به عنوان جزء مرکزی بسیاری از فرآوردههای صنعتی و مصرفی از جمله، در سوپر مارکتها داخل صندوقهای پول و ترازوها؛ در خانه، در اجاق ها، ماشینهای لباسشویی، ساعتهای دارای خبر دهنده و ترموستات ها؛ در وسایل سرگرمی همچون اسباب بازیها، 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 را معرفی میکند و از طریق مثالهای طراحی متعدد نشان میدهند که چگونه اعضای این خانواده میتوانند در طراحیهای الکترونیکی با کمترین اجزاء اضافی ممکن شرکت داشته باشند.
در بخشهای بعدی از طریق یک آشنایی مختصر با معماری کامپیوتر، یک واژگان کاری از اختصارات و کلمات فنی که در این زمینه متداولند (و اغلب با هم اشتباه میشوند) را ایجاد خواهیم کرد. از آن جا که بسیاری اصطلاحات در نتیجه تعصب شرکتهای بزرگ و سلیقه مولفان مختلف دچار ابهام شده اند، روش کار ما در این زمینه بیشتر عملی خواهد بود تا آکادمیک. هر اصطلاح در متداول ترین حالت با یک توضیح ساده معرفی شده است.
2-1 اصطلاحات فنی
یک کامپیوتر توسط دو ویژگی کلیدی تعریف میشود:
(1) داشتن قابلیت برنامه ریزی برای کار کردن روی داده بدون مداخله انسان و
(2) توانایی ذخیره و بازار یابی داده. عموماً یکی سیستم کامپیوتری شامل ابزارهای جانبی برای ارتباط با انسانها به علاوه ی برنامههایی برای پردازش داده نیز میباشد. تجهیزات کامپیوتر سخت افزار، و برنامههای آن نرم افزار نام دارند. در آغاز اجازه بدهید کار خود را با سخت افزار کامپیوتر و با بررسی شکل 2-1 آغاز میکنیم.
شکل 1-1: نمودار بلوکی یک سیستم میکروکامپیوتری
نبود جزئیات در شکل عمدی است و باعث شده تاشکل نشان دهنده ی کامپیوترهایی در تمامی اندازهها باشد. همان طور که نشان داده شده است، یک سیستم کامپیوتری شامل یک واحد پردازش مرکزی (cpu) است که از طریق گذرگاه آدرس 2، گذرگاه داده 3 و گذرگاه کنترل 4 به حافظه قابل دستیابی تصادفی 5 (RAM) و حافظه فقط خواندنی6 (RAM) متصل میباشد. مدارهای واسطه7 گذرگاههای سیستم را به وسایل جانبی متصل میکنند. حال اجازه بدهید تا هر یک از اینها را بطور مفصل بررسی کنیم.
3-1 واحد پردازش مرکزی
CPU، به عنوان «مغز» سیستم کامپیوتری، تمامی فعالیتهای سیستم را اداره کرده و همه ی عملیات روی داده را انجام میدهد. اندیشه ی اسرار آمیز بودن CPU در اغلب موارد نادرست است، زیرا این تراشه فقط مجموعه ای از مدارهای منطقی است که بطور مداوم دو عمل را انجام میدهند: واکنش 8 دستورالعملها و اجرای آنها. CPU توانایی درک و اجرای دستورالعمل ها، را بر اساس مجموعه ای از کدهای دودویی دارد که هر یک از این کدها نشان دهنده ی یک عمل ساده است. این دستورالعملها معمولاً حسابی (جمع، تفریق، ضرب و تقسیم) منطقی (AND، OR، NOT و غیره)، انتقال داده یا عملیات انشعاب هستند و یا مجموعه ای از کدهای دودویی با نام مجموعه ی دستورالعملها نشان داده
می شوند.
شکل 1-2: واحد پردازش مرکزی
شکل 1-2 یک تصویر بی نهایت ساده شده از داخل یک CPU است. این شکل مجموعه ای از ثبات را برای ذخیره سازی موقت اطلاعات، یک واحد عملیات حسابی و منطقی2 (ALU) برای انجام عملیات روی این اطلاعات، یک واحد کنترل و رمزگشایی دستورالعمل 3 (که عملیاتی را که باید انجام شود تعیین میکند و اعمال لازم را برای انجام آنها شروع مینماید). و دو ثبات اضافی را نشان میدهد.
ثبات دستورالعمل(IR) کد دودویی هر دستورالعمل را در حال اجرا نگه میدارد و شمارنده برنامه (PC) آدرس حافظه دستورالعمل بعدی را که باید اجرا شود نشان میدهد.
واکشی یک دستورالعمل از RAM سیستم یکی از اساسی ترین اعمالی است که توسط CPU انجام میشود و شامل این مراحل است: (الف) محتویات شمارنده ی برنامه در گذرگاه آدرس قرار میگیرد (ب) یک سیگنال کنترل READ فعال میشود (پ) داده (کد عملیاتی4 دستورالعمل) از RAM خوانده میشود و روی گذرگاه داده قرار میگیرد (ت) کد عملیاتی در ثبات داخلی دستورالعمل CPU ذخیره میشود و (ث) شمارنده ی برنامه یک واحد افزایش مییابد تا برای واکنش بعدی از حافظه آماده شود. شکل 4-1 نشان دهنده ی جریان اطلاعات برای واکشی یک دستورالعمل است.