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

   

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 05-02-2012, 01:38 PM المشاركة 17   
افتراضي



الوظائف المنطقية المركبة:

أولا : ألوظيفة (أو ألبوابة) ألمنطقية NAND :
أفترض (تخيل) أننا أتبعنا البوابة AND ببوابة NOT كما فى الشكل أ .
نتيجة وجود البوابة NOT هو عكس أى خرج من البوابة AND .
وكطريقة بديلة يمكن الحصول على نفس النتيجة تماما بوضع بوابة NOT عند كل مدخل ثم نتبع ذلك ببوابة OR كما فى الشكل ب .
وجدول الحقيقة كما فى الشكل .




لكى يكون الخرج 1 يجب أن يكون أى من A =0 أو B=0 على الأقل.
أى يتواجد الخرج عندما لا يوجد الدخل A أولا يوجد الدخل B .
هذا المزيج أو هذه التركيبة أو التوليفة من البوابات تسمى البوابة NAND .









الشكل يبين مخطط السلم للبوابة NAND .
· عندما يكون كل من الدخل A = 0 والدخل B = 0 أو أحدهما = 0 والاخر = 1فإن الخرج يكون 1 .
وعندما يكون كل من الدخل A = 1 والدخل B = 1 فإن الخرج يكون = 0 .

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

البرنامج :


كود:
/* * Project name: NAND operator
* MCU: PIC16f877A Oscillator: 4 MHz */ sbit OUT0 at PORTD.B0; // this is where OUTPUT OUT0 is fully defined sbit OUT1 at PORTD.B1; // this is where OUTPUT OUT1 is fully defined sbit OUT2 at PORTD.B2; // this is where OUTPUT OUT2 is fully defined sbit OUT3 at PORTD.B3; // this is where OUTPUT OUT3 is fully defined sbit OUT4 at PORTD.B4; // this is where OUTPUT OUT4 is fully defined sbit OUT5 at PORTD.B5; // this is where OUTPUT OUT5 is fully defined sbit OUT6 at PORTD.B6; // this is where OUTPUT OUT6 is fully defined sbit OUT7 at PORTD.B7; // this is where OUTPUT OUT7 is fully defined sbit IN0 at PORTC.B0; // this is where INPUT IN0 is fully defined sbit IN1 at PORTC.B1; // this is where INPUT IN1 is fully defined sbit IN2 at PORTC.B2; // this is where INPUT IN2 is fully defined sbit IN3 at PORTC.B3; // this is where INPUT IN3 is fully defined sbit IN4 at PORTC.B4; // this is where INPUT IN4 is fully defined sbit IN5 at PORTC.B5; // this is where INPUT IN5 is fully defined sbit IN6 at PORTC.B6; // this is where INPUT IN6 is fully defined sbit IN7 at PORTC.B7; // this is where INPUT IN7 is fully defined void main(){
TRISD = 0; // set PORTD as Output TRISC = 0XFF; // PORTC as Inputs PORTD = 0 ; //Clear Outputs while (1) { // endless Loop if((!IN0)|(!IN1)) OUT0=1; else OUT0=0;// if input0 NAND input1 is true , output0 will be ON else OFF
} }

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 05-02-2012, 01:49 PM المشاركة 18   
افتراضي



بناء على التركيب البديل يمكن استخدام العبارة التالية

كود:
if(!(IN0&IN1)) OUT0=1; else OUT0=0;

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 05-02-2012, 02:24 PM المشاركة 19   
افتراضي


ثانيا :الوظيفة (أو ألبوابة) ألمنطقية NOR
افترض (تخيل) أننا أتبعنا بوابة OR ببوابة NOT كما فى الشكل أ .
نتيجة وجود البوابة NOT هو عكس أى خرج من البوابة OR .
وكطرايقة بديلة وتعطى نفس النتيجة تماما هى وضع بوابة نفى NOT بكل مدخل ثم بعد ذلك بوابة AND للمداخل المعكوسة كما فى الشكل ب .
جدول الحقيقة كما فى الشكل .


التركيبة المكونة من البوابة OR والبوابة NOT يطلق عليها البوابة NOR.
يوجد خرج إذا لم يكن الدخل A أو الدخل B = 1 . الشكل يبين مخطط السلم لنظام البوابة NOR .
عند عدم وجود كل من الدخل A والدخل B يوجد خرج = 1 .
إذا كان (أى من الدخل A أو الخل B = 1 ) فإن الخرج = 0 أى غير موجود .


البرنامج :

كود:
/*
 * Project name:
     NAND operator  
 
 *  MCU:             PIC16f877A
     Oscillator:      4 MHz
*/
sbit OUT0 at PORTD.B0; // this is where OUTPUT OUT0 is fully defined
sbit OUT1 at PORTD.B1; // this is where OUTPUT OUT1 is fully defined
sbit OUT2 at PORTD.B2; // this is where OUTPUT OUT2 is fully defined
sbit OUT3 at PORTD.B3; // this is where OUTPUT OUT3 is fully defined
sbit OUT4 at PORTD.B4; // this is where OUTPUT OUT4 is fully defined
sbit OUT5 at PORTD.B5; // this is where OUTPUT OUT5 is fully defined
sbit OUT6 at PORTD.B6; // this is where OUTPUT OUT6 is fully defined
sbit OUT7 at PORTD.B7; // this is where OUTPUT OUT7 is fully defined
sbit IN0 at PORTC.B0; // this is where INPUT IN0 is fully defined
sbit IN1 at PORTC.B1; // this is where INPUT IN1 is fully defined
sbit IN2 at PORTC.B2; // this is where INPUT IN2 is fully defined
sbit IN3 at PORTC.B3; // this is where INPUT IN3 is fully defined
sbit IN4 at PORTC.B4; // this is where INPUT IN4 is fully defined
sbit IN5 at PORTC.B5; // this is where INPUT IN5 is fully defined
sbit IN6 at PORTC.B6; // this is where INPUT IN6 is fully defined
sbit IN7 at PORTC.B7; // this is where INPUT IN7 is fully defined
void main(){
  
  TRISD = 0;        // set PORTD as Output
  TRISC = 0XFF;  // PORTC as Inputs
  PORTD = 0 ;  //Clear Outputs
  while (1) {           // endless Loop 
    if((!IN0)&(!IN1)) OUT0=1; else OUT0=0;// if input0 NAND input1 is true , output0 will be ON else OFF
    //if(!(IN0|IN1)) OUT0=1; else OUT0=0;
  }
}




الصورة الرمزية أبو عاصم
أبو عاصم
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2010
الدولة: سوريا_فلسطين
المشاركات: 69
نشاط [ أبو عاصم ]
قوة السمعة:
قديم 07-02-2012, 12:41 PM المشاركة 20   
x5 السلام عليك أخي


السلام عليك أخي ما شاء الله موضوع جميل و شرح أجمل ما شاء الله الى الأمام
الى الأمام



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