مقاله بررسی علم الکترونیک و مدار فرمان میکروبی
دسته بندي :
فنی و مهندسی »
برق، الکترونیک، مخابرات
مقاله بررسي علم الکترونيک و مدار فرمان ميکروبي در 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 نشان داده شده است .