دسته بندی | الکترونیک و مخابرات |
فرمت فایل | doc |
حجم فایل | 56 کیلو بایت |
تعداد صفحات فایل | 85 |
مقاله بررسی علم الکترونیک و مدار فرمان میکروبی در 85 صفحه ورد قابل ویرایش
فهرست مطالب
مقدمه ?
موادتغذیه ??
(ADC0804) IC 15
آشنایی با میکروکنترلرها ??
?-? مقدمه ??
?-? اصطلاحات فنی ??
?-? واحد پردازش مرکزی ??
?-? حافظه نیمه رسانا : RAM و ROM 23
5-1 گذرگاهها : آدرس ، داده و کنترل ??
?-? ابزارهای ورودی / خروجی ??
?-?-? ابزارهای ذخیره سازی انبوه ??
?-?-? ابزارهای رابط با انسان ??
?-?-? ابزارهای کنترل / نظارت ??
?-? برنامه ها : بزرگ و کوچک ??
?-? میکروها ، مینی ها و کامپیوترهای مرکزی? ??
?-? مقایسه ریزپردازنده ها با میکروکنترلرها ??
?-?-? معماری سخت افزار ??
?-?-? کاربردها ??
?-?-? ویژگیهای مجموعه دستورالعمل ها ??
??-? مفاهیم جدید ??
??-?- مزیت ها و معایب ??
?-?- مروری برخانواده MCS-51TM 42
2-2- بررسی اجمالی پایه ها ??
?-?-?- درگاه ? ??
?-?-?- درگاه ? ??
?-?-?- درگاه ? ??
?-?-?- درگاه? ??
?-?-?- (Program Store Enable) PSEN 47
6-2-2- (Address Latch Enable) ALE 47
7-2-2- (External Access) 48
8-2-2- (Reset)RST 49
9-2-2- ورودی های نوسان ساز روی تراشه ??
??-?-?- اتصالات تغذیه ??
?-?- ساختار درگاه I/O 50
4-2- سازمان حافظه ??
?-?-?- RAM همه منظوره ??
?-?-?- RAM بیت آدرس پذیر ??
?-?-?- بانک های ثبات ??
?-?- ثبات های کاربرد خاص ??
?-?-?-? پرچم نقلی ??
?-?-?-? پرچم نقلی کمکی ??
?-?-?-? پرچم ? ??
?-?-?-? بیت های انتخاب بانک ثبات ??
?-?-?-? پرچم سرریز ??
?-?-?-? بیت توازن ??
?-?-? ثبات B 63
3-5-2 اشاره گر پشته ??
?-?-? اشاره گر داده ??
?-?-? ثبات های درگاه ??
?-?-? ثبات های تایمر ??
?-?-? ثبات های درگاه سریال ??
?-?-? ثبات های وقفه ??
?-?-? ثبات کنترل توان ??
?-?-?-? حالت معلق ??
?-?-?-? حالت افت تغذیه ??
?-? حافظه خارجی ??
?-?-? دستیابی به حافظه کد خارجی ??
?-?-? دستیابی به حافظه داده خارجی ??
?-?-? رمزگشایی آدرس ??
?-?-? ثبات های تایمر ??
?-?-? ثبات های درگاه سریال ??
?-?-? ثبات های وقفه ??
?-?-? ثبات کنترل توان ??
?-?-?-? حالت معلق ??
?-?-?-? حالت افت تغذیه ??
?-? حافظه خارجی ??
?-?-? دستیابی به حافظه کد خارجی ??
?-?-? دستیابی به حافظه داده خارجی ??
?-?-? رمزگشایی آدرس ??
?-? امکانات اضافی ???? / ???? ??
?-? عملیات راه اندازی مجدد ، reset 86
خروجی آنالوگ ??
هدف طرح ??
رابط بلندگو ??
درعصری که ما در آن زندگی میکنیم ، علم الکترونیک یکی از اساسی ترین و کاربردی ترین عملومی است که در تکنولوژی پیشرفته امروزه نقش مهمی را ایفا میکند.
الکتورنیک دیجینتال یکی از شاخه های علم الکترونیک است که منطق زیبای آن انسان را مجذوب خود میکند .
امروزه اکثر سیستمهای الکترونیکی به سمت دیجیتال سوق پیدا کرده است و این امر به علت مزایای زیادی اتس که سیستمهای دیجییتال نسبت بهخ مدارهای آنالوگ دارند .
مداری که ادر این پروژه معرف میگردد یک مدار فرمان میکروبی است که به منظور جایگزینی برای نمونه مکانیکی آن طراحی گردیده است .
برای طراحی و ساخت یک تایمر ماشین لباسشویی ، قبل از هرچیز باید ماشین لباسشویی ، طرزکار و همچنین عملکرد قسمتهای مختلف آن را بشناسیم . برای این منظور در ابتدات به شرح قسمتهای مختلف آن میپردازیم :
اجزای زیر قسمتهای مختلف یک ماشین لباسشویی را تشکیل میدهند:
موتور ، پمپ تخلیه ، المنت گرمکن ، شیربرقی ، اتوماتیک دما ، هیدرو سوئیچ و تایمر .
اگر بخواهیم عملکرد ماشین لباسشویی را بطور خلاصه بیان کنیم ، به این صورت است که ابتدا شیرآب (شیربرقی) بازشده و آب مخزن را پر میکند . سپس درصورت نیاز ، گرمکن آب مخزن را به گرمای مجاز میرساند . سپس موتور شروع به چرخاندن لباسهای کثیف میکند . سپس پمپ ، آب کثیف را از مخزن به بیرون از ماشین پمپ میکند . این سلسله عملیات ادامه دارد تا در انتها مشاین بطوراتوماتیک خاموش شده و متصدی دستگاه میتواند لباسهای شسته شده را از دستگاه خارج کند . فرمان تمام اجزاری فوق را تایمر میدهد . برای آشنایی با تایمر مکانیکی ، مختصری درمورد آن توضیح میدهیم :
این تایمر به ا ین صورت عمل میکند که یک موتور الکتریکی کوچک ، یک محور را توسط چرخ دنده هایی میچرخاند و این محور یک سری دیسک های پلاستیکی هم محور ار میچرخاند . این دیسک ها بر روی خود دارای برجستگی هایی است و برروی این برجستگی ها زائده هایی قرار میگیرند که با چرخیدن دیسک ، این زائده ها بالا و پایین رفتئه و پلاتین هایی را بازوبسته میکنند . و این پلاتین ها نیز به نوبه خود یک سری اتصال های الکتریکی قطع و وصل میشوند که میتوانند به عنوان فرمان های الکتریکی قسمتهای مختلف لباسشویی به کار روند . شکل زیر نحوده عملکرد این نوع تایمر را نشان میدهد :
تایمرهای مکانیکی دارای عیوب و مزایایی هستند که در زیر به آنها اشاره میشود :
بسیار گران هستند ، استفاده از این نوع تایمر باعث پیچیدگی سیم کشی داخحل ماشین لباسشویی میشود ، بر اثر کارکرد پلاتین های آن اکسیده شده و به خوبی عمل نیمکند .
از مزینتهای مهم تایمر مکانیکی میتوان نویزپذیر نبودن آن را نام برد . قبل از تشریح مدار تایم ردیجیتالی و عملکرد آن ، ابتدا کمی درمورد دو عنصر هیدروسوئیچ و اتوماتیک دما که درتمام ماشین های لباسشویی وجود دارد (وکمتر در دستگاههای الکتریکی دیده میشود) توضیح میدهیم :
تایمرهای لباسشویی یک سری مشخصات عمومی دارند که برای همه انواع آن صادق است .
این مشخصات به قرار زیر است :
- نشان د ادن مرحله برنامه در هرلحظه .
- حفظ مرحله برنامه درهنگام قطع برق .
- انتخاب شروع برنامه از هرمرحله دلخواه .
- خاموش کردن لباسشویی پس از اتمام به صورت اتوماتیک .
هیدروسوئیچ که مخفف سوئیچ هیدرولیکی است یک عنصر مکانیکی است که پربودن یا خالی بودن مخزن لباسشویی از آب را ، تشخیص میدهد .
این عنصر از کی مخزن کوچک تشکیل شده که داخل آن یک دیافراگم قراردارد . این مخزن دارای یک ورودی هوا است . وقتی هوا تحت فشار معینی به داخل آن برسد ، دیافراگم به جلو حرکت کرده و یک اتصال الکتریک را قطع و یا وصل میکند .
علت استفاده از هیدروسوئیچ در ماشین لباسشویی یکی به این دلیل است که وقتی شیربرقی آب را بازکرده وآب وارد مخزن لباسشویی میشود ، پس از رسیدن حجم آب بیش از حد مجاز وارد مخزن شود .
دلیل دیگر استفاده از هیدروسوئیچ ، وابسته نبودن حجم آب پرشده درون مخزن ، به فشار آب ورودی است . اتوماتیک دما هم یک نوع ترموستات الکتریکی است که با قطع و وصل به موقع المنت گرمکن ، دمای آب مخزن لباسشویی را طبق انتخاب ما ثابت نگه میدارد .
با این توضیحات راجع به قسمتهای مختلف ماشین لباسشویی ، به عملکرد مدار تایمر میپردازیم .
تایمر دیجیتالی که دراین پروژه طراحی شده است و معرفی میگردد دارای مشخصات زیر است :
- نمایش مراحل برنامه بر روی سون سگمنت (26 مرحله).
- حفظ مرحله برنامه در هنگام قطع برق با استفاده از باطری BACKUP .
- انتخاب شروع از هرمرحله برنامه با استفاده از کلیدهای PROGRAM .
- کوچک بودن حجم مدار نسبت به نمونه های مشابه دیجیتالی .
اصولا تایمر برای شمارش اتفاقات بکار میرود . و تعداد خاصی از این اتفاقات برای ما اهمیت دارد تا در این زمانهای خاص به یک دستگاه فرمان روشن یا خاموش بودن را بدهیم . دراصل تایمر دیجیتالی یک شمارنده است که تعداد پالسهای ورودی را بصورت باینری میشمارد و اگر ما از میان این اعداد موردنظر خودمان را به وسیله یک دیکودر ، دیکود کنیم ، به راحتی میتوانیم به تعدادی خروجی فرمان دهیم .
زمانی که ما برای کنترل یک لباسشویی نیاز داریم در حدود 1.8 ساعت است و این مقدار برابر 6735 ثانیه خواهد بود . اگر فرکانس پالسهای اعمال شده به شمارنده را 1HZ درنظر بگیریم ما به یک شمارنده 13 بیتی نیاز خواهیم داشت (8192 = 2)13 .
برای دیکود کردن این عدد 13 بیتی از یک ایپرام 2764 که مقدار حافظه آن 8 KB است استفاده میکنیم .
به این معنی که از خطوط آدرس به عنوان ورودی دیکودر و از خطوط DATA به عنوان خروجی استفاده مینماییم . حال با برنامه ریزی مناسب EPROM میتوانیم در هرزمان خروجی ها را صفر یا یک کنیم . چون EPROM دارای هشت خط DATA است ، میتوانیم هشت خروجی را همزمان کنترل نماییم . در واقع ما به وسیله EPROM یک دیکودر خاص ساخته ایم .
اگر یک نوسان ساز یک هرتز به CLOCK شمارنده اعمال کنیم ، خروجی تایمر ما با سرعت 1HZ عوض خواهد شد و این سرعت تغییرات خروجی ، به ما قدرت مانور زیادی برای کنترل خروجی میدهد . برای مثال اگر بخواهیم خروجی D5 به مدت 20 دقیقه فعال شود ، کافی است 1200 محل از EPROM را پشت سرهم عدد باینری (20 HEX) 00100000 را قرار دهیم .
برای نوشتن برنامه لباسشویی بر روی EPROM ابتدا باید زمانبندی برنامه لباسشویی را بدانیم .
یعنی بدانیم که درچه لحظاتی باید چه خروجی هایی فعال یا غیرفعال شوند .
برای مثال نمودار زیر را درنظر میگیریم .
درفاصله زمانی t0 و t1 خروجیهای a1 و a3 فعال هستند . درفاصله زمانی t2,t1 خروجی های a3,a2 فعال هستند . درفاصله زمانی t3,t2 خروجی a3 فعال است .
موادتغذیه :
شکل زیر نمای کلی از مدار تغذیه به کاربده شده در این پروژه را نشان میدهد . که آن را به اختصار شرح میدهیم .
}6cm
باتری V1 ولتاژ کمتری نسبت به V2 دارد پس D2 هدایت کرده و روشن است و D1 خاموش است . ما دراینجا از رگولاتور (7805) استفاده کرده ایم که ولتاژ ورودی آن بین 6 تا 10 و کاهنده میباشد که 5 ولت خروجی دارد .
ما به خاطر رسیدن به 5 ولت از Ic(7805) استفاده میکنیم .
مدار داخلی (7805) :
}4cm
یک مدار کلکتور مشترک است که تقویت ولتاژ ندارد و تقویت جریان دارد .
علت استفاده از دیود D1 در مواد تغذیه :
اگر D1 در مدار نباشد باتری 9 ولت همیشه در مدار است اما ا گر D1 در مدار باشد وقتی باتری 9 ولت وارد مدار میشود که ولتاژ تغذیه شهر قطع شود .
علت استفاده از D2 : برای اینکه ولتاژی از باتری به منبع تغذیه نرود .
مدار تشخیص قطع و وصل بودن برق شهر :
1- نحوه قرارگرفتن پایه های دگولاتور به صورت زیراست :
2- مقاومتهای بایاس ترانزیستور با مقادیر مشخص شده به کار رفته اند .
3- علت استفاده از خازن C1 : یک صافی است ، برای اینکه روی میکرو پارازیت نیافتد.
}6cm
شکل
این مدار به منظور رساندن پیامی به میکرو در مدار قرارداده شده تا میکرو را از وضعیت برق شهر مطلع کند .
این مدار یک ولتاژ نمونه از منبع تغذیه اصلی دریافت کرده و اگر جریان برق شهر برقرار باشد خورچی این مدار صفر و در غیراین صورت خحروجی مدار 1 میباشد . که میکرو از روی این اختلاف ولتاژ به بودن یا نبودن برق شهر پی میبرد .
این مدار تغذیه دارای یک مدار فرمان است که این مدار فرمان به میکرو متصل میباشد . تا زمانی که برق شهر رفت ، به میکرو فرمان دهد که تمام خروجی ها را خاموش کند .
این مدار تغذیه 2 ورودی دارد که درحالت seven segment دستگاه خاموش میشود ، و میکرو به حالت استندبای میرود .
2-1 اصطلاحات فنی
یک کامپیوتر توسط دو ویژگی کلیدی تعریف میشود : (1) داشتن قابلیت برنامه ریزی برای کارکردن روی داده بدون مداخله انسان و (2) توانایی ذخیره و بازیابی داده . عموما یک سیستم کامپیوتری شامل ابزارهای جانبی برای ارتباط با انسان ها به علاوه برنامه هایی برای پردازش داده نیز میباشد . تجهیزات کامپیوتر سخت افزار ، و برنامه های آن نرم افزار نام دارند . در آغاز اجازه بدهید کارخود را با سخت افزار کامپیوتر و با بررسی شکل 2-1 آغاز میکنیم .
نبود جزئیات درشکل عمدی است و باعث شده تا شکل نشان دهنده کامپیوترهایی درتمامی اندازه ها باشد . همانطور که نشان داده شده است ، یک سیستم کامپیوتری شامل یک واحد پردازش مرکزی (CPU) است که از طریق گذرگاه آدرس2 ، گذرگاه داده3 و گذرگاه کنترل4 به حافظه قابل دستیابی تصادفی 5 (RAM) و حافظه فقط خواندنی 6 (ROM) متصل میباشد . مدارهای واسطه 7 گذرگاه های سیستم را به وسایل جانبی متصل میکنند . حال اجازه بدهید تا هریک از اینها را بطور مفصل بررسی کنیم .
3-1 واحد پردازش مرکزی
CPU ، به عنوان «مغز» سیستم کامپیوتری ، تمامی فعالیتهای سیستم را اداره کرده و همه عملیات روی داده را انجام میدهد . اندیشه اسرارآمیز بودن CPU در اغلب موارد نادرست است زیرا این تراشه فقط مجموعه ای از مدارهای منطقی است که بطورمداوم دو عمل را انجام میدهئد : واکشی 8 دستورالعمل ها ، و اجرای آنها . CPU توانایی درک و اجرای دستورالعمل ها را براساس مجموعه ای از کدهای دودویی دارد که هریک از این کدها نشان دهنده یک عمل ساده است . این دستورالعمل ها معمولا حسابی (جمع ، تفریق ، ضرب و تقسیم) ، منطقی NOT , OR , AND) وغیره) ، انتقال داده یا عملیات انشعاب هستند و با مجموعه ای از کدهای دودویی با نام مجموعه دستورالعمل ها9 نشان داده میشوند .
شکل 3-1 یک تصویر بی نهایت ساده شده از داخل یک CPU است . این شکل مجموعه ای از ثبات ها1 را برای ذخیره سازی موقت اطلاعات ، یک واحد عملیات حسابی و منطقی2 (ALU) برای انجام عملیات روی این اطلاعات ، یک واحد کنترل و رمزگشایی دستورالعمل3 (که عملیاتی را که باید انجام شود تعیین میکند و اعمال لازم را برای انجام آنها شروع مینماید.) و دوثبات اضافی را نشان میدهد .
ثبات دستورالعمل (IR) کد دودویی هردستورالعمل را درحال اجرا نگه میدارد و شمارنده برنامه (PC) آدرس حافظه دستورالعمل بعدی را که باید اجرا شود نشان میدهد .
واکشی یک دستورالعمل از RAM سیستم یکی از اساسی ترین اعمالی است که توسط CPU انجام میشود و شامل این مراحل است : (الف) محتویات شمارنده برنامه درگذرگاه آدرس قرار میگرد (ب) یک سیگنال کنترل READ فعال میشود (پ) داده (کد عملیاتی4 دستورالعمل) از RAM خوانده میشود و روی گذرگاه داده قرار میگیرد (ت) کد عملیاتی در ثبات داخلی دستورالعمل CPU انجام میشود و (ث) شمارنده برنامه یک واحد افزایش مییابد تا برای واکشی بعدی از حافظه آماده شود . شکل 4-1 نشان دهنده جریان اطلاعات برای واکشی یک دستورالعمل است .
مرحله اجرا مستلزم رمزگشایی کد عملیاتی و ایجاد سیگنالهای کنترلی برای گشودن ثبات های درونی به داخل و خارج از ALU است . همچنین باید به ALU برای انجام عملیات مشخص شده فرمانی داده شود . بعلت تنوع زیاد عملیات ممکن ، این توضیحات تاحدی سطحی میباشند و دریک عملیات ساده مثل «افزایش یک واحدی ثبات»1 مصداق دارند . دستورالعمل های پیچیده تر نیاز به مراحل بیشتری مثل خواندن بایت دوم و سوم به عنوان داده برای عملیات دارند .
یک سری از دستورالعمل ها که برای انجام یک وظیفه معنادار ترکیب شوند برنامه یا نرم افزار نامیده میشود ، و نکته واقعا اسرارآمیز درهمین جا نهفته است . معیار اندازه گیری برای انجام درست وظایف ، بیشتر کیفیت نرم افزار است تا توانایی تحلیل CPU . سپس برنامه ها CPU را «راه اندازی» میکنند و هنگام این کار آنها گهگاه به تقلید از نقطه ضعف های نویسندگان خود ، اشتباده هم میکنند . عباراتی نظیر «کامپیوتر اشتباه کرد» گمراه کننده هستند . اگرچه خرابی تجهیزات غیرقابل اجتناب است اما اشتباه در نتایج معمولا نشانی از برنامه های ضعیف یا خطای کاربر میباشد .
4-1 حافظه نیمه رسانا : RAM و ROM
برنامه ها و داده در حافظه ذخیره میشوند . حافظه های کامپیوتر بسیار متنوعند و اجزای همراه آنها بسیار ، و تکنولوژی بطور دائم و پی در پی موانع را برطرف میکند ، بگونه ای که اطلاع از جدیدترین پیشرفتها نیاز به مطالعه جامع و مداوم دارد . حافظه هایی که بطور مستقیم توسط CPU قابل دستیابی میباشند ، IC های (مدارهای مجتمع) نیمه رسانایی هستند که RAM و ROM نامیده میشوند . دو ویژگی RAM و ROM را از هم متمایز میسازد : اول آن که RAM حافظه خواندنی / نوشتنی است درحالی که ROM حافظه فقط خواندنی است و دوم آن که RAM فرار است (یعنی محتویات آن هنگام نبود ولتاژ تغذیه پاک میشود) درحالی که ROM غیر فرار میباشد .
اغلب سیستمهای کامپیوتری یک دیسک درایو ومقدار اندکی ROM دارند که برای نگهداری روال های نرم افزاری کوتاه که دائم مورد استفاده قرار میگیرند و عملیات ورودی / خروجی را انجام میدهند کافی است . برنامه های کاربران و داده ، روی دیسک ذخیره میگردند و برای اجرا به داخل RAM بار میشوند . با کاهش مداوم در قیمت هربایت RAM ، سیستمهای کامپیوتری کوچک اغلب شامل میلیونها بایت RAM میباشند .
5-1 گذرگاهها : آدرس ، داده و کنترل
یک گذرگاه عبارت است از مجموعه ای از سیم ها که اطلاعات را با یک هدف مشترک حمل میکنند . امکان دستیابی به مدارات اطراف CPU توسط سه گذرگاه فراهم میشود : گذرگاه آدرس ، گذرگاه داده و گذرگاه کنترل . برای هرعمل خواندن یا نوشتن ، CPU موقعیت داده (یا دستورالعمل) را با قراردادن یک آدرس روی گذرگاه آدرس مشخص میکند و سپس سیگنالی را روی گذرگاه کنترل فعال مینماید تا نشان دهد که عمل موردنظر خواندن است یا نوشتن . عمل خواندن ، یک بایت داده را از مکان مشخص شده در حافظه برمیدارد و روی گذرگاه داده قرار میدهد . CPU داده را میخواند و دریکی از ثبات های داخلی خود قرار میدهد . برای عمل نوشتن CPU داده را روی گذرگاه داده میگذارد . حافظه ، تحت تأثیر سیگنال کنترل ، عملیات را بعنوان یک سیکل نوشتن ، تشخیص میدهد و داده را درمکان مشخص شده ذخیره میکند .
اغلب ، کامپیوترهای کوچک 16 یا 20 خط آدرس دارند . با داشتن n خط آدرس که هریک میتوانند در وضعیت بالا(1) یا پایین (0) باشند ، n 2 مکان قابل دستیابی است . بنابراین یک گذرگاه آدرس 16 بیتی میتواند به 65536 = 16 2 مکان ، دسترسی داشته باشد و برای یک آدرس 20 بیتی 1048576 = 20 2 مکان قابل دستیابی است . علامت اختصاری K (برای کیلو) نماینده 1024 = 10 2 میباشد ، بنابراین 16 بیت میتواند K 64 = 10 2 × 6 2 مکان را آدرس دهی کند درحالی که 20 بیت میتواند K 1024 = 10 2 × 10 2 ( یا Meg 1) را آدرس دهی نماید .
گذرگاه داده اطلاعات را بین CPU و حافظه یا بین CPU و قطعات I/O منتقل میکند . تحقیقات دامنه داری که برای تعیین نوع فعالیتهایی که زمان ارزشمند اجرای دستورالعمل ها را دریک کامپیوتر صرف میکنند ، انجام شده است نشان میدهد که کامپیوترها دوسوم وقتشان را خیلی ساده صرف جابجایی داده میکنند . ازآن جا که عمده عملیات جابجایی بین یک ثبات CPU و RAM یا ROM خارجی انجام میشود تعداد خطهای (یا پهنای) گذرگاه داده در کارکرد کلی کامپیوتر اهمیت شایانی دارد . این محدودیت پهنا ، یک تنگنا به شمار میرود : ممکن است مقادیر فراوانی حافظه در سیستم وجود داشته باشد و CPU از طریق گذرگاه داده – توسط پهنای گذرگاه داده محدود میشود . به علت اهمیت این ویژگی ، معمول است که یک پیشوند را که نشان دهنده اندازه این محدودیت است اضافه میکنند . عبارت «کامپیوتر 16بیتی» به کامپیوتری با 16 خط در گذرگاه داده اشاره میکند . اغلب کامپیوترها در طبقه بندی 4 بیت ، 8 بیت ، 16 بیت یا 32 بیت قرار میگیرند و توان محاسباتی کلی آنها با افزایش پهنای گذرگاه داده ، افزایش مییابد .
توجه داشته باشید که گذرگاه داده همانطور که درشکل 2-1 نشان داده شده است ، یک گذرگاه دوطرفه و گذرگاه آدرس ، یک گذرگاه یک طرفه میباشد . اطلاعات آدرس همیشه توسط CPU فراهم میشود (همانطوری که درشکل 2-1 با فلش نشان داده شده است.) درحالی که داده ممکن است در هرجهت ، بسته به اینکه عملیات خواندن موردنظر باشد یا نوشتن ، جابجا شود .1 همچنین توجه داشته باشید که عبارت «داده» در مفهوم کلی بکار رفته است یعنی اطلاعاتی که روی گذرگاه داده جابجا میشود و ممکن است دستورالعمل های یک برنامه ، آدرس ضمیمه شده به یک دستورالعمل یا داده مورد استفاده توسط برنامه باشد .
گذرگاه کنترل ترکیب درهمی از سیگنال ها است ، که هریک نقش خاصی درکنترل منظم فعالیتهای سیستم دارند . بعنوان یک قاعده کلی ، سیگنال های کنترل سیگنالهای زمانبندی هستند که توسط CPU برای همزمان کردن جابجایی اطلاعات روی گذرگاه آدرس و داده ایجاد میشوند . اگرچه معمولا سه سیگنال مثل CLOCK ، READ و WRITE وجود دارد ، برای انتقال اساسی داده بین CPU و حافظه ، نام و عملکرد این سیگنال ها بطورکامل بستگی به نوع CPU دارد . برای جزئیات بیشتر در این موارد باید به برگه اطلاعات سازندگان مراجعه کرد .
6-1 ابزارهای ورودی / خروجی
ابزارهای I/O یا «ابزارهای جانبی کامپیوتر» مسیری برای ارتباط بین سیستم کامپیوتری و «دنیای واقعی» فراهم میکنند . بدون ابزارهای جانبی ، سیستمهای کامپیوتری به ماشینهای درون گرایی تبدیل میشوند که استفاده ای برای کاربران خود ندارند . سه دسته از ابزارهای I/O عبارتند از ابزارهای ذخیره سازی انبوه ،2 ابزارهای رابط با انسان3 و ابزارهای کنترل / نظارت4 .
1-6-1 ابزارهای ذخیره سازی انبوه
ابزارهای ذخیره سازی انبوه نیز مثل RAM ها و ROM های نمیه رسانا جزو نقش آفرینان عرصه تکنولوژی حافظه هستند که بطور دائم درحال رشد و بهبود است . آنچنان که از نام آنها برمی آید این ابزارها مقادیر معتنابهی اطلاعات (برنامه یا داده) را نگهداری میکنند و این حجم از اطلاعات به هیچ وجه در RAM یا «حافظه اصلی» نسبتا کوچک کامپیوتر جا نیمگیرد . این اطلاعات پیش از این که در دسترس CPU قرار بگیرد باید به داخل حافظه اصلی بارشود . دسته بندی ابزارهای ذخیره سازی انبوه برطبق سادگی دستیابی به اطلاعات ، آنها را به دودسته تقسیم میکند ابزارهای آماده کار و ابزارهای بایگانی . در روش ذخیره سازی آماده کار که معمولا روی دیسک های مغناطیسی انجام میشود ، اطلاعات ذخیره شده در دسترس CPU قرار دارند بدون آن که نیازی به دخالت انسان از طریق اجرای نرم افزار خاصی باشد . در روش ذخیره سازی بایگانی داده هایی نگهداری میشوند که بندرت به کار میروند و باید بصورت دستی در سیستم بار شوند . ذخیره سازی بایگانی معمولا روی نوارهای مغناطیسی یا دیسک های مغناطیسی انجام میشود . اگرچه دیسک های نوری مثل CD-ROM ها 3 یا تکنولوژی WORM 4 که بتازگی ظهور کرده اند ، ممکن است سمت گیری روش ذخیره سازی بایگانی را به علت قابلیت اطمینان ، ظرفیت بالا و قیمت پایین خود تغییر دهند . 5
-1 مفاهیم جدید
میکروکنترلرها مانند دیگر فرآورده هایی که پیش از آن برای برطرف کردن موانع کار مورد ملاحظه بودند ، توسط دو نیروی مکمل هم یعنی نیاز بازار و تکنولوژی جدید بوجود آمده اند . تکنولوژی جدید همان است که پیش از این ذکر شد ، یعنی نیمه رساناهایی با ترانزیستورهای بیشتر در فضای کمتر که با قیمت پایین تری به صورت انبوه تولید میشوند . نیاز بازار ، تقاضای صنعت و مصرف کنندگان وسایل و اسباب بازی های هوشمند میباشد .4 این تعریف گسترده ای است ، بهترین مثال شاید داشبورد خودرو باشد که شاهد تغییر «مرکز کنترل» خودرو درطی دهه گذشته بوده است . زمانی راننده ها باید به دانستن سرعت خود اکتفا میکردند ، اما امروزه نمایشی از سوخت صرفه جویی شده و زمان تقریبی رسیدن را در اختیار دارند . زمانی دانستن این که یک کمربند ایمنی در شروع حرکت محکم شده است یا نه کافی بود امروزه به ما «گفته میشود» کدام کمربند ایمنی ایراد دارد . اگر دری نیمه باز بماند بموقع توسط کلمات به ما اطلاع داده میشود (شاید کمربند ایمنی لای درگیر کرده باشد) .
همه این موارد این مطلب را در ذهن تداعی میکنند که ریز پردازنده ها ( و دراین مورد میکروکنترلر) به راه حل هایی تبدیل شده اند که به دنبال یک مسأله میگردند . به نظر میرسد که آنها در کاهش پیچیدگی مدارات فرآورده های مصرفی بسیار مؤثر عمل کرده اند بطوری که تولیدکنندگاه اغلب برای افزودن امکانات اضافی اشتیاق زیادی دارند ، فقط به این علت که میکروکنترلرها خیلی راحت برای فرآورده ها قابل طراحی هستند . نتیجه کار ، اغلب فاقد سادگی لازم میباشد . بهترین مثال ممکن ظهور فرآورده ها قابل طراحی هستند . نتیجه کار ، اغلب فاقد سادگی لازم میباشد . بهترین مثال ممکن ظهور فرآورده های سخنگو در سالهای اخیر است . این فرآورده ها ، چه خودرو و چه اسباب بازی معمولا مثالهایی از زیاده روی ها و طراحی های اضافه برنیاز ، و شاید گوشه ای از هنر دهه هشتاد هستند . در آن زمان هم بسیاری معتقد بودند که همین که گرد کهنگی روی این وسایل بنشیند ، تنها چیزی که برای آنها باقی میماند قابلیت کای آنها خواهد بود .
میکروکنترلرها پردازنده هایی اختصاصی هستند . آنها به خودی خود در کامپیوترها به کار نمیروند ، بلکه در فرآورده های صنعتی و وسایل مصرفی مورد استفاده قرار میگیرند . استفاده کنندگان این فرآورده ها اغلب از وجود میکروکنترلرها کاملا بی اطلاع هستند . از دید آنها اجزای داخلی وجود دارند اما جزو جزئیات بی اهمیت طراحی به شمار میروند . برای مثال اجاق های مایکروویو ، ترموستات های قابل برنامه ریزی ، ترازوهای الکترونیک و حتی خودروها را میتوانید در نظر بگیرید . قسمت الکترونیکی هریک از این فرآورده ها عموما شامل ارتباط میکروکنترلر با کلیدهای فشاری ، سوئیچ ها ، وسایل هشداردهنده و لامپ های روی یک تابلو میباشد . در نتیجه به استثناء برخی امکانات اضافی ، طرز استفاده آنها با فرآورده ها ی الکترومکانیکی قبلی تفاوتی نکرده است و میکروکنترلر آنها از دید استفاده کنندگاه مخفی است .
برخلاف سیستمهای کامپیوتری که توسط قابلیت برنامه ریزی و دوباره برنامه ریزی شدن ، باز شناخته میشوند ، میکروکنترلرها یک بار برای همیشه و برای یک کاربرنامه ریزی میشوند . این مقایسه به یک تفاوت اساسی در معماری این دو سیستم منجر میشود . سیستمهای کامپیوتری نسبت RAM به ROM بالایی دارند و برنامه های کاربران در یک فضای نسبتا بزرگ RAM اجرا میشود درحالی که روال های ارتباط با سخت افزار در یک فضای کوچک ROM اجرا میگردد . از طرف دیگر میکروکنترلرها نسبت ROM به RAM بالایی دارند ، برنامه کنترلی آنها که شاید نسبتا بزرگ هم باشد در ROM ذخیره میشود ، درحالی که RAM فقط برای ذخیره موقت مورد استفاده قرار میگیرد . از آنجا که برنامه کنترلی برای همیشه در ROM ذخیره میشود در مرتبه میان افزار1 قرار میگیرد ، یعنی چیزی بین سخت افزار (مدارهای واقعی) و نرم افزار (برنامه هایی در RAM که هنگام خاموش شدن سیستم پاک میشوند). تفاوت بین سخت افزار و نرم افزار تا حدی شبیه به تفاوت بین یک صفحه کاغذ (سخت افزار) و کلمات نوشته شده روی آن (نرم افزار) میباشد . میان افزار را میتوان به صورت فرم های استانداردی که برای یک کاربرد مشخص طراحی و چاپ شده اند درنظر گرفت .
-2 حافظه خارجی
برای پرهیز از یک تنگنای بالقوه درطراحی ، میکروکنترلرها باید قابلیت توسعه را فراتر از منابع و امکانات روی تراشه خود داشته باشند . اگر قرار است امکانایت توسعه یابد (حافظه ، I/O و مانند آن) قابلیت آن باید وجود داشته باشد . معماری MCS-51MT این قابلیت را به صورت K64 بایت فضای حافظه خارجی برای داده فراهم کرده است و درصورت نیاز ROM و RAM اضافی را میتوان به آن افزود . IC های ارتباط با ابزارهای جانبی نیز میتوانند برای افزایش قابلیت I/O اضافه گردند . اینها جزئی از فضای حافظه داده خارجی با استفاده از نقشه حافظه برای I/O میباشند .
هنگامی که حافظه خارجی مورد استفاده قرار میگیرد درگاه 0 به عنوان یک درگاه I/O قابل استفاده نیست . این درگاه به گذرگاه آدرس (A0-A7) و داده (D0-D7) مالتی پلکس شده تبدیل میشود . ALE بایت پایین آدرس را در شروع هرسیکل حافظه خارجی ذخیره میکند . درگاه 2 معمولا (اما نه همیشه) برای بایت بالای گذرگاه آدرس به کارگرفته میشود .
پیش از بحث پیرامون جزئیات خاص مالتی پلکس کردن گذرگاه های آدرس و داده ، ایده کلی درشکل 7-2 نشان داده شده است . یک آرایش بدون مالتی پلکس از 16 خط اختصاصی آدرس و 8 خط اختصاصی داده یعنی کلا از 24 پایه استفاده میکند . آرایش مالیت پلکس شده 8 خط گذرگاه داده را با بایت پایین گذرگاه آدرس مالتی پلکس مینماید . این تعداد با 8 خط دیگر برای بایت بالای گذرگاه آدرس ، کلا 16 پایه میشود . این صرفه جویی در پایه ها باعث میشود که امکانات و توانایی های بیشتری دریک بسته بندی دو ردیفه 40 پایه ایجاد شود .
حال ببینیم که آرایش مالتی پلکس شده چگونه کار میکند : درطی نیمه نخست هرسیکل حافظه بایت پایین آدرس در درگاه 0 قرار میگیرد و توسط ALE ذخیره میشود . یک 74HC373 (یا معادل آن) بایت پایین آدرس درطی سیکل حافظه پایدار نگاه میدارد . درطی نیمه دوم سیکل حافظه درگاه 0 به عنوان گذرگاه داده به کار میرود و داده ، بسته به عمل انجام شده خوانده یا نوشته میشود .
1-6-2 دستیابی به حافظه کد خارجی
حافظه کد خارجی یک حافظه فقط خواندنی است که توسط سیگنال PSEN فعال میشود . هنگامی که ازیک EPROM خارجی استفاده میکنیم ، درگاه های 0 و 2 به عنوان درگاه های I/O همه منظوره در دسترس ما نیستند . اتصالات سخت افزاری برای حافظه EPROM خارجی در شکل 8-2 نشان داده شده است .
یک سیکل ماشین را 8051 ، برابر با 12 تناوب نوسان ساز است . برای نوسان ساز روی تراشه با یک کریستال 12 مگاهرتز هرسیکل ماشین یک میکروثانیه طول میکشد . درطی یک سیکل ماشین نوعی ، ALE دو پالس میدهد و دو بایت از حافظه برنامه خوانده میشود . ( اگر دستورالعمل درحال اجرا، یک دستورالعمل یک بایتی باشد از بایت دوم استفاده نمیشود). زمانبندی این عملیات که به واکشی کد عملیاتی معروف است درشکل 9-2 نشان داده شده است .
دسته بندی | الکترونیک و مخابرات |
فرمت فایل | doc |
حجم فایل | 51 کیلو بایت |
تعداد صفحات فایل | 67 |
مقاله بررسی علم الکترونیک (تایمرها و …) در 67 صفحه ورد قابل ویرایش
چکیده:
تایمر دیجیتالی که دراین پروژه طراحی شده است و معرفی می گردد دارای مشخصات زیر است:
- نمایش مراحل برنامه بر روی سون سگمنت (26 مرحله).
- حفظ مرحله برنامه در هنگام قطع برق با استفاده از باطری BACKUP .
- انتخاب شروع از هرمرحله برنامه با استفاده از کلیدهای PROGRAM .
- کوچک بودن حجم مدار نسبت به نمونه های مشابه دیجیتالی .
اصولاً تایمر برای شمارش اتفاقات بکار می رود. و تعداد خاصی از این اتفاقات برای ما اهمیت دارد تا در این زمانهای خاص به یک دستگاه فرمان روشن یا خاموش بودن را بدهیم. دراصل تایمر دیجیتالی یک شمارنده است که تعداد پالسهای ورودی را بصورت باینری می شمارد و اگر ما از میان این اعداد موردنظر خودمان را به وسیله یک دیکودر، دیکودر کنیم، به راحتی می توانیم به تعدادی خروجی فرمان دهیم.
مقدمه:
درعصری که ما در آن زندگی می کنیم، علم الکترونیک یکی از اساسی ترین و کاربردیترین علومی است که در تکنولوژی پیشرفته امروزه نقش مهمی را ایفا می کند.
الکترونیک دیجینتال یکی از شاخه های علم الکترونیک است که منطق زیبای آن انسان را مجذوب خود می کند.
امروزه اکثر سیستمهای الکترونیکی به سمت دیجیتال سوق پیدا کرده است و این امر به علت مزایای زیادی است که سیستمهای دیجیتال نسبت به مدارهای آنالوگ دارند.
مداری که ادر این پروژه معرفی می گردد یک مدار فرمان میکرویی است که به منظور جایگزینی برای نمونه مکانیکی آن طراحی گردیده است.
برای طراحی و ساخت یک تایمر ماشین لباسشویی، قبل از هرچیز باید ماشین لباسشویی، طرزکار و همچنین عملکرد قسمتهای مختلف آن را بشناسیم. برای این منظور در ابتدات به شرح قسمتهای مختلف آن می پردازیم:
اجزای زیر قسمتهای مختلف یک ماشین لباسشویی را تشکیل می دهند:
موتور ، پمپ تخلیه، المنت گرمکن، شیربرقی، اتوماتیک دما، هیدرو سوئیچ و تایمر.
اگر بخواهیم عملکرد ماشین لباسشویی را بطور خلاصه بیان کنیم، به این صورت است که ابتدا شیرآب (شیربرقی) بازشده و آب مخزن را پر می کند. سپس درصورت نیاز، گرمکن آب مخزن را به گرمای مجاز می رساند. سپس موتور شروع به چرخاندن لباسهای کثیف می کند. سپس پمپ، آب کثیف را از مخزن به بیرون از ماشین پمپ می کند. این سلسله عملیات ادامه دارد تا در انتها ماشین بطوراتوماتیک خاموش شده و متصدی دستگاه می تواند لباسهای شسته شده را از دستگاه خارج کند. فرمان تمام اجزای فوق را تایمر می دهد. برای آشنایی با تایمر مکانیکی، مختصری درمورد آن توضیح می دهیم:
این تایمر به ا ین صورت عمل می کند که یک موتور الکتریکی کوچک، یک محور را توسط چرخ دنده هایی می چرخاند و این محور یک سری دیسک های پلاستیکی هم محور را می چرخاند. این دیسک ها بر روی خود دارای برجستگی هایی است و برروی این برجستگی ها زائده هایی قرار می گیرند که با چرخیدن دیسک، این زائده ها بالا و پایین رفته و پلاتین هایی را بازوبسته می کنند. و این پلاتین ها نیز به نوبه خود یک سری اتصال های الکتریکی قطع و وصل می شوند که می توانند به عنوان فرمان های الکتریکی قسمتهای مختلف لباسشویی به کار روند. شکل زیر نحوه عملکرد این نوع تایمر را نشان می دهد:
تایمرهای مکانیکی دارای عیوب و مزایایی هستند که در زیر به آنها اشاره می شود:
بسیارگران هستند، استفاده از این نوع تایمر باعث پیچیدگی سیم کشی داخل ماشین لباسشویی می شود، بر اثر کارکرد پلاتین های آن اکسیده شده و به خوبی عمل نمی کند.
از مزیتهای مهم تایمر مکانیکی می توان نویزپذیر نبودن آن را نام برد. قبل از تشریح مدار تایمردیجیتالی و عملکرد آن، ابتدا کمی درمورد دو عنصر هیدروسوئیچ و اتوماتیک دما که درتمام ماشین های لباسشویی وجود دارد (وکمتر در دستگاههای الکتریکی دیده می شود) توضیح می دهیم:
تایمرهای لباسشویی یک سری مشخصات عمومی دارند که برای همه انواع آن صادق است.
این مشخصات به قرار زیر است:
- نشان د ادن مرحله برنامه در هرلحظه.
- حفظ مرحله برنامه درهنگام قطع برق.
- انتخاب شروع برنامه از هرمرحله دلخواه.
- خاموش کردن لباسشویی پس از اتمام به صورت اتوماتیک.
هیدروسوئیچ که مخفف سوئیچ هیدرولیکی است یک عنصر مکانیکی است که پربودن یا خالی بودن مخزن لباسشویی از آب را، تشخیص می دهد.
این عنصر از یک مخزن کوچک تشکیل شده که داخل آن یک دیافراگم قراردارد. این مخزن دارای یک ورودی هوا است. وقتی هوا تحت فشار معینی به داخل آن برسد، دیافراگم به جلو حرکت کرده و یک اتصال الکتریکی را قطع و یا وصل می کند.
علت استفاده از هیدروسوئیچ در ماشین لباسشویی یکی به این دلیل است که وقتی شیربرقی آب را بازکرده وآب وارد مخزن لباسشویی می شود، پس از رسیدن حجم آب بیش از حد مجاز وارد مخزن شود.
دلیل دیگر استفاده از هیدروسوئیچ، وابسته نبودن حجم آب پرشده درون مخزن، به فشار آب ورودی است. اتوماتیک دما هم یک نوع ترموستات الکتریکی است که با قطع و وصل به موقع المنت گرمکن، دمای آب مخزن لباسشویی را طبق انتخاب ما ثابت نگه می دارد.
مدارتغذیه:
درشکل نمای کلی از مدار تغذیه به کار برده شده در این پروژه را نشان می دهیم. که آن را به اختصار شرح می دهیم.
باتری V1 ولتاژ کمتری نسبت به V2 دارد پس D2 هدایت کرده و روشن است و D1 خاموش است. ما دراینجا از رگولاتور (7805) استفاده کرده ایم که ولتاژ ورودی آن بین 6 تا 10 و کاهنده می باشد که 5 ولت خروجی دارد.
در اینجا به خاطر رسیدن به 5 ولت از Ic(7805) استفاده می کنیم.
مدار داخلی (7805):
یک مدار کلکتور مشترک است که تقویت ولتاژ ندارد و تقویت جریان دارد.
علت استفاده از دیود D1 در مدار تغذیه:
اگر D1 در مدار نباشد باتری 9 ولت همیشه در مدار است اما ا گر D1 در مدار باشد وقتی باتری 9 ولت وارد مدار می شود که ولتاژ تغذیه شهر قطع شود.
علت استفاده از D2: برای اینکه ولتاژی از باتری به منبع تغذیه نرود.
مدار تشخیص قطع و وصل بودن برق شهر:
1- نحوه قرارگرفتن پایه های رگولاتور به صورت زیراست:
2- مقاومتهای بایاس ترانزیستور با مقادیر مشخص شده به کار رفته اند.
3- علت استفاده از خازن C1 : یک صافی است، برای اینکه روی میکرو پارازیت نیافتد.
این مدار به منظور رساندن پیامی به میکرو در مدار قرارداده شده تا میکرو را از وضعیت برق شهر مطلع کند .
این مدار یک ولتاژ نمونه از منبع تغذیه اصلی دریافت کرده و اگر جریان برق شهر برقرار باشد خروجی این مدار صفر و در غیراین صورت خروجی مدار 1 می باشد. که میکرو از روی این اختلاف ولتاژ به بودن یا نبودن برق شهر پی می برد.
این مدار تغذیه دارای یک مدار فرمان است که این مدار فرمان به میکرو متصل می باشد. تا زمانی که برق شهر رفت، به میکرو فرمان دهد که تمام خروجی ها را خاموش کند.
این مدار تغذیه 2 ورودی دارد که درحالت seven segment دستگاه خاموش میشود ، و میکرو به حالت استندبای می رود.
«مدار قدرت»
این مدار ، مدار اپتو کوپلر (بایاس ترایاک) است .
اپتوکوپلرها برای ایزوله کردن مدار فرمان از مدار قدرت بکار می روند به این ترتیب که فرمان گیت ترایاک توسط یک LED به آن اعمال می شود. بین LED و ترایاک هیچ پایه مشترکی وجود ندارد.
درصورت مستقیم وصل کردن مدار فرمان به مدار قدرت علاوه براین اشکالات نویز باعث برق دار شدن مدار فرمان می شود.
برای برطرف کردن این اشکال 2 راه وجود دارد. 1- استفاده از ترانس پالس 2- اپتو کوپلر در روش ترانس پالس، به وسیله یک ترانس پالس مدار فرمان از قدرت جدا می شود.
به این ترتیب که با اعمال پالس ازطرف مدارفرمان در سر دیگر ترانس پالس یک پالس مربعی ایجاد می شود که ازآن می توان برای فرمان دادن مدارات قدرت استفاده کرد.
1- ترانزیستور: از خروجی میکرو جریان کمی می گذرد به خاطر تقویت جریان برای رسیدن به ورودی opto IC IC استفاده می شود.
* مدار پیشنهادی برای راه اندازی تریاک IC(opto copler) توسط اپتوکوپلر
میکروها، مینی ها و کامپیوترهای مرکزی
به عنوان یک نقطه شروع، کامپیوترها براساس اندازه و توان آنها با عنوان میکروکامپیوترها، مینی کامپیوترها و کامپیوترهای مرکزی دسته بندی می شوند. یک ویژگی کلیدی میکروکامپیوترها اندازه و بسته بندی CPU می باشد که از یک مدار مجتمع واحد – یعنی یک ریزپردازنده تشکیل شده است. از طرف دیگر مینی کامپیوترها و کامپیوترهای مرکزی علاوه بر آن که در برخی جزئیات معماری، پیچیده تر هستند، CPU هایی مشتمل برچندین IC دارند که از چند IC (در مینی کامپیوترها) تا چندین برد مدار متشکل از IC ها (در کامپیوترهای مرکزی) تغییر می کند و این برای به دست آوردن سرعت های بالا و توان محاسباتی کامپیوترهای بزرگتر ضروری است.
میکروکامپیوترهایی مثل Apple Macintosh , IBM PC و Commodore Amiga یک ریزپردازنده را به عنوان CPU بکار برده اند. ROM , RAM و مدارهای واسطه به IC های زیادی نیاز دارند و تعداد قطعات اغلب به همراه توان محاسبه افزایش می یابد. مدارهای واسطه از لحاظ پیچیدگی بسته به ابزارهای I/O تفاوت قابل ملاحظه ای دارند. برای مثال راه اندازی بلندگو که در اغلب میکروکامپیوترها وجود دارد تنها نیازمند یک جفت گیت منطقی است و درمقابل، رابط دیسک معمولا شامل IC های زیادی است که بعضاً در بسته های LSI قرار دارند.
ویژگی دیگری که میکروها را از مینی ها و کامپیوترهای مرکزی جدا می کند آن است که میکروکامپیوترها سیستمهایی تک اجرایی و تک کاربر هستند یعنی با یک کاربر ارتباط متقابل دارند و یک برنامه را دریک زمان اجرا می کنند. از طرف دیگر مینی ها و کامپیوترهای مرکزی سیستمهایی چند اجرایی و چندکاربر هستند یعنی می توانند به کاربران و برنامه های زیادی بطور همزمان سرویس دهند. درعمل، اجرای همزمان برنامه ها توهمی است که در نتیجه عمل «برش زمان» توسط CPU بوجود می آید (با این همه سیستمهای چندپردازشی از چندین CPU برای انجام همزمان وظایف استفاده می کنند).
مقایسه ریزپردازنده ها با میکروکنترلرها
پیش از این خاطر نشان شد که ریزپردازنده ها CPU هایی تک تراشه هستند و درمیکروکامپیوترها به کار می روند. پس فرق میکروکنترلرها با ریزپردازنده ها چیست؟ با این سؤال از سه جنبه می توان برخورد کرد: معماری سخت افزار، کاربردها و ویژگی های مجموعه دستورالعمل ها .
معماری سخت افزار
برای روشن ساختن تفاوت بین میکروکنترلرها و ریزپردازنده ها، شکل 2-1 برای نشان دادن جزئیات بیشتر دوباره رسم شده است (شکل 6-1 را ملاحظه کنید).
درحالی که ریزپردازنده یک CPU ی تک تراشه ای است، مکروکنترلر دریک تراشه واحد شامل یک CPU و بسیاری از مدارات لازم برای یک سیستم میکروکامپیوتری کامل می باشد. علاوه بر CPU میکروکنترلرها شامل ROM , RAM یک رابط سریال، یک رابط موازی، تایمر و مدارات زمان بندی وقفه می باشند که همگی دریک IC قراردارند . البته مقدار RAM روی تراشه حتی به میزان آن دریک سیستم میکروکامپیوتری کوچک هم نمی رسد اما آنطور که خواهیم دید این مسأله محدودیتی ایجاد نمی کند زیرا کاربردهای میکروکنترلر بسیار متفاوت است.
یک ویژگی مهم میکروکنترلرها، سیستم وقفه موجود در داخل آنهاست. میکروکنترلرها به عنوان ابزارهای کنترل گرا اغلب برای پاسخ بی درنگ به محرکهای خارجی (وقفه ها) مورد استفاده قرار می گیرند. یعنی باید در پاسخ به یک «اتفاق»، سریعا یک فرآیند را معوق گذارده، به فرآیند دیگر بپردازند. بازشدن دریک اجاق مایکروویو مثالی است از یک اتفاق که ممکن است باعث ایجاد یک وقفه در یک سیستم میکروکنترلری شود. البته اغلب ریزپردازنده ها می توانند سیستمهای وقفه قدرتمندی را به اجرا بگذارند، اما برای این کار معمولا نیاز به اجزای خارجی دارند. مدارات روی تراشه یک میکروکنترلر شامل تمام مدارات موردنیاز برای بکارگیری وقفه ها می باشد.
کاربردها
ریزپردازنده ها اغلب به عنوان CPU در سیستم های میکروکامپیوتری بکار می روند. این کاربرد دلیل طراحی آنها و جایی است که می توانند توان خود را به نمایش بگذارند. با این وجود میکروکنترلرها در طراحی های کوچک با کمترین اجزاء ممکن که فعالیتهای کنترل گرا انجام میدهند نیز یافت می شوند. این طراحی ها در گذشته با چند دوجین یا حتی صدها IC دیجیتال انجام می شد. یک میکروکنترلر می تواند در کاهش تعدا کل اجزا، کمک کند. آنچه که موردنیاز است عبارت است از یک میکروکنترلر، تعداد کمی اجزاء پشتیبان و یک برنامه کنترلی در ROM. میکروکنترلرها برای «کنترل» ابزارهای I/O در طراحی هایی با کمترین تعداد اجزاء ممکن مناسب هستند، اما ریزپردازنده ها برای «پردازش» اطلاعات در سیستمهای کامپیوتری مناسبند.
ویژگیهای مجموعه دستورالعمل ها
به علت تفاوت در کاربردها، مجموعه دستورالعمل های موردنیاز برای میکروکنترلرها تا حدودی با ریزپردازنده ها تفاوت دارد. مجموعه دستورالعمل ها ی ریزپردازنده ها برعمل پردازش تمرکز یافته اند و در نتیجه دارای روشهای آدرس دهی قدرتمند به همراه دستورالعمکل هایی برای انجام عملیات روی حجم زیاد داده می باشند. دستورالعمل ها روی چهاربیت ها، بایت ها، کلمه ها یا حتی کلمه های مضاعف عمل می کنند. روشهای آدرس دهی با استفاده از فاصله های نسبی و اشاره گری های آدرس امکان دسترسی به آرایه های بزرگ داده را فراهم می کنند. حالت های افزایش یک واحدی اتوماتیک و کاهش یک واحدی، حرکت گام به گام روی بایت ها، کلمه ها و کلمه های مضاعف را در آرایه ها آسان می کنند. دستورالعمل های رمزی نمی توانند در داخل برنامه کاربر اجرا شوند وبسیاری ویژگی های دیگر از این قبیل.
از طرف دیگر میکروکنترلرها مجموعه دستورالعمل هایی مناسب برای کنترل ورودی ها و خروجی ها دارند. ارتباط با بسیاری از ورودی ها و خروجی ها تنها نیازمند یک بیت است. برای مثال یک موتور توسط یک سیم پیچ که توسط یک درگاه خروجی یک بیتی انرژی دریافت می کند، روشن و خاموش شود. میکروکنترلرها دستورالعمل هایی برای 1کردن و 0کردن بیت های جداگانه دارند و دیگر عملیات روی بیت ها مثل OR , AND یا EXOR کردن منطقی بیت ها، پرش درصورت1 یا پاک بودن یک بیت و مانند آنها را نیاز انجام می دهند. این خصیصه مفید بندرت در ریزپردازنده ها یافت می شود زیرا آنها معمولا برای کار روی بایت ها یا واحدهای بزرگتر داده طراحی می شوند.
برای کنترل و نظارت بر ابزارها (شاید توسط یک رابط تک بیتی)، میکروکنترلرها مدارات داخلی و دستورالعمل هایی برای عملیات ورودی/ خروجی، زمانبندی اتفاقات و فعال کردن و تعیین اولویت وقفه های ناشی از محرک های خارجی دارند. ریزپردازنده ها اغلب به مدارات اضافی (IC های رابط سریال، کنترل کننده های وقفه، تایمرها و غیره) برای انجام اعمال مشابه نیاز دارند. با این همه در قدرت پردازش محض، یک میکروکنترلر هرگز به ریزپردازنده نمی رسد (اگر در بقیه موارد یکسان باشند)، زیرا بخش عمده «فضای واقعی» IC میکروکنترلر صرف تهیه امکانات روی تراشه می شود البته به قیمت کاهش توان پردازش.
از آنجا که فضاهای واقعی در تراشه برای میکروکنترلرها اهمیت دارند دستورالعمل ها باید بی نهایت فشرده باشند و اساسا در یک بایت پیاده سازی شوند. یکی از نکات در طراحی جادادن برنامه کنترلی در داخل ROM روی تراشه است، زیرا افزودن حیت یک ROM روی تراشه است، زیرا افزودن حتی یک ROM خارجی هزینه نهایی تولید را بسیار افزایش می دهد. به رمزدرآوردن فشرده برای مجموعه دستورالعمل های میکروکنترلر اساسی است ، در حالی که ریزپردازنده ها بندرت دارای این ویژگی می باشند، روشهای آدرس دهی قدرتمند آنها بعث به رمزدرآوردن غیر فشرده دستورالعمل ها می شود.
بررسی اجمالی پایه ها
در اینجا، معماری سخت افزار 8051 با نگاهی از بیرون به پایه های آن، معرفی میشود (شکل 2-2) و در ادامه شرح مختصری از عملکرد هر پایه ارائه می گردد.
همان طور که در شکل 2-2 دیده می شود 32 پایه از 40 پایه 8051 به عنوان خطوط درگاه I/O عمل می کنند. معهذا 24 خط از این خطوط دو منظوره هستند (26 خط در 8032/8052). هر یک از این خطوط می توانند به عنوان I/O یا خط کنترل و یا بخشی از گذرگاه آدرس یا گذرگاه داده به کار روند.
در طراحی هایی که با کمترین مقدار حافظه و دیگر قطعات خارجی انجام می شوند، از این درگاهها به عنوان I/O همه منظوره استفاده می کنند. هر هشت خط یک درگاه می تواند به صورت یک واحد در ارتباط با وسایل موازی مانند چاپگرها و مبدلهای دیجیتال به آنالوگ بکار رود. و یا هر خط به تنهایی با وسایل تک بیتی مثل سوئیچ ها، LEDها، ترانزیستورها، سیم پیچ ها، موتورها و بلندگوها ارتباط برقرار کند.
درگاه 0
درگاه 0، یک درگاه دو منظوره از پایه 32 تا 39 تراشه 8051 می باشد. این درگاه در طراحی های با کمترین اجزای ممکن به عنوان یک درگاه I/O عمومی استفاده می شود. در طراحی های بزرگتر که از حافظه خارجی استفاده می کنند، این درگاه یک گذرگاه آدرس و داده مالتی پلکس شده می باشد. (به بخش 6-2 حافظة خارجی مراجعه کنید)
درگاه 1
درگاه 1 درگاه اختصاصی I/O روی پایه های 1 تا 8 است. پایه های P1.0 تا P1.7 در صورت نیاز برای ارتباط با وسایل خارجی بکار می روند. وظیفه دیگری برای پایه های درگاه 1 درنظر گرفته نشده است، بنابراین آنها گهگاه برای ارتباط با وسایل خارجی بکار می روند. استثناء در IC های 8032/8052 که از P1.0 و P1.1 به عنوان خطوط I/O و یا ورودی تایمر سوم استفاده می شود.
درگاه 2
درگاه 2 (پایه های 21 تا 28) یک درگاه دو منظوره است که به عنوان I/O عمومی و یا بایت بالای گذرگاه آدرس در طراحی با حافظه کد خارجی به کار می رود. این درگاه همچنین در طراحی هایی که به بیش از 256 بایت از حافظه داده خارجی نیاز دارند نیز استفاده می شود.
درگاه3
درگاه 3 یک درگاه دو منظوره روی پایه های 10 تا 17 می باشد. علاوه بر I/O عمومی این پایه ها هر یک وظایف دیگری نیز در رابطه با امکانات خاص 8051 دارند. وظایف خاص پایه های درگاه 3 و درگاه 2 در جدول 2-2 خلاصه شده است.