دانلود مقاله طراحی مینیمم سیستم با میکرو کنترلر ۸۰۱۹۶

word قابل ویرایش
37 صفحه
8700 تومان
87,000 ریال – خرید و دانلود

طراحی مینیمم سیستم با میکرو کنترلر ۸۰۱۹۶

در سال ۱۹۸۱ شرکت اینتل میکروکنترلر ۸ بیتی خود را با نام ۸۰۱۹۶ معرفی کرد که دارای ۱۲۸ بایت RAM، ۴ کیلو بایت ROM، دو تایمر، یک درگاه سریال و ۴ درگاه که تماماً بر روی یک تراشه بود. ۸۰۱۹۶ یک ریزپردازنده ۸ بیتی است به این معنی که CPU آن در هر بار می تواند فقط بر روی ۸ بیت داده کار کند و داده های بزرگتر باید به قسمتهای ۸ بیتی شکسته شود.

پس از اینکه اینتل اجازه ساخت و فروش ۸۰۱۹۶ را با شرط حفظ سازگاری کد با ۸۰۱۹۶ به سازنده گان دیگر داد، ۸۰۱۹۶ از محبوبیت زیادی برخوردار شد.
این نکته بسیار مهمی است که با وجود ویژگیهای مختلف در سرعت و مقدار ROM به کار رفته در انواع ۸۰۱۹۶، سازگاری کامل با ۸۰۱۹۶ اصلی و دستورالعملهای مربوطه هنوز هم وجود دارد. یعنی اگر برنامه ای برای یکی از ۸۰۱۹۶ها نوشته شود می توان آن را بر روی ۸۰۱۹۶های دیگر اجرا کرد. صرفنظر از سازنده میکروکنترلر ۸۰۱۹۶٫
ویژگیهای ۸۰۱۹۶
ROM 1 Serial Port 4kbytes
RAM 6 Interrupt Sources 28bytes
Timer 2
I/O Pins 32

میکرو کنترلر۸۰۱۹۶ عضو اصلی خانواده ۸۰۱۹۶ است که شرکت ایتل از آن به عنوان MCS-51 یاد می کند.
اعضای دیگر خانواده ۸۰۱۹۶، ۸۰۵۲، ۸۰۳۱، ۸۷۵۱ و… می باشد.
۸۰۱۹۶
درون ۸۰۱۹۶

در یکCPU از ثباتها ، Register به عنوان مکانی برای ذخیره سازی موقت اطلاعات مورد استفاده قرار می گیرد. اکثر ثباتهای ۸۰۱۹۶ ، ۸ بیتی هستند.
در ثباتهای ۸۰۱۹۶ فقط داده ۸ بیتی می تواند قرار داد. در دیاگرام زیر یک ثبات با ۸ بیت خود به ترتیب از با ارزشترین D7 تا کم ارزشترین D0 نشان داده شده است.

D7 D6 D5 D4 D3 D2 D1 D0

تعدادی از ثباتها که بیشترین کاربرد را دارند عبارتند از:
A (انباشتگر) B ، R0، R1، R2، R3، R4، R5، R6، R7، DPTR (شانگر داده) و PC (Program counter شمارنده برنامه) که همگی ۸ بیتی اند به جزء DPTR و PC .
ثبات PC یا شمارنده برنامه به آدرس دستورالعمل بعدی که اجرا خواهد شد اشاره می کند. زمانی که CPU که عملی را از برنامه موجود در ROM واکشی می کند شمارنده برنامه افزایش یافته و به دستورالعمل بعدی اشاره می کند. این ثبات ۱۶ بیتی است.
به هنگام روشن شدن میکروکنترلر ۸۰۱۹۶ همگی از آدرس۰۰۰۰ شروع به کار می کنند. به عبارت دیگر هنگام روشن شدن PC مقدار ۰۰۰۰ را در خود خواهد داشت.

پایه های ۸۰۱۹۶

در شکل زیر ۳۲ پایه از مجموع ۴۰ پایه در ۸۰۱۹۶ به چهار درگاه P0، P1، P2، P3 اختصاص دارند. (شکل صفحه )
دو پایه PSEN و ALE به طور عمده توسط سیستمهای مبتنی بر ۸۰۳۱ به کار گرفته می شوند.

XTAL1 و XTAL2
با وجود اینکه ۸۰۵۲ تراشه ای است که دارای نوسانساز اما نیازمند یک ساعت خارجی برای راه اندازی آن است که بیشتر از یک کریستال نوسانساز از نوع کوارتز به ورودیهای XTAL1 (پایه ۱۹) و XTAL2 (پایه ۱۸) متصل می شود.
EA
اعضای خانواده ۸۰۱۹۶ همگی به همراه یک ROM بر روی تراشه برای ذخیره برنامه ها ارائه می شوند در چنین مواردی باید پایه EA (پایه اکو) به VCC متصل شود در غیر این صورت پایه به GND وصل می شود.

پایه های درگاه I/O
چهار درگاه P0، P1، P2، P3 هر کدام با استفاده از ۸ پایه درگاههای ۸ بیتی ایجاد می کنند، که تمتماً به صورت خروجی پیکربندی شده اند که اگر به صورت ورودی بخواهد مورد استفاده قرار گیرد باید به وسیله مقاومتهای متصل شده به درگاه و با برنامه، تمام بیتهای درگاه را به ۱ تبدیل کرد.
MOV A,#0FFH
MOV P0.A
در این مثال درگاه P0 به ورودی تبدیل می شود.

نقش دوگانه درگاه ۰
همانطوری که در شکل مشاهده می شود درگاه ۰ برای AD0 تا AD7 نیز طراحی شده است که امکان استفاده از داده و آدرس را به درگاه می دهد. هنگامی که ۸۰۱۹۶ یا ۸۰۳۱ به یک حافظه‌خارجی متصل است درگاه تدارک بیننده آدرس و داده برای آن است. ALE نشان دهنده این است که آیا P0 دارای آدرس است یا داده اگر ALE صفر باشد داده و اگر ALE=1 باشد آدرس تدارک دیده می شود.
درگاه ۲ برای A8 تا A15 نیز طراحی شده است. ۸۰۳۱ قابلیت دسترسی به ۶۴K بایت حافظه را دارد، از این رو یک مسیر ۱۶ بیتی آدرس دهی خواهد داشت. ۸ بیت به وسیله درگاه ۰ و ۸ بیت دیگری به وسیله درگاه ۰

دستورالعمل MOV
دستورالعمل MOV داده ای را از یک مکان به مکان دیگر کپی می کند، که فرمت آن به صورت زیر است

MOV Deest,Source
این دستور به CPU می گوید که عملوند آن را به عملوند مقصد کپی کند. برای مثال در دستورالعمل “MOV A,R3 “ محتویات ثبات R3 به A منتقل می شود که پس از اجرا ثبات A محتویات R3 را در بر خواهد داشت. دستور MOV هیچ تأثیری در عملوتد منبع ندارد. انتقال مقدار بزرگتر از ظرفیت ثبات خطا به دنبال خواهد داشت.
نکته: علامت “#” پوند نشانگر مقدار است که هر کدام از ثباتهای A و B و R0-R7 می توانند با مقدار کپی شود. که اگر علامت “#” قرار داده نشود. مفهوم آن بار شدن از یک مکان حافظه است. برای مثال دستور “MOV A و ۱۷H” به معنی انتقال محتویات مکان حافظه ۱۷H به ثبات A است، که دمی تواند هر مقداری را در خود داشته باشد.

دستورالعمل ADD
”ADD A,Source”
افزودن عملوند انباشتگر (A) است.
در دستور محاسباتی ثبات A حتماُ باید مقصد تمام عملیات محاسباتی باشد.

ORG
نشان دهنده این است که برنامه ای که می خواهد شروع شود از چه خانه ای آغاز شود.

DB

DB (DeFile Byte) برای تعریف داده های ۸ بیتی استفاده می شود که در برنامه به اسم مشخص است.
ORG 1000H
MY DATA : DB 1,5,7
MOV A, My Data
MOV A, My Data
در DB اعداد می توانند به فرمهای هگزا، اسمال باینری یا اسکی به کار رود.

EQU (Eguate)
این دستور دهنده برای تعریف یک مقدار ثابت استفاده می شود به نحوی که مکانی از حافظه اشغال نمی شود و وابسته به یک مقدار با چسب است.
Count EQV 25
MSV R3,#Count
پس از اجرا ثبات R3 مقدار۲۵ را خواهد داشت مزیت EQV این است که اگر مقدار ثابتی در جاهای مختلفی تکرار شده باشد و برنامه نویس بخواهد تمام آنها را تغییر دهد با استفاده از EQV این کار انجام می گیرد.

END
پایان برنامه را نشان می دهد.
برنامه های تأخیر
برای اجرای یک دستورالعمل توسط CPU تعداد مشخص چرخه ساعت (Clock Cycles) مورد نیاز است که در خانواده ۸۰۱۹۶ با عنوان چرخه های ماشین نام برده می شود. در ۸۰۱۹۶ طول چرخه ماشین بستگی به فرکانس تولید شده توسط کریستال نوسانسازی دارد که بر روی مدار تراشه قرار دارد. و منبع ساعت برای ۸۰۱۹۶ می باشد.
اغلب کریستال نوسانساز ۱۱٫۰۵۹۲ MHZ است که یک چرخه ماشین ۱/۱۲ فرکانس کریستال را دریافت و سپس آنرا معکوس می کنند.
مثال: اگر فرکانس کریستال ۱۱٫۰۵۹۲ MHZ باشد چرخه ماشین ۱٫۰۸۵ MS می باشد زیرا ۱/۹۲۱٫۶ KHZ 11.0592/12=921.6 KHZ
هر دستور برای تعیین میزان تأخیر تعداد چرخه های ماشین آن دستور را در ۱٫۰۸۵ ضرب می کنند.
مثلاً دستور “MOV R5,#3” و یک چرخه ماشین دارد که زمان اجرای آن \X\ .085 MS می باشد.
یا “MVL AB” ۱٫۰۸۵ MS=4.34 MS ×۴
برنامه ریزی تایمر
۸۰۱۹۶ دو تایمر/ شمارنده دارد، تایمر برای تولید تأخیر زمانی و شمارنده برای شمارش حوادث اتفاق افتاده کاربرد دارد. تایمرها به وسیله فلیپ فلاپ ساخته می شوند ۸۰۱۹۶ دو تایمر دارد تایمر ۰ و تایمر ۱ که هر دو ۱۶ بیتی اند.
ثبات تایمر ها به وسیله دو بایت کم ارزش و پردازش قابل دسترسی است. کم ارزش را برای تایمر ۰، TL0 و برای تایمر ۱، TL1 و پردازش را برای تایمر ۰، TH0 و برای تایمر ۱،TH1 می نامند.
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

TH TL

ثبات TM0D (حالت تایمر)
هر دو تایمر برای تنظیم حالات کاری از ثبات TM0D استفاده می کنند. که ۸ بیت دارد، که ۴ بیت کم ارزش آن برای تایمر ۰ است.
GATE 4T M1 M0 GATE CLT M1 M0

تایمر۰ تایمر ۱
حالت عمل حالت M0 M1
حالت تایمر ۱۳ بیتی. ۸ بیت بالای تایمر (THX) 0 0 0 با ۵ بیت پائینی از ۸ بیت پائین تایمر (TLX)

حالت تایمر ۱۶ بیتی. تایمر ۱۶ بیتی که THX 0 1 1
و TLX به هم پیوسته اند.

بار شدن خودکار ۸ بیتی۱ ۰ ۲

حالت تایمر دو قسمتی۱ ۱ ۳

حالت ۱ و ۰
تایمر ۱۶ بیتی است از ۰۰۰۰ تا FFFF
بعد از مقدار دهی TH و TL تایمر با دستور “SETB TR0” یا “SETB TR1” شروع می شود.
بعد از اینکه تایمر شروع به شمارش کرده و افزایش می کند تا به مقدار FFFF# برسد. هنگامی که از FFFF# به ۰۰۰۰ بر می گردد بیت پرچم (TF) یک می شود. که با دستور “CLR TR0” یا “CLR TR1” تایمر متوقف می شود سپس باید ثباتهای TH و TL جهت تکرار عملیات دوباره با مقادیر اصلی و TF با ۰ مقدار دهی شود.
نتیجه پرچم TF برای اینکه یک می شود یا نه را می توان با دستور “JNB TFX, Target” بررسی کرد.
پیدا کردن مقادیر TH و TL
فرض XTAL=11.0592 باشد. تأخیر زمانی را بر ۱٫۰۸۵ MS تقسیم می شود.
۶۵۵۳۶-N می شود که N مقدار دهدهی از تقسیم بالایی است.
حاصل را به مبنای ۱۶ می بریم YYXX که TH=YY و TL=XX.
مثال: اگر XTAL=11.0592 MHZ باشد برای تأخیر زمانی ۵ MS مقادیر عبارتند از:
۵/۱٫۰۸۵ ms/MS =4608 پس ۶۵۵۳۶-۴۶۰۸=EE00H پس TH=EE ، TL=00
حالت۰ دقیقاً مشابه حالت۱ است با این تفاوت که تایمر۱۳ بیتی است که می تواند مقادیر ۰۰۰۰ تا۱FFFH را درTH وTL نگه دارد.
حالت ۲
حالت ۲، ۸ بیتی است پس مقادیر بین ۰۰ تا FFH را در TH ذخیره می کند. بعد از اینکه TH بار دهی شد،۸۰۱۹۶ یک کپی از آن را درون TL قرار می دهد. بعد از شروع تایمر TL افزایش پیدا می کند تا به FFH برسد و از آنجا به ۰۰ برگردد پرچم TF یک می شود. TL به طور خودکار با مقدار اصلی اولیه که توسط ثبات TH نگهداری می شد، مقدار دهی می شود. در ثبات TMOD دو پایه GATE و C/T نیز می باشد. C/T اگر صفر باشد حالت تایمر و اگر یک باشد حالت شمارنده است. هنگامی که پایه GATE یک است تایمر/ شمارنده وقتی فعال می شود که INTxیک بوده و پایه کنترل TRx تنظیم شده باشد.

ثبات TCON
TR0 و TR قسمتی از ثبات ۸ بیتی TCON(Timer Control) است. که در زیر مشاهده می شود.

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

چهار بیت پرارزش آن برای ذخیره بیتهای TF و TR از دو تایمر ۰ و تایمر ۱ می باشند و چهار بیت کم ارزش آن برای کنترل وقفه می باشند.

نرم افزار مربوطه

این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید
word قابل ویرایش - قیمت 8700 تومان در 37 صفحه
87,000 ریال – خرید و دانلود
سایر مقالات موجود در این موضوع
دیدگاه خود را مطرح فرمایید . وظیفه ماست که به سوالات شما پاسخ دهیم

پاسخ دیدگاه شما ایمیل خواهد شد