مقدمه : گر چه کامپیوترها تنها چند دهه است که با ما همراهند .,با این حال تاثیرعمیق آنها بر زندگی ما با تاثیر تلفن , اتومبیل, و تلویزیون رقابت میکند.
ما با انواع گوناگونی از کامپیوترها برخورد می کنیم که وظایفشان را زیرکانه و به طرزی آرام, کارا و فروتنانه انجام می دهند و حتی حضور آنها اغلب احساس نمی شود.
ما کامپیوترها را به عنوان جز مرکزی بسیاری از فرآورده های صنعتی و مصرفی از جمله در ماشینهای لباس شویی , ساعتهای اداری سیستم هوشیار, وسایل سرگرمی همچون اسباب بازی, تجهیزات صوتی, ماشینهای تایپ و فتوکپی و تجهیزات صنعتی مانند PLC, CLC و مته های فشاری می یابیم.
در این مجموعه ها, کامپیوترها وظیفه کنترل را در ارتباط با دنیای واقعی برای روشن و خاموش کردن وسایل و نظارت بر وضعیت آنها انجام می دهند.
میکروکنترلر ها بر خلاف میکروکامپیوتر ها و ریز پردازنده ها, اغلب در چنین کاربردهایی یافت میشوند.
توان, ابعاد و پیچیدگی میکروکنترلرها با اعلام ساخت 8051 یعنی اولین عضو خانواده میکروکنترلرهای Mcs-51 در سال 1980 توسط اینتل پیشرفت چشم گیری کرد.
امروزه انواع گوناگونی از IC وجود دارند.
شکل صفحه بعد برای نشان دادن و روشن ساختن تفاوت بین میکروکنترلها و ریزپردازنده ها رسم شده است.
در حالی که ریزپردازنده یک CPU ی تک تراشه ای است، میکروکنترلر در یک تراشه واحد شامل CPU و بسیاری از مدارات لازم برای یک سیستم میکروکامپیوتری کامل می باشد.
اجزای داخل خط چین در شکل زیر بخش کاملی از اغلب IC های میکروکنترلر می باشند.
علاوه بر CPU میکروکنترلرها شامل RAM,ROM یک رابط سریال، یک رابط موازی، تایمر و مدارات زمان بندی وقفه می باشند که همگی در یک IC قرار دارند.
البته مقدار RAM روی تراشه حتی به میزان آن در یک سیستم میکروکامپیوتری کوچک هم نمی رسد اما آن طور که خواهیم دید این مساله محدودیتی ایجاد می کند زیرا کاربردهای میکروکنترلر بسیار متفاوت است.
یک ویژگی مهم میکروکنترلرها، سیستم وقفه موجود در داخل آنهاست.
میکروکنترلرها به عنوان ابزارهای کنترل گرا اغلب برای پاسخ بی درنگ به محرکهای خارجی (وقفه ها) مورد استفاده قرار می گیرند.
البته اغلب ریزپردازنده ها می توانند سیستم وقفه قدرتمند را به اجرا بگذارند.
اما برای این کار معمولاً نیاز به اجرای خارجی دارند.
مدارات روی تراشه یک میکروکنترلر شامل تمام مدارات مورد نیاز برای به کارگیری وقفه ها می باشد.
میکروکنترلها پردازنده هایی اختصاصی هستند.
آنها به خودی خود در کامپیوترها به کار نمی روند، بلکه در فرآورده های صنعتی و وسایل مصرفی مورد استفاده قرار می گیرند.
استفاده کنندگان این فرآورده ها اغلب از وجود میکروکنترلها کاملاً بی اطلاع هستند.
از دید آنها اجزای داخلی وجود دارند اما جزو جزئیات بی اهمیت طراحی به شمار می روند.
برای مثال اجاق های مایکروویو، ترموستات های قابل برنامه ریزی، ترازوهای الکترونیکی و حتی خودروها را می توانید در نظر بگیرید.
قسمت الکترونیکی هر یک از این فرآورده ها عموماً شامل ارتباط میکروکنترلر با کلیدهای فشاری، سوئیچ ها، وسایل هشدار دهنده و لامپ های روی یک تابلو می باشد.
در نتیجه به استثناء برخی امکانات اضافی، طرز استفاده آنها با فرآورده های الکترومکانیکی قبلی تفاوتی نکرده است و میکروکنترلر آنها از دید استفاده کنندگان مخفی است.
برخلاف سیستم های کامپیوتری که توسط قابلیت برنامه ریزی و دوباره برنامه ریزی شدن، باز شناخته می شوند، میکروکنترلر ها یک بار برای همیشه وبرای یک کار برنامه ریزی می شوند.
این مقایسه به یک تفاوت اساسی در معماری این دو سیستم منجر می شود.
سیستم های کامپیوتری نسبت RAM به ROM بالایی دارند و برنامه های کاربران در یک فضای نسبتاً بزرگ RAM اجرا می شود در حالی که روال های ارتباط با سخت افزار در یک فضای کوچک ROM اجرا می گردد.
از طرف دیگر میکروکنترلرها نسبت ROM به RAM بالایی دارند، برنامه کنترلی آنها که شاید نسبتاً بزرگ هم باشد در ROM ذخیره می شود، در حالی که RAM فقط برای ذخیره موقت مورد استفاده قرار می گیرد.
از آنجا که برنامه کنترلی برای همیشه در ROM ذخیره می شود در مرتبه میان افزار قرار می گیرد، یعنی چیزی بین سخت افزار (مدارهای واقعی) و نرم افزار (برنامه هایی در RAM که هنگام خاموش شدن سیستم پاک می شوند).
تفاوت بین سخت افزار ونرم افزار تا حدی شبیه به تفاوت بین یک صفحه کاغذ (سخت افزار) و کلمات نوشته شده روی آن (نرم افزار) می باشد.
میان افزار را می توان به صورت فرمهای استانداردی که برای یک کاربر مشخص طراحی و چاپ شده ا ند در نظر گرفت.
با توجه به مطالب بیان شده (نیاز به یک سیستم مجتمع آموزشی در جهت ارتقاء عملی دانش پژوهان کشور و معرفی میکروکنترلرها و نحوه کنترل سخت افزار به وسیله نرم افزار توسط میکروکنترلر) این سیستم به عنوان یک ساختار آزمایشی در جهت آشنایی دانش پژوهان به عنوان یک پروژه فارق التحصیلی ارائه شد.
معرفی : این میکروکنترلر یک آی سی از خانواده Mcs-51 می باشد که توسط شرکت اینتل به بازار عرضه شد.
دیگر تولید کننده های آی سی نظیر زیمنس, AMD, فوجیتسو و فیلیپس به عنوان تولید کننده ثانویه, آی سی های این خانواده را تحت مجوز اینتل تولید می کنند.
هر میکروکنترلر این خانواده از امکاناتی مناسب همراه با یک سری طراحیهای مشخص برخوردار است.
مشخصات تراشه8051 1 4 کیلو بایت حافظه ROM و 128 بایت حافظه RAM.
2 4 درگاه ورودی / خروجی 8 بیتی 3 2 تایمر/ شمارنده 16 بیتی 4 رابط سریال 5 64KB فضای حافظه خارجی برای کد و 64KB فضای حافظه خارجی برای داده 6 210 مکان بیتی آدرس پذیر در حافظه RAM داخلی 7 توانایی انجام عملیات ضرب و تقسیم در 4 میکروثانیه حال مطالبی را در مورد مشخصات تراشه 8051 بیان می کنیم.
11) یکی از عمده مشخصات میکروکنترلرها, فضای حافظه ROM داخلی آنها جهت قراردادن یک برنامه کنترلی در درون آنهاست.
این تراشه دارای 4KB فضای حافظه ROM داخلی است که با توجه به اندازه حافظه موجود نیاز مبرم بیش از %90 سیستمهای کنترلی را رفع می کند.
21) 32 پایه از 40 پایه تراشه 8051, به عنوان خطوط درگاه ورودی/خروجی هستند.اما تعداد 24 تا از این خطوط دو منظوره هستند.
هر یک از این پایه ها به عنوان ورودی/ خروجی یا خط کنترل و یا بخشی ا ز گذرگاه آدرس و یا گذرگاه داده به کار میروند.
در طراحیهای با کمترین مقدار حافظه از این درگاهها به عنوان ورودی/ خروجی همه منظوره استفاده می شود.
8 خط هر درگاه را می توان به عنوان یک بایت در پردازش با دستگاههای موازی از قبیل چاپگرها, مبدلهای دیجیتال به آنالوگ و غیره به کاربرد و یا از هر بیت منحصراً به عنوان رابط دستگاههای تک بیت مانند سوئیچ ها, LED ها, ترانزیستورها, سولئوئیدها, موتورها و بلندگوها استفاده کرد.
این چهاردرگاه با نامهای اختصاری P0 تا P3 شناخته می شود.
اشاره ای کوتاه به درگاه ها 1 درگاه صفر درگاهی دو منظوره است که بر روی پایه های 32 تا39 تراشه 8051 قرار گرفته است.
این درگاه در طراحی های کوچک به عنوان درگاه همه منظوره ورودی/ خروجی به کار می رود و در طراحیهای بزرگ تر با حافظه های خارجی به عنوان گذرگاه تافته داده و آدرس عمل می نماید.
درگاهی دو منظوره است که بر روی پایه های 32 تا39 تراشه 8051 قرار گرفته است.
این درگاه در طراحی های کوچک به عنـوان درگاه همه منظـوره ورودی/ خـروجـی بـه کار می رود و در طراحیهای بزرگ تر با حافظه هـای خـارجـی بـه عنوان گذرگاه تافته داده و آدرس عمل می نماید.
درگاه یک بر روی پایه های 1 تا8 درگاهی مخصوص ورودی/خروجی است.
پایه هایی که به صورت P1.0,P1.1,P1.2,...
مشخص شده اند, در موقع لزوم برای ربط دستگاههای خارجی قابل دسترس هستند.
هیچ نقش دیگری برای پایه های درگاه یک در نظر گرفته نشده است.
لذا پایه های این درگاه فقط برای ربط دستگاههای خارجی به کار می روند.
اما در تراشه 8052پایه های p1.1,P1.2 یا به عنوان خطوط ورودی / خروجی و یا به عنوان ورودیهای خارجی به زمان سنج سوم به کار می روند.
درگاه دو (پایه های 21تا28) درگاه دو منظوره ای است که به عنوان درگاه ورودی/خروجی همه منظوره و یا به عنوان پر ارزش ترین بایت آدرس گذرگاه برای طراحی های با حافظه خارجی برنامه یا بیشتر از 256 بایت حافظه خارجی داده به کار می رود.
درگاه سه روی پـایـه هـای 10تا 17 نـیز دو منظوره است.
این پایه ها علاوه بر اینکه برای درگاه ورودی/ خروجی هم منظوره مناسب هستند, برای کاربردی چند منظوره نیز طرح شده اند.
3ـ1( یک تایمر از یک سری فلیپ فلاپهای تقسیم کنند، بر دو تشکیل شده است که یک سیگنال ورودی را به عنوان منبع ساعت دریافت کند.
عمـده کـاربـرد تایـمرها بــرای شمـارش اتـفاقات و زمـان سنـجی مـی باشد.
نمـونه کـاربـردهـای تـایمر را می توان در سیستـمهای متراژ کننده (Shift encoder) مانند دستگاههای متراژ موکت و پارچه, دستگاههای برش سیم و غیره نام برد.
4ـ1) اصولاً ارتباط بین پردازنده ها می تواند به دو صورت سریال و موازی باشد که هر یک دارای خواص منحصر به فرد می باشد.
ارتباط سریال ـ انتقال اطلاعات به صورت بیت به بیت است.
ـ فاصله بین سیستمهای می تواند حداکثر تا 15 متر (برای این سیستم) باشد.
ـ دقت در آن بیشتر و خطا در آن کمتر است.
ـ هزینه اجرای سیستم به وسیله ارتباط سریال کمتر است.
ارتباط موازی ـ انتقال اطلاعات به صورت بایت به بایت می باشد.
ـ فاصله بین سیستمها حداکثر در صورت بافر کردن گذرگاه 5 متر می باشد.
ـ خطا در آن بیشتر است.
ـ هزینه اجرای سیستم به وسیله ارتباط موازی بیشتر است.
باید توجه داشته باشیم که 8051 به راحتی می تواند با یک کامپیوتر Pc و یا یک سیستم کنترلی دیگر در پهنای باند 19200,9600,4800,2400,1200 بیت در ثانیه ارتباط برقرار نماید.
5ـ1( با توجه به اینکه نحوه ارتباطات میکروکنترلر با حافظه RAM و ROM خارجی از معماری شرکت اینتل استفاده می کند, 16 پایه از پایه های خود را به درگاه آدرس و داده به صورت مشترک اختصاص داده است.
مهمترین قابلیت این میکروکنترلرها, تفکیک فضای آدرس دهی RAM و ROM و هر کدام به اندازه 64 کیلوبایت می باشد, به طوریکه خانه حافظه ای به آدرس 18FA مربوط به حافظه RAM خارجی, متفاوت می باشد.
8051 این قابلیت را به وسیله دوپایه کنترلی و ارائه می نماید.
6ـ1) 8051 شامل 210 مکان بیت آدرس پذیر است که 128 تا از 20H تا 2FH آدرس بایت بوده و مابقی در ثبات های ویژه قرار دارند.
قابلیت دستیابی به تک بیت ها توسـط نرم افزار یکی از شاخص های مهم و قدرتمنـد بیشتـر میـکروکنـترلـرها است.
همچنین درگاه های ورودی/ خـروجی 8051 به سادگی توسـط رابـط نرم افـزاری با ورودی و خـروجـی های تک بیتی بیت آدرس پذیرند.
چند نکته توانا ساز ذخیره برنامه () 8051 چهار علامت کنترلی مخصوص گذرگاه دارد و علامت در پایه 29 به عنوان علامت کنترل خروجی است.
این علامت کنترلی حافظه خارجی برنامه را فعال می کند و معمولاً به پایه توانا ساز خروجی EFROM وصل می شود تا امکان خواندن بایت های برنامه را فراهم نماید.
علامت در طـول مـکش یـک دستـورالـعمل بـه سطـح پـایین می رود و کدهای عمـل دودویی برنامـه که از EPROM خوانده می شـود, بـرروی گـذرگاه داده آمـده و در داخل ثبات دستورالعمل 8051 جای می گیرند.
هنگام اجـرای بـرنـامـه از ROM داخلی (8051/805) علامت در حالت بالا (غیرفعال) می ماند.
توانا ساز قفل آدرس (ALE) علامت خروجی توانا ساز قفل آدرس (ALE) در پایه 30 برای کسانی که با ریزپردازنده های 8085, 8088 یا 8086 شرکت اینتل کارکرده باشند آشناست.
8051 نیز به طور مشابه از ALE برای و اتافت گذرگاه داده و آدرس استفاده می کند.
وقتی درگاه صفر درحالت دیگرش بکار گرفته شود, یعنی به عنوان گذرگاه داده و بایت پائین گذرگاه آدرس, این علامت ALE است که در نیمه اول چرخه حافظه آدرس را در ثبات خارجی قرار می دهد, سپس خطوط درگاه صفر برای ورودی یا خروجی داده در نیمه دوم چرخه حافظه وقتی که انتقال داده اتفاق می افتد در دسترس هستند آهنگ پالس علامت ALE یک ششم فرکانس نوسان ساز درون تراشه است که می تواند جهت ساعت همه منظوره برای باقی مانده سیستم بکار رود.
اگر پالس ساعت 8051 از کریستال 12MHZ تامین شده باشد علامت ALE در 2MHZ نوسان می کند بجز وقتی که دستور در حال اجرا MOVX باشد که یک پالس ALE حذف می شود.
همچنین این پایه برای پالس ورودی برنامه ریزی انواع EPROM دار 8051 بکار برده می شود.
دسترسی خارجی () علامت ورودی دسترسی خارجی () در پایه 31 معمولاً به Vpp یا زمین وصل می شود.
اگر () در سطح بالا باشد, 8052/8051 زمانی که اجرا در حافظه کوچک 4K/8K صورت گیرد، برنامه ها را از ROM داخلی اجرا می کنند و اگر () در سطح پائین باشد برنامه ها فقط از یک حافظه جانبی اجرا می شوند ( در نتیجه علامت فعال می شود).
برای تراشه های 8032/8032, علامت بایستی در سطح پائین باشد چون حافظه برنامه وجود ندارد.
اگر در تراشه های 8052/8051 علامت همیشه در سطح پائین باشد ROM داخلی از کار می افتد و اجرای برنامه از EPROM خارجی صورت می گیرد.
همچنین در انواع 8051 با EPROM برای برنامه ریزی EPROM خط را به منبع ولتاژ 21+ ولت (Vpp) وصل می کنند.
معرفی پایه های 8051 طراحی سخت افزار این سیستم متشکل از اجزایی زیر می باشد.
1ـ سیستم کنترل کننده پردازنده مرکزی که یک میکروکنترلر 8052 می باشد فضای حافظه RAM خارجی به اندازه 2 کیلوبایت فضای حافظه ROM خارجی به اندازه 4 کیلوبایت عدد تراشه 8255 جهت ارتباط با وسایل ورودی/خروجی جانبی سیستم تراشهِ ارتباط سریال با کامپیوتر PC (Max 232) 2ـ سیستم نمایشگر نمایشگر 7 قسمتی با 6 عدد 7-Seg شمارنده BCD میکروسوئیچ به عنوان شبیه ساز شمارش اتفاقات 3ـ صفحه کلید 4*8 جهت ورود کدهای برنامه 4ـ راه انداز و کنترل کننده موتور DC 5ـ راه انداز فرستنده و گیرنده مادون قرمز 6ـ منبع تغذیه حال با توجه به موارد فوق به توضیح هر یک از آنها می پردازیم.
اطلاعات بیشتر در مورد قطعات به کار رفته در پیوست ارائه شده است.
عناصر تشکیل دهنده این برد میکروکنترلر 8052 میکرو کنترلر مورد استفاده در این سیستم یک تراشه 89C52 می باشد که اختلاف آن با تراشه 8051 در میزان حافظه RAM و ROM داخلی و یک تایمر اضـافه در آن است.
پورت شماره 0 و 2 در آن به عنوان گذرگاههای داده و آدرس, پورت شماره 1 به عنوان I/0 کنترلی آزاد, پایه T0 به عنوان یک رویداد وقفه و پایه INT0 به حساسگر مادون قرمز متصل می باشد.
BLOCK DIAGRAM RAM (Hy6116) با توجه به اینکه این سیستم یک نمونه آزمایشی است و به ندرت بزرگترین برنامه آزمایشی از 512 بایت تجاوز می کند و از طرفی وجود حافظه های متنوع در بازار, میزان حافظه RAM آن 2KB از انواع حافظه RAM استاتیک با نام 6116 می باشد.
HY6116 سرعت نمونه برداری داده برای این حافظه 250ns است.
ساختار تراشه 6116 و جدول آدرس دهی و کنترل آن به صورت زیر می باشد.
محدوده آدرس دهی RAM از آدرس 1000تاl7FF می باشد.
(TMM2732) دلیل نیاز این سیستم به حافظه ROM خارجی قابلیت فراخوانی زیربرنامه نوشته شده در حافظه ROM به وسیلـه کاربـر مربـوط مـی باشد.
با تـوجه به برنامه کنترلی مربوطه, تراشه مناسب برای این سیستم یک حافظه ROM و چهار کیلوبایتی از نوع EPROM با شماره2732 می باشد.
سرعت نمونه برداری داده برای این حافظه 450ns است.
محدوده آدرس دهی ROM از آدرس 0000 تا 0FFF می باشد.
تراشه 82C55AC این تراشه یک ورودی/خروجی عمومی با ســه پورت I/O و یـک پـورت کـنتـرلی جـهت بـرنامـه ریـزی می بـاشد.
از پورتهای این دوتراشه جهت ارتباط بانمایشگر, صفحه کلید، راه انداز کنترل دور موتور و شمـارنده BCD استفاده شده است.
توجه داشته باشید که 8051 فـاقد هرگونه پایه کنترلی جهت خواندن یا نوشتن در ورودی / خروجی می باشد.
بنابراین در این سیستم از روش I/O نگاشت به حافظه استفاده شده است که عملاً با هر درگاه این تراشه ها به صورت یک خانه حافظه 8 بیتی برخورده شده است.
Functional Diagram آدرسهای این پورتها به ترتیب A,B,C و کنترل با آدرس 2000,2100,2200,2300,3000,3100,3200,3300 میباشد.
آدرس 2000 : شمارنده BCD آدرس 2100 : داده نمایشگر آدرس 2200 : آدرسهای انتخاب 7-Seg ها آدرس 2300 : پورت کنترلی تراشه یک آدرس 3000 : بیتهای 0 و 1 این پورت جهت راه اندازی موتور DC استفاده شده است و بقیه بیتها آزاد می باشد.
آدرس 3100 : این پورت به ستونهای صفحه کلید متصل می باشد که برای خواندن کد کلید فشار داده شده, استفاده می شود.
آدرس 3200 : این پورت به سطرهای صفحه کلید متصل است که جهت تعیین سطر مربوط به کلید فشار داده شده می باشد.
آدرس 3300 : این پورت جهت برنامه ریزی تراشه دو استفاده می شود.
MAX232CPE(Maxim) تراشه ارتباط سریال با کامپیوتر PC است.
از آنجایی که سطح ولتاژ پورت سریال کامپیوتر PC, می باشد و از طرفی 8051 با 5V کار می کند.
جهت ارتباط سریال و تطابق این ولتاژها MAX233,MAX232 استفاده می شود.
تفاوت این دو تراشه در آنست که به همراه تراشه MAX232 و باید چهار خازن را به پایه های آن مطابق شکل زیر متصل نمود.
تعیین سرعت انتقال به وسیله کاربر در برنامه ریزی ارتباط سریال تعیین می شود.
تراشه 74HC573 ایـن قــطعـه جهـت تـفکیـک بایـت پاییـن آدرس از بایـت داده استـــفاده مـی شـود.
پـایـه هـای 2 تا 9 آن بـه پــورت شمـاره 0 کـه در 8052 به عنوان گذرگاه داده است، متصل می باشد.
پایه به VCC اتصال دارد.
Logic Diagram تراشه UM74LS08NC یک آی سی NAND است که (پایه شماره 29) و (پایه شماره 17) آن گیت وارد می شود.
بدین ترتیب با فعال شدن از ROM نمونه فعال می شود و با فعال شدن , از RAM نمونه فعال می شود.
خروجی این گیت به پایه READ (RAM) و (خواندن از ROM) می رود.
تراشه SN74HC138 این آی سی به عنوان یک دیکدر در فضای آدرس دهی حافظه های RAM,ROM و تراشه های ورودی/خروجی 8255 می باشد.
در واقع هر خروجی این تراشه به پایه فعال کننـده هر یک از تراشه های ذکر شـده متـصل می باشد.
BUZZER از این قطعه به عنوان یک زنگ هشدار در هنــگام فشار دادن یک کلید و از طرفی برای شبیه سازی سیستم های هشدار دهنده استفاده می شود.
Buzzer بر روی پایه یک 8051 که بیت صفر از پورت شماره می باشد قرار داد و با 1 منطقی فعال و با 0 منطقی غیرفعال می شود.
چند مطلب قابل توجه وجـــود مـــقاومت ، (پایـــه 31 میکرو) بـه ایـن دلیـل اسـت کـه وقـتی jumper قطع می شود برنامه از ROM داخلی اجرا شده و به VCC متصل می شود.
و همچنین زمانیکه jumper وصل باشد اتصال کـوتاه شده و برنامه از ROM خارجی اجرا می شود.
از مقاومت Arrey برای نویز گیری و تقویت ولتاژ بایت پایین و بالای گذرگاه آدرس استفاده می شود.
خازن های پلی استر جهت نوین گیری نزدیک به پایه VCC قرار می گیرد.
همپوشانی فضاهای برنامه و داده خروجی چون حافظه برنامه تنها خواندنی است وضعیت نامناسبی در زمان توسعه نرم افزار بوجود می آید.
نوشتن در سیستم هدف از طریق نرم افزار برای خطایابی سیستم چگونه میسر است اگر تنها بتوان در فضای حافظه تنها خواندنی آن را اجرا کرد.
شگرد معمول استفاده از همپوشانی فضای برنامه و داده خارجی است.
چون برای خواندن حافظه برنامه و برای خواندن حافظه داده بکار برده می شوند, یک تراشه RAM می تواند با وصل کردن خط به AND منطقی و فضای حافظه داده و برنامه را اشغال می کند.
مدار شکل زیر با تراشه RAM امکان می دهد تا در آن صورت حافظه داده نوشته و از آن به صورت حافظه داده یا برنامه خوانده شود.
بنابراین (با نوشتن در آن به صورت حافظه داده) می توان برنــامه را در RAM ذخیره نموده و با دستیــابی بـه آن به عنوان حافظه برنامه می توان برنامه را از آن اجرا نمود.
همپوشانی فضاهای برنامه و داده خارجی دسترسی به حافظه خارجی برنامه حافظه خارجی برنامه از نوع تنها خواندنی است و توسط علامت توانا می شود.
وقتی از EPROM خارجی استفاده شود هر دو درگاه صفر و دو به عنوان درگاه های همه منظوره ورودی/ خروجی موجود نمی باشند.
اتصالات سخت افزاری برای حافظه EPROM خارجی در شکل صفحه بعد نشان داده شده است.
دوره یک چرخه ماشین 8051 معادل دوازده دوره نوسـان ساز است اگر نوسان ساز درون تراشه توسط کریستال 12MHZ رانده شود دوره زمانی یـک چرخـه ماشیـن یک میکرو ثانیه می شود.
در یک چرخه معمولی ماشین, علامت ALE دو پالس می زند و دو بایت از حافظه برنامه خوانده می شود (اگر دستور جاری تک بایتی باشد از دومین بایت صرفنظر می شود).
دسترسی به حافظه خارجی داده حافظه خارجی داده از نوع خواندنی/ نوشتـی است که توسط و (کاربردی دیگر پایه های درگاه p3.6 , P3.3) توانا می شود.
ارتباط RAM با 8051 همانند ارتباط EPROM است به جز این که خط به خط از RAM وصل می شود و به خط از RAM وصل می شود.
اتصالات گذرگاه داده و آدرس مشابه ربط EPROM است.
با بکارگیری درگاه های صفر و دو مانند بالا می توان تا 64 کیلوبایت RAM داده خارجی را به 8051 وصل نمود.
شماتیک مدار عناصر تشکیل دهنده این برد نمایشگر هفت قسمتی با 7 عدد 7-Seg از 6 عدد هفت قسمتی جهت نمایش داده و آدرس در کنترل برنامه داخلی و نمایش وضعیت برنامه به کاربر استفاده شده که از سمت راست دو تای آن نمایش دهنده داده به صورت مقدار هگز دسیمـال و چهارتای بعدی، نمایش دهنده آدرس مربـوط به خانـه حافـظه فعال می باشد.
7-Seg ها از نوع آند مشترک بوده که به وسیله یک تراشه ULN2803 راه اندازی می شود.
این تراشه دارای 8 ترانزیستور دار لینگتون با توان بالاست و قابلیت جریان 500mA را دارد.
پایه های مشترک این 7-Seg ها، هر کـدام متـصل به پـایه امیترترانزیستور pnp (BC640) مـی باشـد کـه در صـورت فـعال شـدن یـکی از 6 تـرانـزیسـتور، داده اشتـراکی کـه بـه وسیله ULN2803 بین تمام ترانزیـستورها توزیع شـده، بر روی آن سـون سگـمنت، نـمایـش داده می شود و بقیه سون سگمنت ها خاموش می شود.
شرح کنترل و نحوه عملکرد آن در قسمت نرم افزار آمده است.
شمارنده BCD این شمارنده به وسیله 8 عدد LED که در آدرس 2000 قرار دارند، کنترل می شود LED های این شمارنده به وسیله یک مقاومت آرایه 1، PULL UP می شوند.
سر مثبت LED ها با یک مقاومت آرایه1 به پورت A (8255) شماره 1 (آدرس آن پورت 2000H) و سر منفی آنها به زمین متصل است.
میکروسوئیچ که به عنوان شبیه ساز شمارش اتفاقات عمل می کند.
همچنین می تواند به عنوان کلید شروع یک برنامه عمل می کند.
میکروسوئیچ به پایه T0 تراشه 89C52 متـصل مـی باشـد و در واقـع بـرای دادن پـالس از پـایه T0 به Timmer شماره 0 استفاده میشود.
صفحه کلید این صفحه کلید دارای چهار سطر و هشت ستون می باشد و به صورت ماتریسی عمل می کند که 16 کلید آن، جهت اعداد هگز دسیمال 0 تا 7 ، 4 کلید آن کلیدهای اختیاری هستند.
جهت کاربر برای پیش برد برنامه های خود و 12 کلید کنترلی دارد که شرح آن به صورت زیر است : کلید + : رفتن به آدرس بعد (افزایش آدرس) کلید ـ : برگشتن به آدرس قبل (کاهش آدرس) کلید INS : درج یک خانه حافظه خالی در بین حافظه کد کلید Del : حذف یک خانه حافظه از حافظه کد کلید ADDR : قرار گرفتن در وضعیت آدرس کلید Data : قرار گرفتن در وضعیت داده کلید Enter : درج داده در خانه حافظه کلید go : رفتن به آدرس مربوط که به وسیله ADDR تعیین می شود.
کلید Run : اجرای برنامه کاربر کلید Des : قرار گرفتن در وضعیت آدرس دهی نسبی کلید Rel : محاسبه آدرس نسبی، نسبت به آدرسی که در وضعیت آدرس دهی نسبی تعیین می شود.
کلید esc: کلید بازگشت به حالت داده در هر یک از وضعیتهای آدرس یا آدرسهای نسبی کلید F1...F4 : این کلیدها به عنوان کلیدهای آزاد در اختیار کاربر مستقیم قرار می گیرد.
عناصر تشکیل دهنده این برد این مدار، مـوتـورهای کـوچـک DC بـا توان 100 وات و جریان 5 آمپر و با ولتاژ 40 ولت را راه انداز می کند.
در این مدار دو داده منطقی ورودی A وB و در خروجی A وB وجود دارد.
اگر ورودی A افزایش یابد (1 منطقی) خروجی A هم زیاد می شود (1 منطقی) و موتور در حالت چپگرد چرخش دارد.
اگر ورودی B کاهش یاد (0 منطقی) خروجی B هم کم می شود (0 منطقی) و چرخش موتور در جهت عکس، یعنی راستگرد، انجام می شود.
اگر هردو ورودی A وB در حالت صفر منطقی باشد حرکت موتور کند شده و به تدریج متوقف می شود که در این زمان گوییم موتور در حالت off قرار دارد.
در این شرایط موتور حدود 0.05 آمپر جریان مصرف می کند، تا متوقف شود.
اگر هر دو ورودی A وB در حالت یک منطقی باشد، موتور می تواند آزادانه حرکت کند.
در این شرایط موتور هیچگونه مصرف انرژی ندارد و در واقع این مقدار انرژی آنقدر کم است که قدرت چرخاندن موتور را ندارد.
در این زمان گوییم موتور در حالت float قرار دارد.
عملکرد این دو سیگنال و تاثیر آن بر روی راه اندازی موتور را در جدول صفحه بعد می بینیم.
در این مدار از ترانزیستورهای قدرت دارلینگتون برای کاهش هزینه ها استفاده شده است.
افت ولتاژ 1 تا 2 ولت عادی است و از آنجا که این مدار باید از دو ترانزیستور عبور کند، افت ولتاژی تا حداکثر 4 ولت را انتظار داریم.
4 ترانزیستور دارلینگتون بر اساس نوع مدار و سیکل کاری مورد نظرتان نیاز به هیتسینگ (خنک کننده) دارند.
عملکرد PWM بالای 5 کیلوهرتز به خاطر سادگی مدار و ساختار ترانزیستورهای دارلینگتون منجر به از دست رفتن بیشتر و اتلاف انرژی می شود.
برای اینکه فرکانس بالاتر نرود و محدود شود، یک مقاومت 1 کیلو اهمی را روی امیتربیس هر ترانزیستور TIP12x قرار می دهیم.
کار با سیگنالهای منطقی بزرگتر از ولتاژ تغذیه کننده موتور مجاز بوده و توسط مقاومتهای R7 و R8 جذب می شود.
این مدار برای کار در سطح منطقی COMS و تا میزان حدود 4 ولت ساخته شده است.
در چرخه های کم کار، جریان تا میز ان حداکثر 8 آمپر برای ترانزیستورها مجاز است، اما هیچ یک محدودیتی در این مدار نمی باشد، چرا که استفاده نامعقولانه از این مدار برای حرکت یک موتور مصرف آن را هنگام توقف تا 5 آمپر بالا می برد.
به طور کلی این راه انداز از چهار عدد ترانزیستور نیمه قدرت دارلینگتـون تشـکیل شـده است که ضریب بهره جریان این ترانزیستورها بالای 1000 می باشد.
این راه انـداز با حـداقل جریان 10راه اندازی می شود و می تواند تا 5A جریان با حداکثر ولتاژ 40V را به مصرف کننده اعمال نماید.
این راه انداز دوسیگنال ورودی دارد که موتور با توجه به این سیگنال در حالتهای off و float، راستگرد و چپگرد قرار می گیرد.
درایور موتور به پورت A (8255) شماره 2 (آدرس آن پورت 3000 می باشد) و به بیت شماره 0و 1 متصل است.
شماتیک مدار عناصر تشکیل دهنده این برد در این مدار، فرستنده به وسیله یک تراشه 555، که به عنوان یـک مولـد پـالس مربــعی با فرکانس 40KHZ و سیـکل کـاری %5راه انـدازی مـی شـود.
گیـرنــده آن نیـز بـه وسـیله دوترانـزیستور pnp، npn تقـویت شده و خروجی نهایـی مــدار، به صـورت یک سیـگنال دیجیتالی ارسال می شود.
اساس کار به این شکل است که فرستنده و گیرنده در مجـاورت هــم قــرار دارند و در صورت رویت یک مانع در جلوی فرستنده و حس کردن آن به وسیله گیرنده خروجی مدار به صورت Active high (لبه بالا) فعال می شود.
حداکثر فاصله حساسیت این مدار 10cm می باشد که در صورت نیاز به فاصله بیشتر، باید از فرستنده و گیرنده های با کیفیت بهتر استفاده نمود.
نحوه محاسبه اندازه مقاومت و خازن تراشه 555، به صورت زیر است.
T1=0.69c(R1+R2) T2=0.69c R2 فرکانس این موج بین 38KHZ تا 40KHZ می باشد.
شماتیک مدار عناصر تشکیل دهنده این برد این مدار متشکل است از یک ترانس مبدل ولتاژ220/12، یکسو کننده تمام موج دیودپل، خازنهای صافی و یک تثبیت کننده جهت مصرف کننده 5V تا 2.5A جریان طراحی شده است.
منبع تغذیه 3 آمپری، 5 ولتی است.
یک تنظیم کننده ولتاژ استاندارد، نوع 7805 ارزان قیمت بوده و به راحتی قابل دسترسی است، اما حداقل جریان 1A می تواند در مواردی، مشکلاتی را پدید آورد.
با این حال، این جریان را می توان با اضافه کردن یک مقاومت توان بالا (R3) در امیتر T3 افزایش داد.
هنگامی که گذر جریان اندک باشد، 7805 همانند قبل به فعالیت خود ادامه می دهد ـ اما هنگامی که جریان تا 15mA افزایش یابد، افت پتانسیل R1 به اندازه کافی برای روشن کردن T3 زیاد است.این ترانزیستور توسط T2 در مقابل مدارهای اتصال کوتاه محافظت می شود.
هنگامی که جریان داخل Mj2955 تا 3A افزایش می یابد، افت ولتاژ R3 به اندازه کافی برای روشن نمودن T2 بزرگ خواهد بود.
این امر ولتاژ فرستنده مبدا T3 را محدود می نماید به گونه ای که جریان خروجی نمی تواند به اندازه کافی افزایش یابد.
به موازات T2 ترانزیستور T1 است که به محض بروز محدودیـت جـریان، LED را روشن می کند.
مقاومت R5 با هدف محدود نمودن جریان داخلی تنظیم کننده به محض فعالیت مدار محدود کننده جریان، اضافه شده، از آنجائیکه R4 در T2 مدار اتصال کوتاه شده است؛ درغیاب R5 جریان کامل در 7805 برقرار خواهد شد.
البته، برای جریان خروجی بالاتر باید قیمتی نیز پرداخت نمود : ولتاژ ورودی برای جریان خروجی 3A باید10V به جای 8.5V برای جریانهای 1A باشد.
محدود کنندگی جریان نسبتاً به طور تدریجی پدید می آید، زمانی که مدار اتصال کوتاه شده باشد، جریان 6A برای دوره ای کوتاه برقرار می گردد.
واضح است نباید این موقعیت مدت زیادی به طول بیانجامد.
در یک ساختار باید توجه داشت که T2 و T3 در برابر گرما توسط هیتسینگ مقاوم شده اند.
در واقع 7805 نیازی به گرماگیر ندارد و آسیبی به کارمدار نمی رساند.
اشاره به این نکته ضـروریـست کـه تـرانـزیستـور مـشابه بـه کـار رفـته در ایـن برد E45h می باشد که توانایی تحـمل جـریانی حدود 2 آمپر را دارد.
اما باید قادر باشد جریانی بیشتر از 5 آمپر را تحمل کند که به دلیل نیافتن ترانزیستور LN3055 به طور موقت از این ترانزیستور استفاده شد.
شماتیک مدار خانم فرهمند ردیفنوع قطعهنوع قطعهتعداد1میکروAT89C521 عدد2آی سی (RAM)Hy61161 عدد3آی سی (EPROM)TMM6161 عدد4آی سی82C55AC2عدد5آی سیMax232CPE(maxim)1 عدد6آی سی74HC5731 عدد7آی سیSN74HC1381 عدد8آی سیUM74LS08N1 عدد9کابل فلت 16 رشته16 رشته1 متر10مقاومت2عدد11مقاومت1 عدد12مقاومت1 عدد13مقاومت1 عدد14مقاومت Arrey2عدد15مقاومت Arrey1 عدد16خازن4عدد17خازن1 عدد18خازن4عدد19خازن2عدد20کریستال2عدد ردیفنوع قطعهتعداد21Buzzer1 عدد22کلید Reset1 عدد23کلید on /off1 عدد24IDC/162عدد25Jumper1 عدد26سوکت مخابراتی 4 پین2عدد27سوکت مخابراتی 40 پایه3عدد28سوکت مخابراتی 24 پایه2عدد29سوکت مخابراتی 20 پایه1 عدد30سوکت مخابراتی 16 پایه1 عدد31سوکت مخابراتی 14 پایه1 عدد ردیفنوع قطعهنوع قطعهتعداد17-Segمالتی پلکس 3تایی آندمشترک2 عدد2آی سیULN28031عدد3ترانزیستورBC6406 عدد4مقاومتArrey101 عدد5LEDمتوسط8 عدد6میکروسوئیچکوچک1 عدد ردیفنوع قطعهنوع قطعهتعداد1ترانزیستور2N22224 عدد2ترانزیستورTIP1222 عدد3ترانزیستورTIP1272 عدد4مقاومت472 عدد5مقاومت4702 عدد6مقاومت3.32 عدد7مقاومت102 عدد A BA Boff0 0Float1 1راستگرد0 1چپگرد1 0 ردیفنوع قطعهنوع قطعهتعداد1آی سیLM555NC1 عدد2ترانزیستورBc5481عدد3ترانزیستورBC5581عدد4دیود2N2222A1عدد5دیودIN41483عدد6مقاومت4.7 K1عدد7مقاومت390 K1عدد8مقاومت2.7K1عدد9مقاومت1.5 K1عدد10مقاومت100K1عدد11مقاومت1M1عدد12مقاومت101عدد13فرستندهمادون قرمز1 عدد14گیرندهمادودن قرمز1 عدد15خازن1onf1 عدد ردیفنوع قطعهنوع قطعهتعداد1ترانس220/12V1 عدد2دیودپل1A1 عدد3مقاومت3301 عدد4مقاومت8101 عدد5مقاومت,5w0.221 عدد6مقاومت1.61 عدد7مقاومت471 عدد8مقاومت4701 عدد9خازن22002 عدد10خازن2201 عدد11خازن101 عدد12LEDکوچک1 عدد13ترانزیستورBC557B1 عدد14ترانزیستورE451 عدد15ترانزیستورBD1361 عدد16کلیدOn/Off1 عدد17IC رگولاتور6V1 عدد