برمجة الرقاقة 8255A - العمل في النمط 1 برمجة الرقاقة 8255A - العمل في النمط 1 - اقرا معي وتعلم على الانترنت

برمجة الرقاقة 8255A - العمل في النمط 1

برمجة الرقاقة 8255A - العمل في النمط 1


في التدوينة السابقة اخذنا البرمجة في النمط 0 







اليوم موضوعنا هو برمجة الرقاقة 8255A - العمل في النمط 1:

تجري عمليات الدخل والخرج، في هذا النمط، بالتوافق مع إشارات قدح strobes أو مصافحة handshaking .
بوابات دخل تعمل بالقدح
في حال برمجة البوابة A  أو B كبوابة دخل في النمط 1 فإن كل منهما تعمل كتجهيز دخل ماسكة للمعطيات. يمكِّننا هذا النمط من حفظ معطيات الدخل إلى أن يصبح المعالج جاهزًا لقراءتها. تستخدم، في هذا النمط، البوابة PCU والبوابة PCL لتنجيز عملية المصافحة للبوابة A والبوابة B على الترتيب.

يبين الصورة التالية توصيف البوابة A والبوابة B عندما تعمل كل منها كبوابة دخل تعمل بالقدح، كما يبين الشكل نفسه كلمة التحكم اللازمة لبرمجة كل من البوابة A والبوابة B كبوابة دخل في النمط 1 .
تجري عملية الإدخال بالقدح كما يلي، انظر المخطط الزمني:

برمجة الرقاقة 8255A - العمل في النمط 1



  1.   تضع، أولا، تجهيزة الدخل المعطيات على البوابة.
  2.  تولد تجهيزة الدخل نبضة سالبة على المدخل STB' تمسك بوابة الدخل، نتيجة لهذه النبضة، المعطيات المتواجدة على مداخلها، ومن ثم تفعل إشارة صوان الدخل ممتلئ (input buffer IBF full) أي تجعله يساوي 1، لُِتعلم الرقاقة 8255A تجهيزة الدخل أنه جرى مسك المعطيات الموضوعة على البوابة. ويجري أخيرًا تفعيل إشارة طلب المقاطعة (interrupt request) IR إذا كانت مؤهلة.
  3.  عندما يعلم المعالج أنه جرى قدح معطيات في البوابة، إما برمجيًا عن طريق تفحص أو تقصي حالة IBF أو عتاديًا عن طريق مقاطعة المعالج بإشارة INTR ينفذ المعالج تعليمة  IN  لقراءة المعطيات. أثناء عملية القراءة تعيد الإشارة RD' كل من STB' و INTR إلى حالتهما غير الفعالة بانتظار حدوث عملية قدح معطيات جديدة في البوابة.


برمجة الرقاقة 8255A - العمل في النمط 1

يجري تأهيل أو حجب إشارة توليد المقاطعة INTRA الخاصة بالبوابة A و INTRB الخاصة بالبوابة B بوضع 0 أو 1 في البت  PC4 وفي البت PC2 على الترتيب، ويتم ذلك بكتابة كلمة تحكم مناسبة في سجل التحكم مع وضع 0 في البت الأخير من الكلمة. يمكن في نمط الإدخال بالقدح استخدام البتتين PC6 و PC7 كبوابات دخل أو خرج.





مثال: اكتب إجرائية تعمل على قراءة معطيات من لوحة المفاتيح كلما جرى الضغط على أحد مفاتيحها، بفرض أن عنوان البوابة A للدارة 8255A هو 20h علمًا أن لوحة المفاتيح تضع على مخارجها ترميز ASCII للمفتاح المضغوط ومن ثم تولد نبضة سالبة مدتها 1 مِكروثانية على المخرج DAV' كلما جرى الضغط على أحد مفاتيحها.

الحل: نوصل DAV' إلى PC4 ومخارج لوحة المفاتيح إلى البوابة A كما هو مبين في الصورة التالية نفحص في الإجرائية، على نحو مستمر، قيمة PC5 حتى تصبح 1 عندها نقرأ ترميز ASCII للمفتاح المضغوط.

برمجة الرقاقة 8255A - العمل في النمط 1

برمجة الرقاقة 8255A - العمل في النمط 1

برمجة الرقاقة 8255A - العمل في النمط 1

يجري تأهيل أو حجب إشارة توليد المقاطعة INTRA الخاصة بالبوابة A وإشارة INTRB الخاصة بالبوابة B بوضع 1 أو 0 في البت PC6 وفي البت PC2 على الترتيب، ويتم ذلك بكتابة كلمة تحكم مناسبة في سجل التحكم مع وضع 0 في البت الأخير من الكلمة. يمكن في نمط الإخراج بالقدح استخدام البتتين PC3 و PC4 كبوابات دخل أو خرج.

مثال: بفرض أن البوابة A من الدارة 8255A موصولة إلى طابعة، اكتب برنامجًا يعمل على طباعة النص التالي:
Hi, how are you?
I am fine, How are you?
برمجة الرقاقة 8255A - العمل في النمط 1


نلتقي في التدوينة القادمة بعنوان البرمجة في النمط 2

لا تنسى دعمنا بالمشاركة 

دمت بخير عزيزنا الزائر



شارك الموضوع
تعليقات

إرسال تعليق

لا تبخل علينا باقتراحك او قم بمشاركة الموضوع ليستفيد الاخرين ايضاً شكرا لزيارتك عزيزي الزائر

محتوى قد يهمك

.