علم الکترونیک و دیجیتال

نوشته شده توسط:اشکان کریوند | ۳ دیدگاه

مقدمه

علم الکترونیک و دیجیتال در طول کمتر از 40 سال توانسته بجای یک ترانزیستور روی یک قطعه، بیش از صدها میلیون ترانزیستور روی همان قطعه جای دهد که خود بیانگر گوشه ای از شتاب رشد تکنولوژی آنها می باشد. این پیشرفت تکنولوژی زمینه را برای ساخت قطعات دیجیتالی و میکروپروسسورها فراهم کرده است.

 

با ساخت میکروپروسسورها تحولی شگرف در ساخت تجهیزات الکترونیکی نظیر
لوازم خانگی، تجهیزات صنعتی، تجهیزات پزشکی و تجهیزات تجاری و ... بوجود آمده است که بدون آن تصور تجهیزات و وسایل پیشرفته جهان امروز غیر ممکن است. بعنوان نمونه می توان از کامپیوترهای PC، ربات ها، تلفن های همراه، انواع سیستم های اتوماسیون نظیر

   (Distributed System Control) DLC، (Proamable Logic Controg) PLC و انواع وسایل دیجیتالی مدرن نام برد. میکروکنترلرها نیز، قطعه ی شبیه به میکرو پروسسورها بوده که به دلیل ساختار ویژه، در کاربردهای کنترلی کارایی بیشتری از خود نشان می دهد.

در کشور ما میکروکنترلرهای خانوادة 8x51 و بخصوص 8951 (میکروکنترلر شبابه  8051 با ؟ ) و 892051 (میکرو کنترلر 20 پایه با تمام قابلیت های داخلی 8051 و  2k حافظه ؟ کاربرد فراوانی داشته و همچنین خواهد داشت. کمتر دانشگاه یا شرکت یا مؤسسه ای می توان یافت که در کارهای آزمایشگاهی، تحقیقاتی و بخصوص کارهای تولیدی دیگر، تجاری و صنعتی از آن استفاده نکرده باشد و کارآیی آنرا نداند. متأسفاه منابعی که در این زمینه وجود دارد یا کتابهای شرکت سازندة IC می باشند که استفاده از آن، بدون تخصص و تجربه، عملاً امکان پذیر نیست و یا ترجمة بعضی از کتب خارجی است که بدلیل عدم سازگاری با سیستم آموزشی مؤسسات و دانشگاه ها، کتاب سنگین و بعضأ غیر قابل استفاده ای می باشد. بخصوص اینکه در این کتابها پایه و اصول میکروکنترلر تفهیم نشده است. بلکه مستقیمأ سراغ استفاده، آنهم متناسب با ساختار و فرهنگ خودش پرداخته است که معمولاً جز بخشی از آن، آنهم برای افراد با تجربه قابل استفاده نمی باشد.

تعریف پروژه

این پروژه یک تابلو نویسنده است که مغز کنترل کنندة آن یک میکروکنترلر است . این تابلو شامل تعداد 3500  که تعداد 100*35 می باشد. تمام این  بر روی برد استخوانی سوار شده اند که فاصلة هر  تا دیگری از هر جناح، برابر  می باشد. برای فرمان دادن به هر کدام از این  ها باید جریان برابر 35-50 میلی آمپر از آن عبور دهیم . پس برای روشن کردن همزمان تمام  به جریانی معادل 5/7 آمپر نیاز داریم که سخت افزار مدار در این حالت بسیار پیچیده، حجیم، پرمصرف با توان تلفاتی بالا و تقریباً ساخت غیر ممکن آن همراه است و عملاً از این روش نمی توان استفاده کرد.

روشی که برای تمام تابلوهای نویسنده استفاده می شود  کردن نام دارد که در هر لحظه فقط یکی از  ها روشن است و برای روشن کردن کل صفحه، تمام ها باید با سرعت بالا روشن و خاموش شوند. سرعت روشن شدن کل صفحه باید در  باشد تا چشم قادر به دیدن خاموش بودن صفحه نباشد. در هنگام حرکت دادن نوشته، شکل و یا هر چیز دیگر روی تابلو، سرعت چشمک زدن صفحه در هر ثانیه می تواند از 50 بار به 40  بار تقلیل یابد که در این حالت چشم قادر به دیدن خاموشی صفحه نیست.

همچنین برای مجزا کردن هر  از دیگری در هنگام فرمان دادن به 3500  آدرس (هر آدرس برای هر ) نیاز داریم که این روش نیز غیر ممکن می باشد. بنابراین از روش ماتریسی برای دیودها استفاده می کنیم که در این روش انتخاب هر سطر و ستون باعث انتخاب یک  می گردد. ما در این پروژه با استفاده از  8  بیتی توانستیم عملاً نتیجة کار را تا حد قابل قبولی پیش ببریم. در این روش انتخاب یک سطر و 8  ستون همزمان باعث پدیدار شدن کد 8  بیتی می گردد.

در این حالت برای روشن کردن کل صفحه در هر لحظه فقط 8   روشن است و سرعت نسبت به حالت  تک  بیشتر است. (8  برابر)

معرفی قطعات:

* تصویر دیکدر 4*16 :

 در این دیکدر یک کد بایندی دیگر شده و هر لحظه یکی از خروجی ها اکتیو می شود. پایه های  این  توانا ساز این تراشه می باشند که اکتیو  هستند. خروجی های این قطعه نیز اکتیو  می باشند و به هنگام انتخاب شده هر خروجی، آن خروجی از  به  نزول پیدا می کند.

* تصویر دیکدر 2*4 :

این دیکدر همانند دیکدر  است که در این دیکدر فقط دو خط آدرس ار خروجی وجود دارد. تواناساز این  و خروجی آن نیز همانند مالتی پلکسر بالا اکتیو  می باشد.

 * تصویر LATCH:

این قطعه یک قفل کنندة اطلاعات می باشد. که با فرمان به پایة  (می توان خروجی) هر خروجی که قبلاً در این قطعه قفل شده باشد، در خروجی ظاهر می شود.

قفل کردن اطلاعت توسط پایة  می باشد و هنگامیکه از سطح  به می رود خروجی همان ورودی شده و 8  بیت ورودی قفل می شود.

* تٍصویر ترانزیستور:

این ترانزیستور  میباشد و  آن بین  تا  است. ماکزیمم جریانی که می تواند از آن عبور کند، برابر  می باشد.

* تصویر گیت NOT :

این یک آی سی با شمارة 7404 میباشد که شامل 16  عدد گیت  در داخل آن است .

* رگولاتور 7805 :

یک رگولاتور ولتاژ است که ولتاژ نوسان دار را به ولتاژ گوشه  ولت تبدیل کرده که از این ولتاژ گوله شده برای تغذیة  های دیجیتالی و میکروکنترلر بکار می رود. ماکزیمم جریان خروجی این رگولاتور 1 آمپر می باشد.

سخت افزار مدار:

در این قسمت به تحلیل سخت افزارل دستگاه می پردازیم. از دو دیکدر  و یک دیکدر  برای انتخاب کردن سطرها استفاده شده است. که مجموعاً می توان  سطر را انتخاب کرد.

برای انتخاب ستون ها از  استفاده می شود که ورودی دیتا در تمام  ها با هم موازی اند و  آنها توسط یک دیکدر  استفاده شده است.

آدرس های هر  دیکدر با هم موازی شده اند و انتخاب این دیکدرها توسط دیکدر واسط دیگری انجام می گردد که آن هم یک دیکدر  است. پس معمولاً 3  دیکدر  و دو دیکدر  در این مدار وجود دارد.

ورودی دیکدر ها به پورت 1  و ورودی  ها به پورت 2  در میکروکنترلر وصل شده است.

پس برای نمایش  ابتدا باید آدرس ستون را روی پورت 2  قرار داد، سپس  مربوطه را توسط پورت 1  انتخاب کرد. در این حالت آدرس روی پورت 2  روی یکی از لچها قفل شده است. با انتخاب سطر توسط پورت 1 ،  مربوطه روشن خواهد شد.

برای درایو کردن سطرها، از یک طبقه درایو ترانزیستوری استفاده می شود. چون در بدترین حالت،8   در هر لحظه روشن است و هر ستون فقط 1   را روشن نگاه می دارد اما هر سطر باید بتواند جریان هر 8   را تأمین کند.

در نتیجه به ازای هر سطر یک ترانزیستور استفاده شده است.

آند  ها به سطرها و کاتد آنها به ستونها وصل شده است. پس 1  بودن سطر و صفر بودن ستون باعث انتخاب  می گردد.

* تصویر

در این حالت هنگامیکه هیچ سطری انتخاب نشده، تمامی خروجی دیکدرها  می باشد و بالا بودن بیس ترانزیستور باعث می شود که دیود  آن در بایاس معکوس قرار گیرد و هیچ کدام از آند  ها ولتاژ مثبتی نداشته باشند.

با انتخاب یک سطر، خروجی دیکدر  شده و باعث جاری شدن جریان الکتریکی در بیس ترانزیستور مربوطه می شود. در نتیجه ترانزیستور روشن شده و سطر مورد نظر انتخاب می شود.

یکی از مشکلات این تکنیک که هرگز به آن فکر نکرده بودیم، این است که در هنگام انتخاب نشدن یک سطر، ترانزیستور خاموش است و کلکتور آن نقش  امپرانس را ایفا می کند. در نتیجه آند دیودهای به هیچ بایی وصل نشده است.

اگر در این سطر یکی از  ، جریان اشباع معکوس بالایی داشته باشد، باعث می شود

* که دیگر  ها از روشن شوند. در واقع بدون فرمان دادن به سطرها تعدادی از دیودها روشن شده اند. که اگر از روش دوم استفاده می کردیم، چون آندریوها زمین شده بود هرگز چنین مشکلی پیش نمی آمد. اما در این روش هر لحظه یک ترانزیستور خاموش بود و 34 ترانزیستور دیگر روشن بودند و این عمل باعث بالا رفتن تلفات به شکل

عجیبی می شد.

برای دفع این مشکل مشکل باید یک مقاومت از آند دیودها (سطرها) به زمین وصل کرد تا جریان معکوس دیود ناسالم را به زمین منتقل کند. در واقع آند دیودها توسط این روش به زمین نزدیکتر می شود. مقدار این مقاومت به این صورت محاسبه می شود:

؟

در این حالت، ماکزیمم جریان اشباع معکوس از دیودها گذشته اما با گذشتن از مقاومت 33 اهم مقداری کمتر از ولتاژ شکست (روشن شدن دیود) را ایجاد می کند و باعث روشن شدن دیود نمی گردد.

دیودهای  و  درامتیر ترانزیستور بعلت این است که اگر ولتاژ خروجی دیکدر کمتر از  باشد، در این حالت باز هم ترانزیستور روشن شود. بعبارتی دیگر ولتاژ در  خروجی دیکدر می تواند تا مقدار  کاهش یابد که مقدار  ولت می باشد.

مقدار جریانی که در حالت روشن شدن 8  دیود نور دهنده باید از ترانزیستور بگذرد برابر است با ماکزیمم جریان یک دیود  به علاوة جریان که از مقاومت 33 اهم می گذرد.

ماکزیمم جریان هر دیود مقداری برابر 50  میلی آمپر است که برای 8  دیود برابر 450  میلی آمپر میباشد.

مقدار جریان مقاومت نیز برابر 2/2  ولت تقسیم بر 33  اهم است که برابر 70  میلی آمپر می شود. در هنگام روشن شدن ترانزیستور، جریانی برابر جریان نامی ترانزیستور از آن می گذرد.

البته این عمل در هنگام  کردن با سرعت بالا صادق نیست. چون ترانزیستور کاملاً به حد اشباع نرسیده و ماکزیمم جریان از دیود نور دهنده نمی گذرد.

به عبارتی دیگر عرض پالس خروجی از دیکدر آنقدر کوتاه خواهد بود که مجال رسیدن جریان ترانزیستور به ماکزیمم را از آن می گیرد.

پس در اینصورت پس از  کردن کل صفحه نوری که از دیودها منتشر می شود کمتر از نور ماکزیمم است. پس در هنگام محاسبات باید جریان عبوری از دیودهای نور دهنده را با تغییر عناصر مدار به مقدار 140  میلی آمپر رساند تا در هنگام اسکن شدن صفحه جریان متوسطی در حدود 60-50  میلی آمپر به پورت خروجی شمارة 1  بعلت بالا بودن فرکانس خازنهای 30  پیکو فارارد تا زمین وصل شده تا از ایجاد نویز بر روی مخلوط آدرس جلوگیری شود. برای پورت دوم این کار عملاً تغییری در روال مدار ایجاد نمی کند. زیرا تغییرات پورت 1  چندین برابر تغییرات پورت دوم می باشد و عامل نویز تأثیر بیشتری بر روی پورت اول می گذارد.

چون ایجاد نویز بر روی خطوط آدرس پورت 1  منجر به انتخاب اشتباه لچ دیگر و یا سطر دیگر می شود.

به علت کوتاه بودن نویز، سطر انتخاب شده که اشتباه است توسط چشم قابل تشخیص نیست و چشم خطاهای نویز را بر روی سطرها نمی بیند. اما اشتباه در انتخاب لچ ها باعث قفل شدن اطلاعات بر روی یک لچ و ظاهر شدن تصویر یا کاراکتر بر روی ستون  دیگری می شود که این کار توسط چشم قابل رؤیت است.

*  تصویر ؟

در روش درایور ترانزیستوری، مزیت آن، کم شدن ولتاژ ایتر در هنگام روشن شدن هریک از ترانزیستورهاست که به مقدار ولت می رسد و چون تمامی ایتر ترانزیستورها به هم متصل شده است، باعث می شود که عملاً 5/2  تمامی ترانزیستورها در بایاس معکوس بین ایتر قرار بگیرند.

از پورت سوم برای تبادل اطلاعات بصورت سریال توسط کامپیوتر استفاده می شود که پس از تعریف سرعت انتقال اطلاعات، در میکروکنترلر، اطلاعات انتقال می یابند.

پس از قرار دادن اطلاعات ستونها، توسط پورت 1  کلاک لچ مورد نظر از صفر منطقی به یک منطقی تغییر کرده و اطلاعات قفل می شوند. خروجی تمام لچ ها اکتیو هستند. زیرا تواناساز خروجی تمامی لچ ها که اکتیو  است به زمین وصل شده.

تمامی مدار بر روی سه برد مدار چاپی تعبیه شده است تا در هنگام بروز اشکال و یا ایراد، بتوان برد معیوب را با جدا کردن از دیگر قسمت های مدار، تعمیر کرد. برد سیلکت کنندة ستون ـ برد سلکت کنندة سطر ـ بر میکروکنترلر.

با محاسبة مقدار جریان مصرفی و تخمین زدن جریان هر تراشه، مقدار جریان 2  آمپر بدست آمد ک باید جریان نامی کل مدار برابر 3  آمپر باشد تا از سوختن رگولاتود تا حد امکان جلوگیری شود. بعلت موجود نبودن رگولاتور 7805  با جریان خروجی 3  آمپر، از 3  رگولاتور 1  آمپر با یک زمین ثابت و خروجی های مجزا استفاده شده و هر رگولاتور تغذیة یک برد را بر عهده دارد.

اتصالات بین بردها توسط کامکتورهای 8  بین و 10  بین انجام گرفته است. در هنگام اتصال سیمها به کانکتورها باید دقت لازم را به عمل آورد تا از اتصالی بین سیمها و قطع بودن مسیر خطوط جلوگیری شود.

برای ایجاد برق تغذیه از یک ترانس 220  ولت به 6  ولت استفاده شده که این ولتاژ توسط پل دیود6  آمپری یکسو می شود و به همراه صافی و در زیر بار ولتاژی برابر 5/6 ولت می دهد که این ولتاژ توسط رگولاتور به ولتاژی در حدود 1/5-7/4 ولت می رسد.

در این قسمت از موازی کردن رگولاتورها باید جداً خودداری کرد. زیرا اگر در لحظه ای خروجی یکی از آی سی ها کمتر از دیگری باشد، توسط آی سی دیگر باد شده و حرارت آی سی به سرعت بالا رفته و در لحظة کوتاهی باعث سوختن هر دو رگولاتور می شود.

از خازن 1000 میکروفاراد برای صافی بعد از پل دیود و از خازن 100  میکروفاراد بعد از رگولاتور برای جلوگیری از تغییرات لحظه ای ولتاژ استفاده می شود.

زیرا قطع و وصل مداوم ترانزیستورها و یا جریان دهی مداوم لچ ها باعث افت ولتاژ لحظه ای در رگولاتور ها شده و با کم شدن ولتاژ تغذیه در یک برد، احتمال بروز خطا افزایش پیدا می کند.

تعریف فونت حروف:

برای هر کاراکتر، دو ستون 8  بیتی انتخاب می شود و برای اینکه هر ستون دارای35  سطر است، در نتیجه 70  مکان از حافظه برای هر فونت استفاده شده است. تعریف هر فونت به این صورت می باشد:

در این شکل، کوچکترین مکان (کم ارزش ترین مکان) در سمت چپ و پرارزش ترین مکان دودویی در سمت راست قرار دارد.

در نتیجه کدهای بدست آمده آیینة کدهای مشاهده شده بر روی صفحه است. همچنین بدلیل اینکه از طرف ستون ها،  ها با یک منطقی خاموش و صفر منطقی روشن می شوند (چون کاتد  ها به ستونها وصل شده است) لذا کدهای بدست آمده مکمل کدهای نمایش داده شده خواهند بود.

تاریخچه مختصری از 8055

در سال 1981 شرکت  میکروکنترلری به نام 8055 را معرفی کرد. 8055 عضو دیگری از خانواده 8051 است که این میکروکنترلر دارای 256 بایت  ، 20 بایت  ، 2 تایمر، یکی یورت موازی (هر یک 8 بیت) بود که همة آنها در یک تراشه تعبیه شده بودند. زمانی به آن سیسم دریک تراشه می گفتند. 8055 یک  پروسسور 8 بیتی است. یعنی  هر بار می تواند فقط روی 8 بیت داده کار کند. داده های بزرگتر از 8 بیت باید به قطعات 8  بیتی بشکنند و سپس بوسیله  پردازش شوند.

توصیف پایه های 8055

با بررسی شکل دیده می شود که از 40 پایه جمعاً 32 پایه برای یورت    و  کنار گذاشته شده اند، بقیه پایه ها به   اختصاص یافته اند.

VCC :

پایه 40 ولتاژ تغذیه را جدای تراشه فراهم می کند. ولتاژ منبع 57+ است.

GND :

پایه 20 زمین است.

XTAL 1  و XTAL 2 :

8055 دارای یک امیلاتور (نوسان ساز) درون تراشه ای است ولی برای راندن آن به یک ساعت کریستال نیاز است. اغلب یک کریستال کوارترز به ورودی  (پایه 19) و  (پایه 18) وصل است.

اسیلاتور کریستال کوارترز متصل به  و  به دو خازن  30 وصل می باشد.

RST :

پایه 9، پایه  (بازنشانی) است. این پایه یک ورودی فعال بالا است. بعد از اعمال یک پالس بالا به این پایه، میکروکنترلر باز نشانده شده و همه فعالیت ها را رها می کند. اغلب به این حالت، بازنشانی به هنگام روشن شدن می گویند. فعال کردن یک بازنشانی به هنگام روشن شدن، موجب از دست رفتن همه مقادیر در ثبات ها می شود.

مقدار  بعد از بازنشانی صفر است و بنابراین  به برداشت اولین که عمل از حافظه ... در  واداشته. این بدان معنی است که ما باید اولین خط کد مبدأ را در مکان صفر از  قرار دهیم. زیرا آنجا مکانی است که  در آن بیدار می شود و انتظار دارد تا اولین دستور را بیابد.

(Externap Access) EA :

سیگنال ورودی  در پایة 31 معمولاً به سطح منطقی بالا  یا پایین (زمین) وصل می شود.

اگر این پایه در وضعیتی بالا قرار گرفته باشد برنامه را از  داخلی یعنی  بایت پایین حافظه اجرا می کند. هنگامی که پایین باشد  داخلی غیر فعال می شود و برنامه از  خارجی اجرا می شود.  ، به معنی دستیابی بیرونی است.

(Program Stor Isnable)PSEN :

این یک پایه خروجی است به معنی فعال کردن برنامه ذخیره است. سیگنال  در طی مرحله خواندن یک دستورالعمل پایین می رود. کدهای دودویی برنامه (کدهای عملیاتی) از  خوانده می شوند، درگذرگاه داده منتقل می گردند و برای رمزگشایی در ثبات دستورالعمل 8055 دخیره می شوند.

(Address Latch Enanble) ALE :

فعال ساز لچ (آدرس) یک پایه خروجی بالاست. وقتی که 8055 به یک حافظه بیرونی وصل می شود یورت صفر هر دو مقدار داده و آدرس را تهیه می کند.

پایة  برای دی مولتی پلکس کردن آدرس و داده بکار می رود و در آن پایة  از تراشه 6373L 74 به  وصل می گردد.

یورت صفر

یورت صفر جمعاً 8  پایه (32039) را اشغال می کند. می توان از آن به عنوان ورودی یا خروجی استفاده کرد. برای استفاده از پایه های یورت صفر به عنوان ورودی و خروجی، هر پایه باید از بیرون به یک مقاومت بالاکش  وصل شود.

دلیل این است که یورت  برخلاف  و  و  یک در بین باز است.

یورت 1  و یورت 2 :

جمعاً هشت پایه برای یورت یک و هشت پایه برای یورت دو است.

یورت 3 :

یورت 3 هم 8 پایه، از پایه 10 الی 17 را اشغال می کند. می توان آنرا به عنوان ورودی یا خروجی بکار برد. پایه  و  برای تبادل سیگنال اطالعاتی  و  بکار می رود.

بیت  و  برای وقفه های خارجی کنار گذاشته شده اند. بیت  و  برای تایمرهای صفر و یک در نظر گرفته شده اند و  و  برای تهیه سیگنالهای  و  از حافظة خارجی است.

خلاصه ای از دستورات بکار رفته در برنامه:

دستور Mov :

در واقع دستور  داده را از یک مکان به مکان دیگر چک می کند.

این دستور به  فرمان می دهد تا ؟ مبدأ را به ؟ مقصد انتقال دهد. در واقع چک) دهد. مثلاً  محتوای ثبات  را در ثبات  چک می نماید. پس از اجرای این دستور، ثبات  همان مقدار ثبات  را دارد.

برای بازکردن یک ثبات با یک مقدار باید از پیشوند  استفاده شود. در غیر اینصورت بدان معنی است که از یک حافظه بار می شود.

دستور ADD :

دستور  به  فرمان می دهد تا بایت مبدأ را با ثبات  جمع و نتیجه را در ثبات  قرار دهد.

DB (تعریف بایت)

رهنمون  پرمصرف ترین رهنمون بکار رفته در اسمپلراس است که از آن برای تعریف داده 8 بیتی استفاده می شود. رهنمون  تنها رهنمونی است که می تواند برای تعریف اسکی رشته بزرگتر از دو کاراکتر بکار رود. بنابراین برای همه تعاریف داده، اسکی قابل استفاده است.

ORG (شروع)

رهنمون  برای مشخص کردن آدرس آغاز برنامه است.

EGU  (برابر با)

این رهنمون برای تعریف مقدار ثابت بدون اشغال مکانی از حافظه بکار می رود.

END (رهنمون)

این دستور انتهای کابل مبدأ  را برای اسمبلر مشخص می کند. رهنمون  آخرین خط یک برنامه است.

حلقه در 8055

تکرار یک رشته دستور به تعداد معین را حلقه  می گویند. عمل حلقه با دستور  اجرا می شود. در این دستور ثبات یک واحد کم می شود. اگر مقدار آن صفر نباشد به آدرس هدف که بوسیلة  مشخص شده خواهد رسید.

 

پرش شرطی

JNC (پرش آخر نقلی وجود ندارد، پرش آخر CY = 0 )

در این دستور، پرچم نقلی در ثبات پرچم  برای تصمیم گیری پرش انتخاب می شود. در اجرای  پروسسور به پرچم نقلی نگاه می کند تا ببیند آیا بالا رفته است  یا خیر. اگر جواب منفی باشد  از آدرس  شروع به برداشت و اجرای دستور می کند. اگر  باشد، پرشی انجام نمی دهد، ولی دستور زیر  را اجرا خواهد کرد. در دستور  ، اگر  باشد پرش به هدف صورت می گیرد.

دستورات  (پرش آخر بیت، بالاست) و   (پرش آخر بیت، پایین است).

دستورات پرش غیر شرطی

LJMP  (پرش بلند) 

LJMP  یک پرش بلند غیر شرطی است. این دستور 3 بایت طول دارد که اولین بایت آن کد بایتهای دوم و سوم آدرس 16 بیتی هدف را معین می کنند.

SJMP  (پرش کوتاه)

در این دستور دو بایتی، اولین بایت یک که عمل و بایت دوم آدرس نسبی مکان هدف است اگر پرش رو به جلو باشد، آدرس هدف در محدوده 127 مکان از  فعل است، اگر پرش رو به عقب باشد، آدرس هدف می تواند در محدوده 128- بایت از  فعلی قرار گیرد.

 

دستورات CALL

L CALL  (فراخوانی بلند)

در این دستور 3 بایت، اولین بایت یک که عمل و دومین و سومین بایت که برای آدرس زیر روال هدف بکار می روند برای اطمینان از بازگشت از زیر روال،8055 بطور خودکار آدرس دستور بعد از  را در پشته ذخیره می کند پس از پایان اجرای زیر روال، دستور  و بازگشت کنترل را به فراخوانده باز می گرداند.

ACALL  (فراخوانی مطلق)

دستور  یک دستور 2 بایتی است. تنها تفاوت این است که آدرس هدف  می تواند در هر کجا از  بایت فضای حافظه باشد در حالی که آدرس هدف  باید در محدوده  بایتی باشد.

 

روش های آدرس دهی:

  1. فوری
  2. ثباتی
  3. مستقیم
  4. غیر مستقیم ثباتی
  5. اندیسی

1 ـ آدرس دهی فوری:

 در این روش آدرس دهی فوری، عملونه منبع یک، مقدار ثابتی است.

روش ؟

2 ـ روش آدرس دهی ثباتی:

روش آدرس دهی ثباتی استفاده از ثبات را در نگهداری داده برای دستکاری بکار
می رود.

3 ـ روش آدرس دهی مستقیم:

آدرس دهی مستقیم به هر متغیر روی تراشه یا ثبات سخت افزاری دسترسی داده در این روش یک بایت اضافی برای مشخص کردن مکانی که باید استفاده شود.

4 ـ روش آدرس دهی غیر مستقیم ثباتی:

در روش آدرس دهی غیر مستقیم یا یک ثباتی، بعنوان اشاره گر به داده مورد استفاده قرار گرفته است. در مثال زیر محتوای حافظه ای که با  مشخص شده را به  انتقال می دهد.

5 ـ روش آدرس دهی اینرسی

آدرس دهی اندیس داده از یک ثبات پایه (شمارندة برنامه و یا اشاره گر داده) و یک فاصله نسبی (انباره) برای شکل دادن  به آدرس مؤثر برای یک دستور العمل  یا  استفاده می کند.

 

ضرب اعداد بی علامت

در ضرب بایت در بایت، یکی از عملونه ها با  و روی در  باشند. پس از ضرب، نتیجه در ثبات های  و  است؛ بایت پایین رتبه در  و بایت بالاتر در  است.

تقسیم اعداد بی علامت

در تقسیم بایت بر بایت، صورت (مقسوم) باید در ثبات  ، مخرج (مقسوم علیه) در ثبات  باشد. پس از اجرای دستور  ، خارج قسمت در  و باقیمانده در  است.

متمم سازی انباره CPLA :

این دستور محتوای ثبات  را متمم می کند. عمل متمم، صفرها و یکی ها را با یکی ها و صفرها تعویض می کند.

دستور مقایسه

عمل مقایسه و پرش در یک دستور ترکیب شده و  (مقایسه و پرش آخر نابرابر) نامیده شده است. دستور  درو عملونه را مقایسه کرده و اگر نابرابر باشد پرش می کند.

دستورات چرخش و تعویض

چرخش بیت های یک  به راست و چپ

در چرخش به راست، هشت بیت انباره یک، بیت به راست جا به جا کرده و بنابراین  از انتهای سمت راست  خارج شده و از بیت با ارزشتر سمت راست  وارد می گردد. در چرخش به چپ، با چرخش راست به چپ انباره، بیت انتهای چپ  خارج و از سمت راست  وارد می شود.

کامپیوتر

تبادل اطلاعات سریال داده بین میکروکنترلر و کامپیوتر:

کامپیوترها داده ها را به دو طریق موازی و سریال انتقال می دهند. در انتقال های موازی، داده اغلب از هشت خط داده و یا بیشتر استفاده می شود. در این حالت داده می تواند به وسیله ای که فقط چند ؟ دورتر است انتقال یابد. در انتقال به وسیله ای که چندین متر دورتر واقع شده است روش سرمال بکار برده می شود. در تبادل سرمال برعکس تبادل موازی، هر بار یک بیت ارسال می گردد.

وقتی که ؟ پردازنده ای با دنیای خارج تبادل اطلاعاتی می کند بسته های داده ها را در ابعاد بایت فراهم می نماید و در بعضی موارد همچون چاپگرها، اطلاعاتی به راحتی از گذرگاه داده براحتی اخذ شده و به گذرگاه داده 8 بیت چاپگر  تحویل می شود. این روش اگر کابل زیاد طولانی نباشد عملی است. زیرا کابل های طولانی سیگنال ها را تضمین و حتی تغییر شکل می دهند. بعلاوه مسیر 8 بیتی گران هم هست. واقعیت استفاده از یک خط داده در تبادل سریال به جای داده 8 بیتی در تبادل موازی، نه تنها موجب ارزانی فرآیند می شود بلکه موجب تبادل اطلاعات دو کامپیوتر واقع در دو شهر از طریق خط تلفن می گردد. برای به راه اندازی تبادل سریال داده، بایت داده باید از گذرگاه 8 بیتی ریز پردازنده گرفته شده و با استفاده از شیفت به چستر ورودی ـ موازی- خروجی ـ سریال به بیت های سریال تبدیل گردد که آنگاه قابل ارسال به یک خط داده خواهد بود. واضح است که در سمت گیرنده، باید یک شیفت بر چستر ورودی ـ سریال ـ خروجی ـ موازی برای دریافت داده ارسالی وجود داشته و پس از بسته بندی کردن بصورت بایت، آنها را به گیرنده تحویل دهد.

 

ارسال نیمه و تمام دو طرفه

در انتقال داده اگر بتوان داده را ارسال و دریافت کرد گوئیم انتقال دو طرفه است. این برخلاف انتقال داده همچون چاپگرهاست که در آن کامپیوتر فقط داده را ارسال می نماید. ارسال می تواند نیمه و یا تمام دو طرفه باشد. این بستگی به امکان انتقال همزمان داده در دو جهت دارد. اگر داده در هر زمان فقط در یک جهت ارسال شود  به آن نیمه دو طرفه گویند.

اگر امکان ارسال دو جهته همزمان داده وجود داشته باشد آنرا تمام دو طرفه می نامند. البته به نام دو طرفه علاوه بر خط زمین نیاز به خط داده دارد، یکی برای ارسال و دیگری برای دریافت می باشد.

بیت  های شروع و ختم:

تبادل سریال غیر همزمان داده بطور گسترده ای برای ارسال های مبتنی بر کاراکتر مورد استفاده قرار میگیرند. ولی انتقال داده مبتنی بر بلوک از روش همزمان استفاده می نماید. در روش غیر همزمان، هر کاراکتر بین دستی های شروع و ختم قرار می گیرد. به این عمل بسته بندی گویند. در روش بسته بندی داده برای تبادل غیر همزمان، داده مانند کاراکترهای اسکی، بین بیت های شروع و ختم بسته بندی می شوند. بیت شروع همیشه یک بیت است، ولی ختم می تواند یک یا چند بیت باشد. بیت شروع همیشه صفر و بیتهای ختم همواره یک است، مثلاً کاراکتر اسکی حرف  با دودویی 1000001 بین بیت شروع و دودویی ختم قرار گرفته است، بیت  ابتدا خارج می شود.

هنگامی که انتقال صورت نمی گیرد، سیگنالی که به آن نشانه می گویند، یک است. به صفر نیز فاصله گویند. ارسال بایت شروع آغاز شده و به دنبال آن  ، یعنی کم ارزشترین بیت و پس از آن بقیه بیت ها تا  و نهایتاً دو بیت ختم به معنای پایان کاراکتر  ارسال می شود.

سرعت انتقال داده

سرعت انتقال داده در تبادل سریال داده بر حسب  (بیت بر ثانیه) بیان می شود. اصطلاح دیگری که بطور گسترده ای از آن استفاده می شود میزان باود (انتقال) می باشد. با این وجود  و باود لزوماً یکی نیستند. علتش این است که باود از اصطلاحات مودم است و بصورت تعداد سیگنال در ثانیه می باشد. در مودمها مواردی وجود دارد که تغییر سیگنال موجب انتقال چندین بیت داده می گردد. از دیدگاه سیم هادی، باود  ها یکسان هستند.

سرعت انتقال داده از یک سیستم کامپیوتر، به یورت های آن بستگی دارد.

طبقه بندی تبادل داده

اصطلاحات جاری، تجهیزات تبادل داده را بصورت  (تجهیزات پایانه داد) و یا  (تجهیزات تبادل داده) دسته بندی می کند.  به پایانه ها و کامپیوترهایی گفته می شود که داده را ارسال و یا دریافت می نماید، در حالیکه  به تجهیزاتی همچون مودم که مسئول ارسال به خطوط اتصال است گفته می شود.

ساده ترین اتصال بین میکروکنترلر و  به 3 پایه  و  و زمین نیاز دارد.

بررسی سیگنال دست دهی  232RS :

به منظور ایجاد سریع و قابل اطمینان داده بین دستگاه ها، در انتقال باید هماهنگی وجود داشته باشد. درست مثل چاپگر، چون در وسیله گیرنده ممکن است برای پذیرش داده جایی نباشد، باید مکانیزی برای اطلاع به فرستنده ایجاد شود تا از ارسال داده خودداری کند. بسیاری از پایه های 232RS  برای سیگنالهای دست دهی در نظر گرفته شده اند. این سیگنالها فقط به عنوان مرجع فراهم شده اند، ولی می توانند نادیده گرفته شوند. زیرا بوسیله تراشه UART 8055 پشتیبانی نمی شوند.

 

1 ـ DTR (آمادگی پایانه داده):

وقتی که پایا ( یا یورت  در ) روشن شود، پس از یک سری تست های درونی،  سیگنال  را به بیرون ارسال می نماید تا آمادگی خود را برای تبادل داده اعلام نماید. اگر مشکلی در یورت  وجود داشته باشد، این سیگنال فعال نمی گردد. این سیگنال، یک سیگنال فعال پایین بوده و به مودم اطلاع می دهد که آماده است.

2 ـ DSR (آماده دریافت داده و یا مجموعه داده آماده):

وقتی که یک  (مودم) روشن شود و شروع به تست خود کند یک  را صادر می نماید تا آمادگی تبادل اطلاعات را اعلام نماید.

بنابراین سیگنال مذکور یک خروجی از مودم  و ورودی به  است. این یک سیگنال فعال پایین است. اگر به هر دلیلی قادر به ارتباط با تلفن نباشید، این سیگنال غیر فعال شده و به  (پایانه) عدم آمادگی ارسال و دریافت داده را اعلام می نماید.

3 ـ RTS (تقاضای ارسال):

وقتی وسیله  (مانند  ) دارای بایتی برای ارسال است سیگنال  را ایجاد می کند تا به مودم داشتن یک بایت داده برای ارسال را اعلام نماید.  یک خروجی فعال پایین از  و ورودی به موم است.

 

4 ـ CTS  ( جالی برای ارسال):

در پاسخ به  ، وقتی که مودم جا برای ذخیره دارد. دریافتی دارد سیگنال  را به  می فرستد تا آمادگی خود برای دریافت در آن لحظه به اطلاع برساند. سیگنال ورودی  بوسیله  برای شروع ارسال استفاده می گردد.

5 ـ CD یا DCD  (تشخیص حامل، یا تشخیص حامل داده):

مودم، سیگنال  را برای اطلاع  ارسال می دارد تا تشخیص حامل معتبر و ارتباط بین خود و دیگر مودم ها را اعلام نماید. بنابراین  یک خروجی از مودم و ورودی به یک  است.

6 ـ RI  (اعلام زنگ):

این خروجی از مودم ورودی به  ، زنگ زدن تلفن را خبر می دهد. این سیگنال با صدای زنگ بطور همزمان خاموش و روشن می شود. ضمن آنکه سیگنالهای  و  به ترتیبی بوسیله  ومودم جهت اعلام آمادگی بکار می روند. ولی در واقع  و  کنترل جریان داده را بر عهده دارند. هنگامی که  تصمیم به ارسال داده دارد سیگنال  را ارسال می کند، و در پاسخ به آن اگر مودم آماده پذیرش داده باشد سیگنال  را بازپس می فرستد.

اتصال 8055 به 232 RS :

همانطور که در صفحه های قبل گفته شد استاندارد  با  سازگار نیست. بنابراین از راه اندازی همچون تراشه 232MAX برای تبدیل سطح ولتاژ 232RS به سطح  و بالعکس باید استفاده شود.

 

پایه های RXD  و TXD و 8055 :

8055 دارای 2 پایه است که خصوصاً برای ارسال و دریافت سریال بکار می رود. این دو پایه  و  نامیده شده و بخشی یورت 3 (  و ) می باشند.

پایه 11 از 8055  (1/3 P) به  و پایة 10 به  تخصیص یافته است. این پایه ها سازگار با  هستند؛ بنابراین نیاز به یک راه انداز خط دارند تا با 6232R  سازگار شوند.

 

232MAX :

چون 232RS  با میکروپرسسورها و میکروکنترلرهای امروزی سازگار نیست، به یک راه انداز خطی نیاز دارد تا سیگنالهای 232RS را به سطوح ولتاژ  تبدیل کند تا بدین وسیله پایه های  و  در 8055  قابل پذیرش باشند. یکی از مزایای این  این است که از منبع تغذیه 57+ استفاده می کند که مشابه منبع ولتاژ برای 8055 است.

دسترسی به 232R  در دلفی:

باز کردن و بستن واسط سریال

دریافت و ارسال بایت های منفرد چ

خروجی مستقیم با استفاده از خطوط واسط سریال

خواندن خطوط مربوط به درگاه

اگر بخواهیم  به حالت بالا تغییر وضعیت دهد، بیت یک با مقدار عدد  آدرس دهی
می شود. لذا خروجی مقدار 2 است. عدد  هم ارز بالا کردن خط  است و عدد 3 نیز هر دو خط ذکر شده را به حالت بالا تغییر وضعیت می دهد  . با استفاده از تابع  آنرا در خروجی قرار می دهیم.

فرمانهای مربوط به درگاه

دستور INPORT :

از یک درگاه عمل خواندن را انجام می دهد.

OUTPORT:

دستور  عمل نوشتن را در یک درگاه انجام می دهد.

 

روال های واسط سریال

OPEN COM :

واسط سریال را باز می کند برای اینکه اطلاعات ارسال شود.

CLOCE COM :

واسط سریال را می بندد.

RJABYTE :

یک بایت را از واسط سریال می خواند. این واسط باید قبلاً توسط باز شده باشد.

SEND BYTE :

از طریق واسط سریال، یک بایت را ارسال می کند. این واسط باید قبلاً توسط  باز شده باشد.

  • manicure

    manicure

    • ۱۳۹۶/۰۱/۱۹ - ۱۵:۳۰:۲۱

    At this time it seems like BlogEngine is the preferred
    blogging platform out there right now. (from what I've read) Is that
    what you are using on your blog?

  • Mckenzie

    Mckenzie

    • ۱۳۹۶/۰۲/۱۷ - ۰۹:۱۳:۰۷

    We're a group of volunteers and opening a new scheme in our community.
    Your website provided us with valuable info to work on. You've
    performed an impressive task and our entire group will probably be
    thankful to you.

  • http://chaturbatetokenshack.online/

    http://chaturbatetokenshack.online/

    • ۱۳۹۶/۰۶/۰۵ - ۰۲:۲۲:۴۲

    Hey There. I found your blog the use of msn. This is an extremely smartly
    written article. I will be sure to bookmark it and come back to
    learn extra of your helpful information. Thank you for the post.
    I'll definitely return.

پربازدیدترین مطالب

کد پربازدیدترین

آمارگیر وبلاگ