دسته بندی | الکترونیک و مخابرات |
بازدید ها | 3 |
فرمت فایل | 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 نشان داده شده است .