قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 11-03-2011, 10:00 PM المشاركة 1   
افتراضي أسرارتفاصيل منافذ الدخل والخرج وطرق التعامل معها INPUT / OUTPUT PORTS - المنفذ PORT A Twitter FaceBook Google+



منافذ المداخل / المخارج INPUT / OUTPUT PORTS
من أجل مزامنة تشغيل منافذ الإدخال / الإخراج مع التنظيم الداخلى ذو الثمانى خانات للميكروكونترولر فإن المنافذ على غرار السجلات تنقسم إلى خمسة منافذ يرمز لها بالحروف A, B, C, D , E .جميع المنافذ تشترك فى عدة صفات هى :
• لأسباب عمليةنجد أن كثيرمن الأطراف متعددة الوظائف . إذا قام الطرف بأجراء أي من هذه الوظائف ، فإنه لا يمكن استخدامه كطرف مدخل أو مخرج للأغراض العامة .
• كل منفذ له سجل تحكم مقابل : TRISA و TRISB و TRISC ..إلخ .والذى يحدد أداء خانات المنفذ وليس محتوياته . بمسح أي خانة بسجل التحكم (bit=0) ، يتم تهيئة ( إعداد ) الطرف المناظر كمخرج . وبالمثل عند جعل الخانة set(bit=1) فإن الطرف المناظر يتم تهيئته (إعداده) كمدخل .
هذه القاعدة من السهل تذكرها : 0 = Output, 1 = Input .






سجل المنفذ PORTA وسجل التحكم فيه TRISA :
المنفذ Port A ذو سعة (عرض) 8 خانات 8-bit وهو منفذ ثنائى الاتجاه . خانات السجل TRISA "التحكم فى اتجاه البيانات "وخانات السجل ANSEL "اختيار المداخل التناظرية " تتحكم فى أطراف المنفذ Port A . جميع أطراف المنفذ Port A تعمل كمدخل/ مخارج رقمية . خمسة من هذه الأطراف يمكنها أيضا أن تعمل كمداخل تناظرية (يرمز لها بالحروف AN) كما يلى :










RA0 = AN0 : تحدد بالخانة ANS0 بالسجل ANSEL .
RA1 = AN1 : تحدد بالخانة ANS1 بالسجل ANSEL .
RA2 = AN2 : تحدد بالخانة ANS2 بالسجل ANSEL .
RA3 = AN3 : تحدد بالخانة ANS3 بالسجل ANSEL .
RA5 = AN4 : تحدد بالخانة ANS4 بالسجل ANSEL .
مثل خانات السجل TRISA التى تحدد أى الأطراف معدة كمداخل وأيها معد كمخارج فإن الخانات المناظرة بالسجل ANSEL تحدد أى الأطراف معد كمدخل تناظرى وأيها كمدخل / مخرج رقمى .
كل خانة من هذا المنفذ يمتلك وظيفة أخرى ترتبط ببعض الوحدات الطرفية الموجودة فى بناء الميكروكونترولر والتى سوف نتناولها فيما بعد .هذا الجزء يغطى فقط الوظيفة الإضافية للطرف RA0 لأنها مرتبطة بالمنفذ port A وبالوحدة ULPWU .

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 11-03-2011, 10:02 PM المشاركة 2   
افتراضي


دعنا نفعل ذلك باستخدام mikroC :
  • لإعداد جميع الأطراف كمداخل / مخارج رقمية يتم تصفير السجل ANSEL والسجل ANSELH :

ANSEL = ANSELH = 0 ;
  • لتصفير جميع أطراف المنفذ :
PORTA = 0 ;


  • لإعداد جميع أطراف المنفذ كمداخل (1) فيما عدا الخانة الثالثة والمسماة PORTA.2 يتم إعدادها كمخرج (0) :
TRISA = ob00000100 ;










الوحدة ULPWU "وحدة الإيقاظ للقدرة المنخفضة"

غالبا ما يستخدم الميكروكونترولر فى الأحهزة التى تعمل بصفة دورية ولا تعتمد على استخدام البطاريات كمصدر للقدرة . وهنا فإن الحد الأدنى لاستهلاك القدرة هو أحد الخواص المطلوبة .والأمثلة العملية لمثل تلك التطبيقات هى : مقاييس الحرارة و وحساسات اكتشاف الحريق وما شابه ذلك . من المعروف أن تخفيض تردد نبضات الساعة يؤدى إلى تخفيض القدرة المستهلكة , لذلك فإن أحد أكثر الحلول المتبعة فى هذه المشكلة هى تخفيض تردد نبضات الساعة أى استخدام كريستال كوارتز بتردد 32KHz بدلا من 20MHz .
وضع الميكروكونترولر فى نظام السكون sleep هى خطوة أخرى فى نفس الاتجاه . وتظل مشكلة كيفية إنهاض الميكروكونترولر ووضعه فى النظام العادى ؟ من الضرورى وجود إشارة خارجية لتغيير الحالة المنطقية لبعض الأطراف . هذه الأشارة يحب توليدها بإلكترونيات إضافية والتى تتسبب فى استهلاك قدرة أعلى .
الحل المثالى هو أن ينهض الميكروكونترولر بنفسه بطريقة دورية وذلك ليس بمستحيل بالمرة .الدائرة التى تمكنه من ذلك موضحة بالشكل .






مبدأ العمل بسيط :
يتم إعداد الطرف كمخرج ووضع المنطق واحد (1) به . يؤدى ذلك لشحن المكثف . فورا بعد ذلك يتم تهيئة نفس الطرف كمدخل .التغير فى الحالة المنطقية تمكن المقاطعة ويتم وضع الميكروكونترولر فى نظام السكون .كل ما يحدث هو الانتظار حتى يتم تفريغ المكثف عن طريق تيار التسريب الذى يمر خلال طرف المدخل .عندما يتم ذلك تحدث المقاطعة ويتقدم الميكروكونترولر فى تنفيذ البرنامج فى النظام العادى .ويتم تكرار العملية بالكامل .


نظريا هذا هو الحل الأمثل. والمشكلة هي أن كل الأطراف القادرة على أن تتسبب في المقاطعة في هذه الطريقة تكون رقمية وتمتلك تيار تسريب كبير نسبيا عندما لا يكون جهدها قريب من حدود القيم Vdd (1) أو
Vss (0) .في هذه الحالة فإن المكثف يتم تفريغه فى زمن قصير لأن التياريصل لعدة مئات من الميكرو أمبير. ولهذا السبب تم تصميم الدائرة ULPWU والقادرة على تسجيل انخفاضات فى الجهد بطيئة مع أدنى حد من استهلاك القدرة . خرج هذه الوحدة يقوم بتوليد المقاطعة بينما يتم توصيل مدخلها بأحد أطراف الميكروكونترولر . هذا الطرف هو RA0.بالرجوع إلى الشكل (R=200 ohms, C=1nF) زمن التفريغ حوالى 30 ملى ثانية 30mS في حين أن إجمالي استهلاك الميكروكونترولر ينخفض 1000 مرة (عدة مئات من النانو أمبير ).








سجل المنفذ PORTB وسجل التحكم فيه TRISB

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  
إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 03:33 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025