فی گوو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فی گوو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

دانلود تحقیق بررسی میکروپروسسور و میکروکنترلر 8051

اختصاصی از فی گوو دانلود تحقیق بررسی میکروپروسسور و میکروکنترلر 8051 دانلود با لینک مستقیم و پر سرعت .

دانلود تحقیق بررسی میکروپروسسور و میکروکنترلر 8051


دانلود تحقیق بررسی میکروپروسسور و میکروکنترلر 8051

فصل اول
آشنایی با میکروکنترلرها
 
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 آغاز می‌کنیم.

 

شامل 84 صفحه word


دانلود با لینک مستقیم


دانلود تحقیق بررسی میکروپروسسور و میکروکنترلر 8051

دانلود مقاله وقفه ها و سازمان وقفه در 8051

اختصاصی از فی گوو دانلود مقاله وقفه ها و سازمان وقفه در 8051 دانلود با لینک مستقیم و پر سرعت .

 


1 مقدمه
وقفه ، حالتی است که باعث متوقف شدن یک برنامه به صورت موقت می شود ، که خود توسط یک برنامه دیگر فعال می گردد . وقفه ها نقش مهمی در طراحی و پیاده سازی کاربردهای میکروکنترل دارند ; اما می تواند اجرای یک برنامه به یک درخواست دیگر نیز پاسخ دهد . نباید تصور کنیم که سیستم دارای وقفه ، می تواند بسیاری از کارها را همزمان انجام دهد . البته ، CPU نمی تواند در هر لحظه بیش از یک دستور العمل را اجرا کند ; دستور العمل دیگر را اجرا کند و مجدداٌ به دستور اول باز گردد .در هر صورت ، این عمل شبیه یک زیروال است . CPU برنامه دیگر – زیروال – را اجرا کند و مجدداٌ به دستور اول باز گردد . در هر صورت ،‌این عمل شبیه یک زیروال است . CPU برنامه دیگر – زیروال – را اجرا کرده و سپس به برنامه اصلی بر می گردد . شبیه یک زیروال است .تفاوتی که در یک سیستم راه اندازی شده با وقفه وجود دارد ، این است که وقفه پاسخی به یک [اتفاق] است که به طور غیر همزمان با برنامه اصلی به وقوع می پیوندد و حالتی نیست ه برنامه اصلی مورد وقفه قرار میگیرد .
برنامه ای که مربوط به وقفه می شود یک روال سرویس وقفه (ISR) یا گرداننده وقفه نامیده می شود ISR در پاسخ به یکوقفه عمل کرده و معمولاٌ عملیات ورودی یا خروجی را برای یک دستگاه انجام می دهد . هنگام وقوع وقفه، اجرای برنامة اصلی متوقف شده و به ISR انشعاب صورت می گیرد ; ISR اجرامی شود و با دستورالعمل [برگشت از وقفه] پایان می پذیرد و برنامه اصلی ادامه می یابد . معمولاٌ برنامه اصلی سطح پایه و ISR سطح وقفه نامیده می شود . اصطلاحات اصلی (سطح پایه ) و فرعی (سطح وقفه) نیزمورد استفاده قرار می گیند . در شکل 1-6 قسمت (الف) ، اجرای برنامه بدون وقفه ، و در قسمت (ب) اجرای سطح پای ، در صورت وقوع وقفه اجرای ISR ها در سطح وقفه ، به نمایش در آمده است .
ورود اطلاعات توسط صفحه کلید ، نمونه ای از یک اجاق مایکروویو را در نظر بگیرید . برنامه اولیه(اصلی) ممکن است عنصر تغذیه مایکروویو را برای پخت ، و کاهش یا افزایش زمان پخت راکنترل کند . هنگامی که کاربر کلیدی فشار دهد یک وقفه تولید می شود ، (سیگنالی که می تواند از سطح پائین به بالا رود ) و برنامه اصلی مورد وقفه قرار می گیرد ، ISR کدهای صفحه کلید را می خواند و شرایط پخت را مطابق با آن تغییر می دهد و با برگشت به برنامه اصلی خاتمه می یابد و اجرای برنامه اصلی ادامه پیدا می کند . نکته مهم در این مثال این است که ورودی توسط شخص بطور [ غیر همزمان ] صورت می گیرد ، یعنی زمان وقوع آنتوسط نرم افزار راه انداز سیستم قابل کنترل و پیش بینی نیست . این یک وقفه است .

 

2- سازمان وقفه 8051
در 8051 ، پنج منبع وقفه وجود دارد : دو وقفه خارجی ، دو وقفه تابمر و یک وقفه درگاه سریال . در 8052 ، وقفه دیگیر نیز برای تایمری دیگر ، پیش بینی شده است . هنگام راه اندازی مجدد سیستم همه وقفه ها غیر فعال یشده و بطور جداگانه توسط نرم افزار فعال می گردند .
در صورت وقوع همزمان دو وقفه یاوقوع وقفه در صورتی که وقفه دیگری در حال اجراست ، دو سطح تقدم برای آنها در نظر گرفته می شود . توالی اجرا ثابت ، اما تقدم وقفه ها قابل برنامه ریزی ی باشد. اکنون چگونگی فعال و غیر فعال کردن وقفه ها را بررسی می کنیم .

 


1-2- فعال و غیر فعال کردن وقفه
هر یک از منابع مقفه به طور مجزا ، از طریق بیت آدرس پذیر مخصوص ، توسط ثبات IE (فعال کننده وقفه ) و آدرس 0A8H فعال یا غیر فعال می شوند . علاوه بر بیتهای فعال کننده خاص برای هر منبع وقفه ، یک بیت فعال کننده / غیر فعال کننده کلی نیز وجود دارد که پاک شدن آن کلیة وقفه ها غیر فعال شده و می توانند با 1 شدن آن ، مجدداٌ فعال شوند . (جدول 1) را ببینید )
برای فعال کردن هر وقفه ، دو بیت باید 1 شوند : بیت فعال کنندهخاص و بیت کلی . بطور مثال تایمر 1 وقفه ها ، به صورت زیر فعال می شود :
SETB ET 1 ;ENABLE Timer 1 INTERRUPT
SETB EA ; SET GLOBAL ENABLE BIT
این عمل را می توان با دستور زیر نیز انجام داد :
MOV IE,#10001000B

جدول 1 خلاص ثبات IE (فعال کنندة وقفه)
بیت نماد آدرس بیت شرح (غیر فعال = 0 ،، فعال = 1)
IE.7 EA AFH فعال / غیر فعال کلی
IE.6 - AEH نامعین
IE.5 ET2 ADH فعال کردن وقفه تایمر2(8052)
IE.4 ES ACH فعال کردن وقفه درگه سریال
IE.3 ET1 ABH فعل کردن وقفه تایمر 1
IE.2 EX1 AAH فعال کردن وقفه 1 خارجی
IE.1 ET0 A9H فعال کردن وقفه تایمر 0
IE.0 EX0 A8H فعال کردن وقفه 0 خارجی

 

اگر چه این دو روش ، دقیقاٌ همان اثر راه اندازی مجدد سیستم را دارند ، اگر IE را در وسط برنامه ، به صورت متعلق [معلق] برنامه ریزی کنیم ، اثر متفاوتی در برخواهد داشت . روش اول تأثیری بر پنج بیت دیگر ثبات IE ندارد ، در حالی که روش دوم بوضوح بیتهای دیگر را پاک می کند . بهتر است که در شروع برنامه IE را با دستور "MOVE BYTE" مقدار دهی کنیم ، ( یعنی به دنیال تغذیه یا reset( کردن سیستم ) اما برای فعال و غیر فعال کردن وقفه های به ثورت معلق داخل برنامه ، باید از دستورهای Set bit و Clear bit استفاده کرد تا روی بیتهای دیگر ثبات IE تأثیری نداشته باشد .

 

2-2- تقدیم وقفه
هر منبع وقفه در یکی از دو طریق بیت آدرس پذیر مخصوصی در ثبات IP (تقدیم وقفه) در آدرس 0b8h برنامه ریزی می شود ( جدول 2 را ببینید )
پس از راه اندازی مجدد سیستم IP پاک شده و همة وقفه ها در سطح تقدم پایین به صورت پیش فرض قرار می یگرند . نظریه تقدیم این امکان را می دهد که وقفه ها بر اساس تقدم بالاتر ، توسط ISR سرویس شوند . در 8051 این امر به آسانی انجام می شود ، چون تنها دو سطح تقدیم وجود دارد . چنانچه هنگام سرویس دهی به یک وقفه یا تقدم پائین ، وقفه ای با تقدم بالاترروی دهد ، توسط ISR مورد پذیرش قرار می یگرد ، ولی یک وقفه با تقدم بالاتر مورد وقفه قرار نمی گیرد .
برنامه اصلی ، در سطح پایه اجرا شده و با هیچ وقفه ای همراه نیست ، و همواره می تواند بدون توجه به تقدم وقفه ها مرد وقفه واقه شود . در صورت روی دادن همزمان دووقفه با تقدمهای متفاوت ، ابتدا وقفة با تقدم بالاتر سرویس دهی می شود .
جدول 2 خلاصه ثبات IP (تقدم وقفه )
بیت نماد آدرس بیت شرح (غیر فعال = 0 ،، فعال = 1)
IP.7 نا معین
IP.6 نامعین
IP.5 PT2 0BDH تقدم وقفه تایمر 2(8052)
IP.4 PS 0BCH تقدم وقفه درگاه سریال
IP.3 PT1 0BBH تقدی موقفة تایمر 1
IP.2 PX1 0BAH تقدی موقفة 1 خارجی
IP.1 PT0 0B9H تقدیم وقفة تامیر 0
IE.0 EX0 0B8H تقدیم وقفة 0 خارجی
3-2 ترتیب اجرا
اگر دو وقفه با یک تقدم ، هممان اتفاق بیفتند ، یک ترتیب اجرای ثابت نوبت سرویس دهی هرکدام از آنها تعیین می کد . ترتیب اجرا : 0 خارجی ، تایمر 0;1 خارجی ، تایمر1; درگاه سریال ، و تایمر 2 می باشد .
شکل 2 ، پنج منبع وقه ، فرایند فعال کرد کلی و خاص ، ترتیب اجرا ، و سطوحتقدیم را شرح می دهد . حالت همه منابعوقفه از طریق بیتهای پرچم در SFR ها قابل دستیابی است . البته اگر وقفه ای غیر فعال شده باشد ، اتفاق نخواهد افتاد ، اما نرم افزار باز هم پرچم وقفه را تست می کند . مثالهایدرگاه سریال و تایمر در دو فصل اخیر بدون استفاده واقعی از وقفه ها ، بطوروسیع از پرچمهای وقفه بهره بردند .
یک وقفه درگا سریال ناشی از OR منطقی دریافت وقفه (RI) یا ارسل وقفه (TI) می باشد همچنین وقفه های تایمر2 با سرریز تایمر (TF2) یا پرچم ورودی خارجی (EXF2) توید می شوند . بیتهای پرچم که مقفه ها را تولید می کنند ، در جدول 3-6 خلاصه شده اند .
3-6 وقفه های پردازنده
هنگام وقوع یک وقفه و پذیرش آن توسط CPU ، برنامه اصلی مورد وقفه قرار می یگرد واعمال زیر انجام می شوند :
اجرای دستورالعمل فعالی کامل می شود .
PC در پشته ذخیره می شود .
وضعیت وقفه جاری بطور داخلی ذخیره می شود .
وقفه های. مسطح با این وقفه متوقف میشوند .
PCبا آدرس برداری ISR بار می شود .
ISR اجرا می شود .
جدول 3 بیتهای پرچم وقفه
وقفه پرچم ثبات SFR و موقعیت بیت
0 خارجی IE0 TCON.1
1 خارجی IE1 TCON.3
تایمر 1 TF1 TCON.7
تایمر 0 TF0 TCON.5
درگاه سریال TI SCON.1
درگاه سریال RI SCON.0
تایمر 2 TF2 T2CON.7(8052)
تایمر 2 EXF2 T2CON.6(8052)

 


اجرای ISR ، پاسخگویی به وقفه است ، و با دستورالعمل RETI (برگشت از وقفه) خاتمه می یابد. با انجام این عمل مقدار قبلی PC از پشته بازیابی شده و وضعیت قبلی نیز ذخیره می گردد . اجرای برنامه اصلی پس از وقفه ادامه می‌یابد .

 

1-3 بردارهای وقفه
هنگامی که یک وقفه مورد پذیرش قرار می گیرد ، عدد بار شده در PC بردار وقفه نامیده می شود ; که در واقع آدرس شروع ISR برای منبع وقفه است . بردارهای وقفه در جدول 4-6 ارائه شده اند .
بردار reset سیستم (RST در آدرس 0000H ) نیر در جدول آمده است . از آن جا که این حالت مانند یک وقفه است ، برنامه اصلی رامورد وقفه قرار داده و PC را با مقدار بار می کند .
هنگام " بردار کردن یک وقفه " پرچمیکه باعث وقه می شود ، بطور خودکار توسط سخت افزار پرک می گردد . RI و TI برای وقفه های درگاه سریال و TF2 و EXF2 برای وقفه های تایمر2 ، از این امر مستثنا هستند . چون برای هر یک از یوقفه ها دو منبع وجود دارد ، پاک کردن پرچم وقفه توسط CPU عملی نیست . این بیتها باید در ISR برای تعیین منبع وقفه ، آزمایش شوند ؛ و سپس پرچم وقفه دهند توسط نرم افزار پاک می شود . معمولاٌ با توجه به مبنع وقفه انشعابی به عملیاتی مناسب صورت می گیرد .
چون بردارهای وقفه در انتهای حافظه کد هستند ، اولین دستورالعمل بر نامه اصلی غالباٌ یک پرش از رویناحیة حافظه ، مانند LJMP 0030H می باشد .
جدول 4 بردارهای وقفه
وقفه پرچم ثبات SFR و موقعیت بیت
Reset سیستم RST 0000H
0 خارجی IE0 0003H
0 تایمر TF0 000BH
1 خارجی IE1 0013H
تایمر 1 TFI 001BH
درگاه سریال TIیاRI 000023
تایمر 2 EXF2 یا TF2 002BH


4- طراحی برنامه با استفاده از وقفه ها
در مثالهای فصل 3و 4 از وقفه ها استفاده نشد ، حلقه های انتظاربرای تست پرچمهای سرریژ تایمر (TF0 ، TF1 یا TF2 ) یا پرچمهای دریافت و ارسال درگاه سریال (T1 یا RI ) ، به طور گسترده ای بکار رفتند . مشکل این روش اسن است که تمامی وقت CPU صرف تست پرچمهایی که باید 1 شوند ، می گردد . این امر هنگامی که در مقاصد کنترلی ، میکروکنترل باید دستگاههای ورودی وخروجی زیادی را بطور همزمان کنترل کند ، مناسب نیست .

 

 

 

فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد

تعداد صفحات این مقاله  36  صفحه

پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید


دانلود با لینک مستقیم


دانلود مقاله وقفه ها و سازمان وقفه در 8051