تابعنا ع م التواصل

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

في التدوينة السابقة اخذنا رقاقة منافذ الدخل/الخرج المبرمجة 8255A - برمجة المعالجات الدقيقة - دوائر موائمة


اليوم نأخذ برمجة الرقاقة 8255A - العمل في النمط 0


يمكننا برمجة الرقاقة 8255A عبر سجلي تحكم داخليين لهما العنوان الفيزيائي نفسه، يجري انتخاب أحد هذين السجلين باستخدام البت الأخيرة من كلمة التحكم، كما هو مبين في الصورة التالية :
برمجة الرقاقة 8255A - العمل في النمط 0



يمكِّننا وضع 1 منطقي في البت الأخيرة من كلمة التحكم، من برمجة المجموعة A و B على نحو مستقل لتعمل بعدة أنماط، انظر الصورة التالية


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

يمكننا برمجة المجموعة B في النمط 0 لتعمل كبوابات دخل/خرج بسيطة، أو برمجتها في النمط 1 لتعمل في نمط القدح strobed حيث يجري تبادل المعطيات مع التجهيزات المحيطية عبر البوابة B في حين نستخدم الجزء الأدنى من البوابة C , PCL لتأمين إشارات المصافحة.



يمكننا برمجة المجموعة A لتعمل في النمط 0 أو 1 كما هو الحال في المجموعة B عند برمجة المجموعة A في النمط 1 نستخدم الجزء الأعلى من البوابة C , PCU لتأمين إشارات المصافحة. علاوة على ذلك، يمكننا برمجة المجموعة A في النمط 2 حيث تصبح البوابة A ثنائية الاتجاه bidirectional .
يمكِننا عند وضع 0 منطقي في البت الأخيرة من كلمة التحكم، تغيير حالة كل بت من بتات البوابة C عندما تكون الرقاقة 8255A مبرمجة في النمط 0 أو 1، كما هو مبين في الصورة التالية :


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

مثال:اكتب تعليمات تضع 1 في البتتين PC3 و PC7 بفرض أن عنوان سجل التحكم في الدارة 8255A هو .83h
الحل:
MOV          AL, 07h ; set PC3=1
OUT           83h, AL
MOV          AL, 0Fh ; set PC7=1
OUT           83h, AL
العمل في النمط 0
تبرمج، في هذا النمط، كل من البوابات A و B و  PCH و  PCL كلٌ على حده لتعمل كبوابة دخل أو خرج بسيطة. تجري عملية الإدخال والإخراج من خلال القراءة أو الكتابة من وفي البوابات مباشرة
دون الحاجة إلى إشارات مصافحة. عند الكتابة في بوابة خرج تمسك البوابة المعطيات، في حين لا
تمسك بوابة دخل المعطيات على مداخلها ويجب على المعالج قراءتها قبل تغيرها.
تجري برمجة بوابات الدارة 8255A من خلال كتابة كلمة تحكم مناسبة في سجل التحكم، مع التنويه إلى ضرورة وضع 1 في البت الأخيرة من كلمة التحكم. يجب لبرمجة المجموعة B في النمط 0  وضع 0 في D2 من كلمة التحكم، في حين يجب وضع 0 في D5 و D6 من كلمة التحكم لبرمجة المجموعة A في النمط 0. ويمكننا بتغيير قيم البتات D0,D1,D3 و D4 برمجة كل من البوابات B , PCL , A و PCH على حده دخل أو خرج على الترتيب، كما هو مبين في الشكل.
مثال:
ما هي كلمة التحكم التي تبرمج: البوابة A خرج، البوابة B دخل , PCL دخل و PCU خرج، كما هو مبين في الصورة التالية ؟ اكتب برنامجًا يقرأ المعطيات من البوابة B ويرسلها إلى البوابة A ويقرأ المعطيات على البوابة PCL ويرسلها إلى البوابة PCH بفرض أن عنوان البوابة A للرقاقة 8255A هو .300h


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

الحل:
إن كلمة التحكم في هذه الحالة هي:

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

يعمل البرنامج التالي أولا، على كتابة كلمة التحكم المناسبة في سجل التحكم، ثم ينفذ عمليات القراءة والكتابة المطلوبة.
B8255 EQU 300h             ; address of port A
CNTL EQU 83h                ; control word
MOV DX, B8255+3           ; select control port
MOV AL, CNTL                ; write control word in control register
OUT DX, AL
MOV DX, B8255+1           ; select port B
IN AL, DX                          ; read port B in AL
MOV DX, B8255               ; select port A
OUT DX, AL                      ; out AL in port A
MOV DX, B8255+2            ; select port C
IN AL, DX                           ; read port C in AL
AND AL, 0Fh                     ; reset the higher nibble
MOV CL, 4                        ; put the lower nibble in the higher nibble
ROL AL, CL

OUT DX, AL                    ; out AL in port C


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

يمكنك ايضا مشاهدة :


الدرس الثالث والعشرين  الذاكرة المخبئية memory cache

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

ليست هناك تعليقات :

إرسال تعليق

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

 

ابحث في المدونة

.

اكثر زيارة

رياضيات ثالث ثانوي اليمن - التفاضل

بسم الله الرحمن الرحيم  اولاً ارحب بكم زوار المدونة اسأل الله ان تكونوا في اتم الصحة والعافية اليوم وبعد ان انقطعت عن النشر لفتره اعود ...

تابعنا على الفيس بوك

تابعنا على جوجل بلس

المتابعون انضم اليهم

نموذج الاتصال

الاسم

بريد إلكتروني *

رسالة *

تابعنا

r

google pagerank checker by smallseotools.com Website Seo score checker