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

   

الصورة الرمزية ياسين الحانوتي
ياسين الحانوتي
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2013
المشاركات: 164
نشاط [ ياسين الحانوتي ]
قوة السمعة:
قديم 26-01-2017, 11:27 AM المشاركة 9   
افتراضي



تم تجربة البرنامج وكان شغال 100% على بيك 84 وبيك 626 شكرا لاخى ياسين الحانوتى اشكره من كل قلبى واسأل الله العلى الكريم ان يديم عليك نعمته ويزيدها عليك كما سرنى جدا شرحك للبرنامج لكن لى سؤال
ما هو وظيفة السطلر البرمجى الذى به 15 ..يعنى لماذا 15 ؟ اكرر شكرى لك مرة اخرى كما اكرر شكرى للاخ مشتاق الله على مساعدته للاخوة فى مواضيع اخرى ... دمتم لنا مع الشكر
العفو.. أخي 15 بالعشري هي 0b00001111 ولا نريد البور أن يصل إلى هذه القيمة

اعلانات

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,682
نشاط [ عبدالله حجازى ]
قوة السمعة:
قديم 28-01-2017, 05:15 AM المشاركة 10   
افتراضي اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا وزدنا علما


تم تجربة البرنامج وكان شغال 100% على بيك 84 وبيك 626 شكرا لاخى ياسين الحانوتى اشكره من كل قلبى واسأل الله العلى الكريم ان يديم عليك نعمته ويزيدها عليك كما سرنى جدا شرحك للبرنامج لكن لى سؤال
ما هو وظيفة السطلر البرمجى الذى به 15 ..يعنى لماذا 15 ؟ اكرر شكرى لك مرة اخرى كما اكرر شكرى للاخ مشتاق الله على مساعدته للاخوة فى مواضيع اخرى ... دمتم لنا مع الشكر
السلام عليكم ورحمه الله


بالنسبة لرقم 15 ..

هو موضوع في أمر شرط يختبر قيمه البورت b وهنا لو وصلت قيمة البورت b ال 15 يتحقق الشرط ويجعل قيمة البورت b تساوي صفر ... لاحظ أن قيمة البورت b قد تم وضعها بصيغة ال decimal ولو قارنتها بصيغة ال binary ستلاحظ أن قيمة البورت b تساوي بالبانري ( 00001111 ) وهي البن رقم صفر = 1 والبن رقم 2 =1 والبن رقم 3 =1



ولكن لأن الميكرو ينفذ الأوامر بشكل سريع جداااا لا تلاحظ أضائة البن رقم 4 لأن الشرط تحقق وتم تفعيل البن رقم 4 ومن ثم أطفاء البورت بالكامل أو خلينا نقول تصفيرة ..


ولكي تفهم فائدة الرقم 15 الموضوع فى الشرط حاول توصيل ليدات علي البورت b بالكامل وتغير الرقم 15 الي 31 وستلاحظ أن بيتم اطفاء جميع اليدات بعد الوصول الي الليد رقم 4 وليث 3 ....

وايضاااا جرب وضع الرقم 63 وستلاحظ أن عند كل ضغطه صتصل اضائة اليدات الي اليد الخامس .. وهكذا ..

لو وضعت رقم 255 .. سيتم اضائة كل البورت ... وعند الوصول لأخر بن وهي رقم 8 سينطفئ الجميع أو يتم تصفير البورت ..


أرجو أن أكون وفقت فى توصيل المعلومه ..

تحياتي ..


وشكراااا لأخونا .. ياسين ..

بارك الله فيكم

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

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 619
نشاط [ مشتاق الله ]
قوة السمعة:
قديم 28-01-2017, 06:15 AM المشاركة 11   
افتراضي


العفو.. أخي 15 بالعشري هي 0b00001111 ولا نريد البور أن يصل إلى هذه القيمة
حضرتك اخ ياسين لا تريد البورت ان يصل لهذه القيمة , و لكنه وصل لحظيا , لذا اعتقد للفائدة , انه يمكن تعديل الاختبار داخل البرنامج كالتالى :
كود:
void main() {
TRISB = 0x00;
trisa = 0xFF;
portb=0;
        while(1) 
        {
            if(porta.b0==1) 
            {
             while(porta.b0==1) {  }
             if(portb==7){ portb=0; contiue; } 
             portb  = (portb<<1)+1;
            }
        }
}
و الله ولى التوفيق




الصورة الرمزية ياسين الحانوتي
ياسين الحانوتي
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2013
المشاركات: 164
نشاط [ ياسين الحانوتي ]
قوة السمعة:
قديم 28-01-2017, 07:15 AM المشاركة 12   
افتراضي




حضرتك اخ ياسين لا تريد البورت ان يصل لهذه القيمة , و لكنه وصل لحظيا , لذا اعتقد للفائدة , انه يمكن تعديل الاختبار داخل البرنامج كالتالى :
كود:
void main() {
TRISB = 0x00;
trisa = 0xFF;
portb=0;
        while(1) 
        {
            if(porta.b0==1) 
            {
             while(porta.b0==1) {  }
             if(portb==7){ portb=0; contiue; } 
             portb  = (portb<<1)+1;
            }
        }
}
و الله ولى التوفيق


كود أفضل شكرا جزيلا أخي مشتاق الله ,, تماما هو يصل للقيمة 1111 أولا ثم يود للصفر بسرعة.. ولا نلاحظ ذلك كما اوضح الاخ عبدالله حجازى


اوشة محمود
:: مهندس ::
تاريخ التسجيل: Feb 2015
المشاركات: 38
نشاط [ اوشة محمود ]
قوة السمعة:
قديم 28-01-2017, 02:30 PM المشاركة 13   
افتراضي


السلام عليكم ورحمه الله


بالنسبة لرقم 15 ..

هو موضوع في أمر شرط يختبر قيمه البورت b وهنا لو وصلت قيمة البورت b ال 15 يتحقق الشرط ويجعل قيمة البورت b تساوي صفر ... لاحظ أن قيمة البورت b قد تم وضعها بصيغة ال decimal ولو قارنتها بصيغة ال binary ستلاحظ أن قيمة البورت b تساوي بالبانري ( 00001111 ) وهي البن رقم صفر = 1 والبن رقم 2 =1 والبن رقم 3 =1



ولكن لأن الميكرو ينفذ الأوامر بشكل سريع جداااا لا تلاحظ أضائة البن رقم 4 لأن الشرط تحقق وتم تفعيل البن رقم 4 ومن ثم أطفاء البورت بالكامل أو خلينا نقول تصفيرة ..


ولكي تفهم فائدة الرقم 15 الموضوع فى الشرط حاول توصيل ليدات علي البورت b بالكامل وتغير الرقم 15 الي 31 وستلاحظ أن بيتم اطفاء جميع اليدات بعد الوصول الي الليد رقم 4 وليث 3 ....

وايضاااا جرب وضع الرقم 63 وستلاحظ أن عند كل ضغطه صتصل اضائة اليدات الي اليد الخامس .. وهكذا ..

لو وضعت رقم 255 .. سيتم اضائة كل البورت ... وعند الوصول لأخر بن وهي رقم 8 سينطفئ الجميع أو يتم تصفير البورت ..


أرجو أن أكون وفقت فى توصيل المعلومه ..

تحياتي ..


وشكراااا لأخونا .. ياسين ..

بارك الله فيكم

السلام عليكم

شكرا استاذ عبد الله حجازى على الشرح الواضح والمفصل استفدت منه كثيرا


اوشة محمود
:: مهندس ::
تاريخ التسجيل: Feb 2015
المشاركات: 38
نشاط [ اوشة محمود ]
قوة السمعة:
قديم 28-01-2017, 02:33 PM المشاركة 14   
افتراضي




حضرتك اخ ياسين لا تريد البورت ان يصل لهذه القيمة , و لكنه وصل لحظيا , لذا اعتقد للفائدة , انه يمكن تعديل الاختبار داخل البرنامج كالتالى :
كود:
void main() {
TRISB = 0x00;
trisa = 0xFF;
portb=0;
        while(1) 
        {
            if(porta.b0==1) 
            {
             while(porta.b0==1) {  }
             if(portb==7){ portb=0; contiue; } 
             portb  = (portb<<1)+1;
            }
        }
}
و الله ولى التوفيق



السلام عليكم

شكرا استاذ مشتاق الله على البرنامج الجديد تحايل جميل
كما اكرر شكرى للاستاذ ياسين مرة اخرى على اهتمامه والرد السريع



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