چكيده:
تايمر ديجيتالي كه دراين پروژه طراحي شده است و معرفي مي گردد داراي مشخصات زير است:
– نمايش مراحل برنامه بر روي سون سگمنت (۲۶ مرحله).
– حفظ مرحله برنامه در هنگام قطع برق با استفاده از باطري BACKUP .
– انتخاب شروع از هرمرحله برنامه با استفاده از كليدهاي PROGRAM .
– كوچك بودن حجم مدار نسبت به نمونه هاي مشابه ديجيتالي .
اصولاً تايمر براي شمارش اتفاقات بكار مي رود. و تعداد خاصي از اين اتفاقات براي ما اهميت دارد تا در اين زمانهاي خاص به يك دستگاه فرمان روشن يا خاموش بودن را بدهيم. دراصل تايمر ديجيتالي يك شمارنده است كه تعداد پالسهاي ورودي را بصورت باينري مي شمارد و اگر ما از ميان اين اعداد موردنظر خودمان را به وسيله يك ديكودر، ديكودر كنيم، به راحتي مي توانيم به تعدادي خروجي فرمان دهيم.

مقدمه:
درعصري كه ما در آن زندگي مي كنيم، علم الكترونيك يكي از اساسي ترين و كاربردي¬ترين علومي است كه در تكنولوژي پيشرفته امروزه نقش مهمي را ايفا مي كند.
الكترونيك ديجينتال يكي از شاخه هاي علم الكترونيك است كه منطق زيباي آن انسان را مجذوب خود مي كند.
امروزه اكثر سيستمهاي الكترونيكي به سمت ديجيتال سوق پيدا كرده است و اين امر به علت مزاياي زيادي است كه سيستمهاي ديجيتال نسبت به مدارهاي آنالوگ دارند.

مداري كه ادر اين پروژه معرفي مي گردد يك مدار فرمان ميكرويي است كه به منظور جايگزيني براي نمونه مكانيكي آن طراحي گرديده است.
براي طراحي و ساخت يك تايمر ماشين لباسشويي، قبل از هرچيز بايد ماشين لباسشويي، طرزكار و همچنين عملكرد قسمتهاي مختلف آن را بشناسيم. براي اين منظور در ابتدات به شرح قسمتهاي مختلف آن مي پردازيم:
اجزاي زير قسمتهاي مختلف يك ماشين لباسشويي را تشكيل مي دهند:
موتور ، پمپ تخليه، المنت گرمكن، شيربرقي، اتوماتيك دما، هيدرو سوئيچ و تايمر.

اگر بخواهيم عملكرد ماشين لباسشويي را بطور خلاصه بيان كنيم، به اين صورت است كه ابتدا شيرآب (شيربرقي) بازشده و آب مخزن را پر مي كند. سپس درصورت نياز، گرمكن آب مخزن را به گرماي مجاز مي رساند. سپس موتور شروع به چرخاندن لباسهاي كثيف مي كند. سپس پمپ، آب كثيف را از مخزن به بيرون از ماشين پمپ مي كند. اين سلسله عمليات ادامه دارد تا در انتها ماشين بطوراتوماتيك خاموش شده و متصدي دستگاه مي تواند لباسهاي شسته شده را از دستگاه خارج كند. فرمان تمام اجزاي فوق را تايمر مي دهد. براي آشنايي با تايمر مكانيكي، مختصري درمورد آن توضيح مي دهيم:

اين تايمر به ا ين صورت عمل مي كند كه يك موتور الكتريكي كوچك، يك محور را توسط چرخ دنده هايي مي چرخاند و اين محور يك سري ديسك هاي پلاستيكي هم محور را مي چرخاند. اين ديسك ها بر روي خود داراي برجستگي هايي است و برروي اين برجستگي ها زائده هايي قرار مي گيرند كه با چرخيدن ديسك، اين زائده ها بالا و پايين رفته و پلاتين هايي را بازوبسته مي كنند. و اين پلاتين ها نيز به نوبه خود يك سري اتصال هاي الكتريكي قطع و وصل مي شوند كه مي توانند به عنوان فرمان هاي الكتريكي قسمتهاي مختلف لباسشويي به كار روند. شكل زير نحوه عملكرد اين نوع تايمر را نشان مي دهد:
تايمرهاي مكانيكي داراي عيوب و مزايايي هستند كه در زير به آنها اشاره مي شود:
بسيارگران هستند، استفاده از اين نوع تايمر باعث پيچيدگي سيم كشي داخل ماشين لباسشويي مي شود، بر اثر كاركرد پلاتين هاي آن اكسيده شده و به خوبي عمل نمي كند.

از مزيتهاي مهم تايمر مكانيكي مي توان نويزپذير نبودن آن را نام برد. قبل از تشريح مدار تايمرديجيتالي و عملكرد آن، ابتدا كمي درمورد دو عنصر هيدروسوئيچ و اتوماتيك دما كه درتمام ماشين هاي لباسشويي وجود دارد (وكمتر در دستگاههاي الكتريكي ديده مي شود) توضيح مي دهيم:
تايمرهاي لباسشويي يك سري مشخصات عمومي دارند كه براي همه انواع آن صادق است.
اين مشخصات به قرار زير است:
– نشان د ادن مرحله برنامه در هرلحظه.
– حفظ مرحله برنامه درهنگام قطع برق.
– انتخاب شروع برنامه از هرمرحله دلخواه.
– خاموش كردن لباسشويي پس از اتمام به صورت اتوماتيك.
هيدروسوئيچ كه مخفف سوئيچ هيدروليكي است يك عنصر مكانيكي است كه پربودن يا خالي بودن مخزن لباسشويي از آب را، تشخيص مي دهد.
اين عنصر از يك مخزن كوچك تشكيل شده كه داخل آن يك ديافراگم قراردارد. اين مخزن داراي يك ورودي هوا است. وقتي هوا تحت فشار معيني به داخل آن برسد، ديافراگم به جلو حركت كرده و يك اتصال الكتريكي را قطع و يا وصل مي كند.
علت استفاده از هيدروسوئيچ در ماشين لباسشويي يكي به اين دليل است كه وقتي شيربرقي آب را بازكرده وآب وارد مخزن لباسشويي مي شود، پس از رسيدن حجم آب بيش از حد مجاز وارد مخزن شود.
دليل ديگر استفاده از هيدروسوئيچ، وابسته نبودن حجم آب پرشده درون مخزن، به فشار آب ورودي است. اتوماتيك دما هم يك نوع ترموستات الكتريكي است كه با قطع و وصل به موقع المنت گرمكن، دماي آب مخزن لباسشويي را طبق انتخاب ما ثابت نگه مي دارد.

مدارتغذيه:
درشكل نماي كلي از مدار تغذيه به كار برده شده در اين پروژه را نشان مي دهيم. كه آن را به اختصار شرح مي دهيم.
باتري V1 ولتاژ كمتري نسبت به V2 دارد پس D2 هدايت كرده و روشن است و D1 خاموش است. ما دراينجا از رگولاتور (۷۸۰۵) استفاده كرده ايم كه ولتاژ ورودي آن بين ۶ تا ۱۰ و كاهنده مي باشد كه ۵ ولت خروجي دارد.
در اينجا به خاطر رسيدن به ۵ ولت از Ic(7805) استفاده مي كنيم.
مدار داخلي (۷۸۰۵):
يك مدار كلكتور مشترك است كه تقويت ولتاژ ندارد و تقويت جريان دارد.
علت استفاده از ديود D1 در مدار تغذيه:
اگر D1 در مدار نباشد باتري ۹ ولت هميشه در مدار است اما ا گر D1 در مدار باشد وقتي باتري ۹ ولت وارد مدار مي شود كه ولتاژ تغذيه شهر قطع شود.
علت استفاده از D2: براي اينكه ولتاژي از باتري به منبع تغذيه نرود.

مدار تشخيص قطع و وصل بودن برق شهر:
۱- نحوه قرارگرفتن پايه هاي رگولاتور به صورت زيراست:
۲- مقاومتهاي باياس ترانزيستور با مقادير مشخص شده به كار رفته اند.
۳- علت استفاده از خازن C1 : يك صافي است، براي اينكه روي ميكرو پارازيت نيافتد.
اين مدار به منظور رساندن پيامي به ميكرو در مدار قرارداده شده تا ميكرو را از وضعيت برق شهر مطلع كند .
اين مدار يك ولتاژ نمونه از منبع تغذيه اصلي دريافت كرده و اگر جريان برق شهر برقرار باشد خروجي اين مدار صفر و در غيراين صورت خروجي مدار ۱ مي باشد. كه ميكرو از روي اين اختلاف ولتاژ به بودن يا نبودن برق شهر پي مي برد.
اين مدار تغذيه داراي يك مدار فرمان است كه اين مدار فرمان به ميكرو متصل مي باشد. تا زماني كه برق شهر رفت، به ميكرو فرمان دهد كه تمام خروجي ها را خاموش كند.

اين مدار تغذيه ۲ ورودي دارد كه درحالت seven segment دستگاه خاموش ميشود ، و ميكرو به حالت استندباي مي رود.
«مدار قدرت»
اين مدار ، مدار اپتو كوپلر (باياس تراياك) است .
اپتوكوپلرها براي ايزوله كردن مدار فرمان از مدار قدرت بكار مي روند به اين ترتيب كه فرمان گيت تراياك توسط يك LED به آن اعمال مي شود. بين LED و تراياك هيچ پايه مشتركي وجود ندارد.
درصورت مستقيم وصل كردن مدار فرمان به مدار قدرت علاوه براين اشكالات نويز باعث برق دار شدن مدار فرمان مي شود.
براي برطرف كردن اين اشكال ۲ راه وجود دارد. ۱- استفاده از ترانس پالس ۲- اپتو كوپلر در روش ترانس پالس، به وسيله يك ترانس پالس مدار فرمان از قدرت جدا مي شود.
به اين ترتيب كه با اعمال پالس ازطرف مدارفرمان در سر ديگر ترانس پالس يك پالس مربعي ايجاد مي شود كه ازآن مي توان براي فرمان دادن مدارات قدرت استفاده كرد.
۱- ترانزيستور: از خروجي ميكرو جريان كمي مي گذرد به خاطر تقويت جريان براي رسيدن به ورودي opto IC IC استفاده مي شود.
* مدار پيشنهادي براي راه اندازي ترياك IC(opto copler) توسط اپتوكوپلر

«مدار سنسور آب»:
در اين مدار از زوج دارلينگتون استفاده شده براي اينكه ضريب تقويت بالا رود. براي سنس كردن سطح آب مي توان از مدار زير استفاده كرد به اين ترتيب كه چون آب عنصر خالص نيست پس داراي مقاومتي مي باشد.كه حدود ۳۰۰k است .
در شرايط عادي وقتي۰ كه بين ۲ پايه قطع ما هيچ مقاومتي وجود ندارد ترانزيستور Q1 و Q2 كه به صورت زوج دارلينگتون براي بالابردن ضريب تقويت بسته شده و درحالت قطع مي باشد. در اين حالت خروجي مدار يك ۱ مي باشد اما اگر مقاومتي بين دوپايه قطع قرارگيرد: ترانزيستورهاي Q1 و Q2 به حالت اشباع رفته در اين حالت ولتاژ خروجي مدار صفر مي شود.

مقاومت R1 به منظور حفاظت ترانزيستورها از اتصال كوتاه دوسر سنسور به كاربرده شده، به اين ترتيب كه اگر اين مقاومت در مدار نباشد هنگام اتصال كوتاه شدن دوسر سنسور تمام ولتاژ دوسر بيس– امتير ترانزيستورها خواهد افتاد كه موجب سوختن و از بين رفتن آنها مي شود.
مقاومت R2 به منظور باياس ترانزيستورها و كنترل حساسيت مدار به كار رفته است به اين ترتيب كه هرچقدر مقدار مقاومت R2 بيشتر باشد حساسيت مدار بيشتر شده و برعكس.

اگر مقاومت R2 از مدار خارج شود سنسور ما با اشاره دست فعال مي شود مانند (سوئيچ هاي finger tuch )…
:(ADC0804) IC
يك IC آنالوگ به ديجيتال است كه ولتاژ را به كدديجيتالي تبديل مي كند.
سنسور دما يك IC سه پايه است كه به ازاي هردرجه حرارت ۱۰mv خروجي دارد.
پورتهاي Po مقاومتهاي بالاي IC پورت صفر احتياج به مقاومت Pull Up دارد كه از مقاومت ۱۰k براي اين كار استفاده مي شود.
پايه Reset شماره ۹ مي باشد كه به هنگام روشن شدن ميكرو آن را Reset مي كند و باعث مي شود كه برنامه ما از ابتدا اجرا مي شود. اين مقاومت با يك خازن يا (يك ميكرو) سري شده و به Vcc متصل شده است.
كريستال ۱۲mHz ميكرو، براي توليد پالس بكار مي رود. كلاك ميكرو مي باشد. P0.0 براي خروجي كلاك براي ATOD مي باشد.
مدارمتصل به پايه ۹ ميكرو به صورت زير است كه در آن خازن (ميكروفاراد) به Vcc متصل است و مقاومت به كاربرده شده ۱۰k بوده و مدار Reset سخت افزاري ميكرو مي باشد.

نمودار صفحه نمايش مدار :
«آشنايي با ميكروكنترلرها»
گرچه كامپيوترها تنها چند دهه اي است كه با ما همراهند ، با اين حال تأثير عميق آنها بر زندگي ما با تأثير تلفن، اتومبيل و تلويزيون رقابت مي كند. همگي ما حضور آنها را احساس مي كنيم، چه برنامه نويسان كامپيوتر و چه دريافت كنندگان صورت حسابهاي ماهيانه كه توسط سيستمهاي كامپيوتري بزرگ چاپ شده و توسط پست تحويل داده مي شود. تصور ما از كامپيوتر معمولا «داده پردازي» است كه محاسبات عددي را بطور خستگي ناپذيري انجام مي دهد.

ما با انواع گوناگوني از كامپيوترها برخورد مي كنيم كه وظايفشان را زيركانه و بطرزي آرام، كارا و حتي فروتنانه انجام مي دهند و حتي حضور آنها اغلب احساس نمي شود. ما كامپيوترها را به عنوان جزء مركزي بسياري از فرآورده هاي صنعتي و مصرفي از جمله، در سوپرماركت ها داخل صندوق هاي پول و ترازوها، درخانه، دراجاق ها، ماشين هاي لباسشويي، ساعت هاي داراي سيستم خبردهنده و ترموستات ها، در وسايل سرگرمي همچون اسباب بازي ها، VCR ها، تجهيزات استريو و وسايل صوتي، در محل كار در ماشين هاي تايپ و فتوكپي، و در تجهيزات صنعتي مثل مته هاي فشاري و دستگاههاي حروفچيني نوري مي يابيم.

در اين مجموعه ها كامپيوترها وظيفه «كنترل» را در ارتباط با «دنياي واقعي»، براي روشن و خاموش كردن وسايل و نظارت بر وضعيت آنها انجام مي دهند. ميكروكنترلرها (برخلاف ميكروكامپيوترها و ريزپردازنده ها) اغلب در چنين كاربردهايي يافت مي شوند. با وجود اين كه بيش از بيست سال از تولد ريزپردازنده نمي گذرد، تصور وسايل الكترونيكي و اسباب بازيهاي امروزي بدون آن كار مشكلي است. در ۱۹۷۱ شركت اينتل، ۸۰۸۰ را به عنوان اولين ريزپردازنده موفق عرضه كرد. مدت كوتاهي پس از آن، موتور رولا، RCA و سپس MOS Technology و Zilog انواع مشابهي را به ترتيب به نامهاي ۶۸۰۰، ۱۸۰۱، ۶۵۰۲، Z80 عرضه كردند. گرچه اين مدارهاي مجتمع (IC) ها به خودي خود فايده چنداني نداشتند اما به عنوان بخشي از يك كامپيوتر تك بورد (SBC)، به جزء مركزي فرآورده هاي مفيدي براي آموزش طراحي با ريزپردازنده ها تبديل شدند. از اين SBC ها كه بسرعت به آزمايشگاههاي طراحي در كالج ها، دانشگاهها و شركت هاي الكترونيك راه پيدا كردند مي توان براي نمونه از D2 موتور رولا، KIM-1 ساخت MOS Technolog و SDK-85 متعلق به شركت اينتل نام برد.

ميكروكنترلر قطعه اي شبيه به ريزپردازنده است . در ۱۹۷۶ اينتل ۸۷۴۸ را به عنوان اولين قطعه خانواده ميكروكنترلرهاي MCS-48TM معرفي كرد . ۸۷۴۸ با ۱۷۰۰۰ ترانزيستور در يك مدار مجتمع ، شامل يك CPU، ۱ كيلو بايت EPROM، ۶۴ بايت RAM، ۲۷ پايه I/O و يك تايمكر ۸ بيتي بود . اين IC و ديگر اعضاي MCS-48TM كه پس از آن آمدند، خيلي زود به يك استاندارد صنعتي در كاربردهاي كنترل گرا تبديل شدند جايگزين كردن اجزاء الكترومكانيكي در فرآورده هايي مثل ماشين هاي لباسشويي و چراغ هاي راهنمايي از ابتداي كار، يك كاربرد مورد توجه براي اين ميكروكنترلرها بودند و همين طور باقي ماندند. ديگر فرآورده هايي كه در آنها ميتوان ميكروكنترلر را يافت عبارتند از اتومبيل ها، تجهيزات صنعتي، وسايل سرگرمي و ابزارهاي جانبي كامپيوتر. (افرادي كه يك IBM PC دارند كافي است به داخل صفحه كليد نگاه كنند تا مثالي از يك ميكروكنترلر را دريك طراحي با كمترين اجزاء ممكن ببينند).

توان، ابعاد و پيچيدگي ميكروكنترلرها با اعلام ساخت ۸۰۵۱ ، يعني اولين عضو خانواده ميكروكنترلرهاي MCS-51MT‏ در ۱۹۸۰ توسط اينتل پيشرفت چشمگيري كرد. در مقايسه با ۸۰۴۸ اين قطعه شامل بيش از ۶۰۰۰۰ ترانزيستور، K 4 بايت ROM، ۱۲۸ بايت RAM، ۳۲ خط I/O، يك درگاه سريال و دوتايمر ۱۶ بيتي است. كه از لحاظ مدارات داخلي براي يك IC بسيار قابل ملاحظه است، (شكل ۱-۱ را ببينيد). امروزه انواع گوناگوني از اين IC وجود دارند كه به صورت مجازي اين مشخصات را دوبرابر كرده اند. شركت زيمنس كه دومين توليدكننده قطعات MCS-51TM است SAB80515 را به عنوان يك ۸۰۵۱ توسعه يافته دريك بسته ۶۸ پايه با شش درگاه I/O 8 بيتي ، ۱۳ منبع وقفه، و يك مبدل آنالوگ به ديجيتال با ۸ كانال ورودي عرضه كرده است . خانواده ۸۰۵۱ به عنوان يكي از جامعترين و قدرتمندترين ميكروكنترلرهاي ۸ بيتي شناخته شده و جايگاهش را به عنوان يك ميكروكنترلر مهم براي سال هاي آينده يافته است.

اين كتاب درباره خانواده ميكروكنترلرهاي MSC-51TM نوشته شده است. فصل هاي بعدي معماري سخت افزار و نرم افزار خانواده MCS-51TM را معرفي مي كنند و از طريق مثالهاي طراحي متعدد نشان مي دهند كه چگونه اعضاي اين خانواده مي توانند در طراحي هاي الكترونيكي با كمترين اجزاء اضافي ممكن شركت داشته باشند.
در بخشهاي بعدي از طريق يك آشنايي مختصر با معماري كامپيوتر، يك واژگان كاري از اختصارات و كلمات فني كه دراين زمينه متداولند (واغلب باهم اشتباه مي شوند) را ايجاد خواهيم كرد. از آن جا كه بسياري اصطلاحات در نتيجه تعصب شركتهاي بزرگ و سليقه مؤلفان مختلف دچار ابهام شده اند، روش كار ما در اين زمينه بيشتر عملي خواهد بود تا آكادميك. هر اصطلاح در متداول ترين حالت با يك توضيح ساده معرفي شده است.

۲-۱ اصطلاحات فني
يك كامپيوتر توسط دو ويژگي كليدي تعريف مي شود: (۱) داشتن قابليت برنامه ريزي براي كاركردن روي داده بدون مداخله انسان و (۲) توانايي ذخيره و بازيابي داده. عموما يك سيستم كامپيوتري شامل ابزارهاي جانبي براي ارتباط با انسان ها به علاوه برنامه هايي براي پردازش داده نيز مي باشد. تجهيزات كامپيوتر سخت افزار، و برنامه هاي آن نرم افزار نام دارند.
يك سيستم كامپيوتري شامل يك واحد پردازش مركزي (CPU) است كه از طريق گذرگاه آدرس، گذرگاه داده و گذرگاه كنترل به حافظه قابل دستيابي تصادفي (RAM) و حافظه فقط خواندني(ROM) متصل مي باشد. مدارهاي واسطه گذرگاه هاي سيستم را به وسايل جانبي متصل مي كنند. حال اجازه بدهيد تا هريك از اينها را بطور مفصل بررسي كنيم.

۳-۱ واحد پردازش مركزي
CPU، به عنوان «مغز» سيستم كامپيوتري، تمامي فعاليتهاي سيستم را اداره كرده و همه عمليات روي داده را انجام مي دهد. انديشه اسرارآميز بودن CPU در اغلب موارد نادرست است زيرا اين تراشه فقط مجموعه اي از مدارهاي منطقي است كه بطورمداوم دو عمل را انجام مي دهند: واكشي دستورالعمل ها، و اجراي آنها. CPU توانايي درك و اجراي دستورالعمل ها را براساس مجموعه اي از كدهاي دودويي دارد كه هريك از اين كدها نشان دهنده يك عمل ساده است. اين دستورالعمل ها معمولا حسابي (جمع، تفريق، ضرب و تقسيم)، منطقي NOT , OR , AND) وغيره)، انتقال داده يا عمليات انشعاب هستند و با مجموعه اي از كدهاي دودويي با نام مجموعه دستورالعمل ها نشان داده مي شوند.

شكل ۳-۱ يك تصوير بي نهايت ساده شده از داخل يك CPU است. اين شكل مجموعه اي از ثبات ها را براي ذخيره سازي موقت اطلاعات، يك واحد عمليات حسابي و منطقي(ALU) براي انجام عمليات روي اين اطلاعات، يك واحد كنترل و رمزگشايي دستورالعمل (كه عملياتي را كه بايد انجام شود تعيين مي كند و اعمال لازم را براي انجام آنها شروع مي نمايد.) و دوثبات اضافي را نشان مي دهد.
ثبات دستورالعمل (IR) كد دودويي هردستورالعمل را درحال اجرا نگه مي دارد و شمارنده برنامه (PC) آدرس حافظه دستورالعمل بعدي را كه بايد اجرا شود نشان مي دهد.

واكشي يك دستورالعمل از RAM سيستم يكي از اساسي ترين اعمالي است كه توسط CPU انجام مي شود و شامل اين مراحل است: (الف) محتويات شمارنده برنامه درگذرگاه آدرس قرارمي گيرد (ب) يك سيگنال كنترل READ فعال ميشود (پ) داده (كد عملياتي دستورالعمل) از RAM خوانده مي شود و روي گذرگاه داده قرار مي گيرد (ت) كد عملياتي در ثبات داخلي دستورالعمل CPU انجام مي شود و (ث) شمارنده برنامه يك واحد افزايش مي يابد تا براي واكشي بعدي از حافظه آماده شود. مرحله اجرا مستلزم رمزگشايي كد عملياتي و ايجاد سيگنالهاي كنترلي براي گشودن ثبات هاي دروني به داخل و خارج از ALU است. همچنين بايد به ALU براي انجام عمليات مشخص شده فرماني داده شود. بعلت تنوع زياد عمليات ممكن، اين توضيحات تاحدي سطحي مي باشند و دريك عمليات ساده مثل «افزايش يك واحدي ثبات» مصداق دارند. دستورالعمل هاي پيچيده تر نياز به مراحل بيشتري مثل خواندن بايت دوم و سوم به عنوان داده براي عمليات دارند.

يك سري از دستورالعمل ها كه براي انجام يك وظيفه معنادار تركيب شوند برنامه يا نرم افزار ناميده مي شود، و نكته واقعا اسرارآميز درهمين جا نهفته است. معيار اندازه گيري براي انجام درست وظايف، بيشتر كيفيت نرم افزار است تا توانايي تحليل CPU. سپس برنامه ها CPU را «راه اندازي» مي كنند و هنگام اين كار آنها گهگاه به تقليد از نقطه ضعف هاي نويسندگان خود، اشتباه هم مي كنند. عباراتي نظير «كامپيوتر اشتباه كرد» گمراه كننده هستند. اگرچه خرابي تجهيزات غيرقابل اجتناب است اما اشتباه در نتايج معمولاً نشاني از برنامه هاي ضعيف يا خطاي كاربر مي باشد.

حافظه نيمه رسانا : RAM و ROM
برنامه ها و داده در حافظه ذخيره مي شوند. حافظه هاي كامپيوتر بسيار متنوعند و اجزاي همراه آنها بسيار، و تكنولوژي بطور دائم و پي در پي موانع را برطرف مي كند، بگونه اي كه اطلاع از جديدترين پيشرفتها نياز به مطالعه جامع و مداوم دارد. حافظه هايي كه بطور مستقيم توسط CPU قابل دستيابي مي باشند، IC هاي (مدارهاي مجتمع) نيمه رسانايي هستند كه RAM و ROM ناميده مي شوند. دو ويژگي RAM و ROM را از هم متمايز ميسازد : اول آن كه RAM حافظه خواندني / نوشتني است درحالي كه ROM حافظه فقط خواندني است و دوم آن كه RAM فرار است (يعني محتويات آن هنگام نبود ولتاژ تغذيه پاك مي شود) درحالي كه ROM غير فرار مي باشد .
اغلب سيستمهاي كامپيوتري يك ديسك درايو ومقدار اندكي ROM دارند كه براي نگهداري روال هاي نرم افزاري كوتاه كه دائم مورد استفاده قرار مي گيرند و عمليات ورودي / خروجي را انجام مي دهند كافي است. برنامه هاي كاربران و داده، روي ديسك ذخيره مي گردند و براي اجرا به داخل RAM بار مي شوند. با كاهش مداوم در قيمت هربايت RAM، سيستمهاي كامپيوتري كوچك اغلب شامل ميليونها بايت RAM مي باشند.

گذرگاهها : آدرس ، داده و كنترل
يك گذرگاه عبارت است از مجموعه اي از سيم ها كه اطلاعات را با يك هدف مشترك حمل مي كنند. امكان دستيابي به مدارات اطراف CPU توسط سه گذرگاه فراهم مي شود: گذرگاه آدرس، گذرگاه داده و گذرگاه كنترل. براي هرعمل خواندن يا نوشتن، CPU موقعيت داده (يا دستورالعمل) را با قراردادن يك آدرس روي گذرگاه آدرس مشخص مي كند و سپس سيگنالي را روي گذرگاه كنترل فعال مي نمايد تا نشان دهد كه عمل موردنظر خواندن است يا نوشتن. عمل خواندن، يك بايت داده را از مكان مشخص شده در حافظه برمي دارد و روي گذرگاه داده قرار مي دهد. CPU داده را مي خواند و دريكي از ثبات هاي داخلي خود قرار مي دهد. براي عمل نوشتن CPU داده را روي گذرگاه داده مي گذارد. حافظه، تحت تأثير سيگنال كنترل، عمليات را بعنوان يك سيكل نوشتن، تشخيص مي دهد و داده را درمكان مشخص شده ذخيره مي كند.

اغلب، كامپيوترهاي كوچك ۱۶ يا ۲۰ خط آدرس دارند. با داشتن n خط آدرس كه هريك مي توانند در وضعيت بالا(۱) يا پايين (۰) باشند، n 2 مكان قابل دستيابي است. بنابراين يك گذرگاه آدرس ۱۶ بيتي مي تواند به ۶۵۵۳۶ = ۱۶ ۲ مكان، دسترسي داشته باشد و براي يك آدرس ۲۰ بيتي ۱۰۴۸۵۷۶ = ۲۰ ۲ مكان قابل دستيابي است. علامت اختصاري K (براي كيلو) نماينده ۱۰۲۴ = ۱۰ ۲ مي باشد، بنابراين ۱۶ بيت مي تواند K 64 = 10 2 × ۶ ۲ مكان را آدرس دهي كند درحالي كه ۲۰ بيت مي تواند K 1024 = 10 2 × ۱۰ ۲ ( يا Meg 1) را آدرس دهي نمايد.

گذرگاه داده اطلاعات را بين CPU و حافظه يا بين CPU و قطعات I/O منتقل مي كند. تحقيقات دامنه داري كه براي تعيين نوع فعاليتهايي كه زمان ارزشمند اجراي دستورالعملها را دريك كامپيوتر صرف مي كنند، انجام شده است نشان مي دهد كه كامپيوترها دوسوم وقتشان را خيلي ساده صرف جابجايي داده مي كنند. ازآن جا كه عمده عمليات جابجايي بين يك ثبات CPU و RAM يا ROM خارجي انجام مي شود تعداد خطهاي (يا پهناي) گذرگاه داده در كاركرد كلي كامپيوتر اهميت شاياني دارد. اين محدوديت پهنا، يك تنگنا به شمار مي رود: ممكن است مقادير فراواني حافظه در سيستم وجود داشته باشد و CPU از طريق گذرگاه داده – توسط پهناي گذرگاه داده محدود مي شود. به علت اهميت اين ويژگي، معمول است كه يك پيشوند را كه نشان دهنده اندازه اين محدوديت است اضافه مي كنند. عبارت «كامپيوتر ۱۶بيتي» به كامپيوتري با ۱۶ خط در گذرگاه داده اشاره مي كند. اغلب كامپيوترها در طبقه بندي ۴ بيت، ۸ بيت، ۱۶ بيت يا ۳۲ بيت قرار مي گيرند و توان محاسباتي كلي آنها با افزايش پهناي گذرگاه داده، افزايش مي يابد.

توجه داشته باشيد كه گذرگاه داده همانطور كه درشكل ۲-۱ نشان داده شده است، يك گذرگاه دوطرفه و گذرگاه آدرس، يك گذرگاه يك طرفه مي باشد. اطلاعات آدرس هميشه توسط CPU فراهم مي شود (همانطوري كه درشكل ۲-۱ با فلش نشان داده شده است.) درحالي كه داده ممكن است در هرجهت، بسته به اينكه عمليات خواندن موردنظر باشد يا نوشتن، جابجا شود. همچنين توجه داشته باشيد كه عبارت «داده» در مفهوم كلي بكار رفته است يعني اطلاعاتي كه روي گذرگاه داده جابجا ميشود و ممكن است دستورالعمل هاي يك برنامه، آدرس ضميمه شده به يك دستورالعمل يا داده مورد استفاده توسط برنامه باشد.

گذرگاه كنترل تركيب درهمي از سيگنال ها است، كه هريك نقش خاصي دركنترل منظم فعاليتهاي سيستم دارند. بعنوان يك قاعده كلي ، سيگنال هاي كنترل سيگنالهاي زمانبندي هستند كه توسط CPU براي همزمان كردن جابجايي اطلاعات روي گذرگاه آدرس و داده ايجاد مي شوند. اگرچه معمولا سه سيگنال مثل CLOCK، READ و WRITE وجود دارد، براي انتقال اساسي داده بين CPU و حافظه، نام و عملكرد اين سيگنال ها بطوركامل بستگي به نوع CPU دارد. براي جزئيات بيشتر در اين موارد بايد به برگه اطلاعات سازندگان مراجعه كرد.

ابزارهاي ورودي / خروجي
ابزارهاي I/O يا «ابزارهاي جانبي كامپيوتر» مسيري براي ارتباط بين سيستم كامپيوتري و «دنياي واقعي» فراهم مي كنند. بدون ابزارهاي جانبي، سيستمهاي كامپيوتري به ماشينهاي درون گرايي تبديل مي شوند كه استفاده اي براي كاربران خود ندارند. سه دسته از ابزارهاي I/O عبارتند از ابزارهاي ذخيره سازي انبوه، ابزارهاي رابط با انسان و ابزارهاي كنترل / نظارت.

ابزارهاي ذخيره سازي انبوه
ابزارهاي ذخيره سازي انبوه نيز مثل RAM ها و ROM هاي نميه رسانا جزو نقش آفرينان عرصه تكنولوژي حافظه هستند كه بطور دائم درحال رشد و بهبود است. آنچنان كه از نام آنها برمي آيد اين ابزارها مقادير معتنابهي اطلاعات (برنامه يا داده) را نگهداري مي كنند و اين حجم از اطلاعات به هيچ وجه در RAM يا «حافظه اصلي» نسبتا كوچك كامپيوتر جا نمي گيرد . اين اطلاعات پيش از اين كه در دسترس CPU قرار بگيرد بايد به داخل حافظه اصلي بارشود. دسته بندي ابزارهاي ذخيره سازي انبوه برطبق سادگي دستيابي به اطلاعات، آنها را به دودسته تقسيم مي كند ابزارهاي آماده كار و ابزارهاي بايگاني. در روش ذخيره سازي آماده كار كه معمولا روي ديسك هاي مغناطيسي انجام مي شود، اطلاعات ذخيره شده در دسترس CPU قرار دارند بدون آن كه نيازي به دخالت انسان از طريق اجراي نرم افزار خاصي باشد.

در روش ذخيره سازي بايگاني داده هايي نگهداري مي شوند كه بندرت به كار مي روند و بايد بصورت دستي در سيستم بار شوند. ذخيره سازي بايگاني معمولا روي نوارهاي مغناطيسي يا ديسك هاي مغناطيسي انجام مي شود. اگرچه ديسك هاي نوري مثل CD-ROM ها يا تكنولوژي WORM كه بتازگي ظهور كرده اند، ممكن است سمت گيري روش ذخيره سازي بايگاني را به علت قابليت اطمينان، ظرفيت بالا و قيمت پايين خود تغيير دهند.

ابزارهاي رابط با انسان
يگانگي انسان و ماشين توسط مجموعه اي از ابزارهاي رابط با انسان تحقق مي يابد كه متداول ترين آنها عبارتند از پايانه هاي نمايش تصوير (VDT) و چاپگرها. اگرچه چاپگرها ابزارهاي صرفا خروجي هستند كه براي چاپ كردن اطلاعات به كار مي روند ولي VDT ها در واقع از دو وسيله تشكيل شده اند زيرا شامل يك صفحه كليد به عنوان ورودي و يك CRT به عنوان خروجي مي باشند. يك رشته خاص در مهندسي به نام «ارگونوميك» يا «مهندسي فاكتورهاي انساني» به خاطر ضرورتي كه درطراحي اين ابزارهاي جانبي باتوجه به طبيعت انسان احساس مي شد، به وجود آمده است و هدف آن وفق دادن مشخصات انسان با ماشين هاي مورد استفاده او به شكلي مطمئن، راحت و كارا مي باشد. درحقيقت تعداد شركت هايي كه اين دسته از ابزارهاي جانبي را توليد مي كنند بيشتر از شركتهاي توليد كننده كامپيوتر است. در هرسيستم كامپيوتري دست كم سه تا از اين ابزارها وجود دارد: صفحه كليد، CRT و چاپگر. از ديگر ابزارهاي رابط با انسان ميتوان دستگيره بازي، قلم نوري، ماوس ميكروفن و بلندگو را نام برد.

ابزارهاي كنترل / نظارت
به كمك ابزارهاي كنترل / نظارت (وبرخي نرم افزارها و رابط هاي الكترونيك دقيق) كامپيوترها مي توانند كارهاي كنترلي زيادي را بي وقفه، بدون خستگي و بسيار فراتر از توانايي انسان انجام دهند.
كاربردهايي نظير كنترل حرارت يك ساختمان، محافظت ازخانه، كنترل آسانسور، كنترل وسايل خانگي و حتي جوش دادن قطعات مختلف يك خودرو همگي با استفاده از اين ابزارها امكان پذير هستند.

ابزارهاي كنترل، ابزارهاي خروجي يا عمل كننده هستند. آنها وقتي كه با يك ولتاژ يا جريان، تغذيه شوند مي توانند برجهان پيرامون خود اثر بگذارند (مثل موتورها و له ها). ابزارهاي نظارت، ابزارهاي ورودي يا حسگر هستند كه با كميت هايي نظير حرارت، نور، فشار، حركت و مانند آن، تحريك شده و آنها را به جريان يا ولتاژي كه توسط CPU خوانده ميشود تبديل مي كنند (مثل فتوترانزيستورها، ترميستورها و سوئيچ ها). ولتاژ يا جريان توسط مدارهاي واسطه، به يك داده دودويي تبديل ميشود و يا برعكس و سپس نرم افزار، يك رابطه منطقي بين ورودي ها و خروجي ها برقرار مي كند. سخت افزار و نرم افزار موردنياز براي ارتباط اين ابزارها با ميكروكنترلرها يكي از موضوعات عمده اين كتاب مي باشد.

برنامه ها : بزرگ و كوچك
بحث اصلي ما برسخت افزار سيستمهاي كامپيوتري با يك مرورگذرا بر نرم افزار يا برنامه هايي كه براي راه اندازي آنها لازم است متمركز گرديده است. توجه نسبي به سخت افزار در برابر نرم افزار در سال هاي اخير بطور حيرت انگيزي دگرگون شده است. درحاليكه نخستين سالهاي پيدايش كامپيوتر شاهد برتري چشمگير هزينه قطعات، توليد و تعمير و نگهداري سخت افزار كامپيوتر نسبت به هزينه نرم افزار بود، امروزه با تراشه هاي LSI هزينه هاي سخت افزاري، كمتر تعيين كننده هستند و كار پرزحمت و متمركز براي نوشتن، مستندسازي، پشتيباني، بهنگام كردن و توزيع نرم افزار است كه بخش عمده هزينه اتوماسيون يك فرآيند را با استفاده از كامپيوتر تشكيل مي دهد.
اكنون هنگام بررسي انواع مختلف نرم افزار است. سه سطح از نرم افزار را بين كاربر و سخت افزار يك سيستم كامپيوتري نشان مي دهد: نرم افزار كاربردي، سيستم عامل و زيرروال هاي ورودي / خروجي.
در پايين ترين سطح، زيرروال هاي ورودي / خروجي بطور مستقيم سخت افزار سيستم را اداره مي كنند، مثل خواندن كاركترها از صفحه كليد ، نوشتن كاركترها در CRT، خواندن بلوك هاي اطلاعات از ديسك و غيره. از آنجا كه اين زيرروال ها ارتباط بسيار نزديكي با سخت افزار دارند توسط طراحان سخت افزار نوشته مي شوند و (معمولا) در ROM ذخيره مي گردند (به عنوان مثال مي توان از BIOS در IBM PC نام برد).