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

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

zoro238
:: مهندس جيد ::
تاريخ التسجيل: Apr 2006
المشاركات: 290
نشاط [ zoro238 ]
قوة السمعة:0
قديم 02-03-2012, 06:32 PM المشاركة 1   
افتراضي مشكلة في فهم كود Twitter FaceBook Google+



انا وجدت شرح لمشكلة عندي وكان هناك كود برمجي بلغة غير السي
ففمكن احد يساعدني ويحول الكود الى لغة السي
كود:
 set PORT B as input where data bit = 0
   set PORT B as output where data bit = 1
   PORT B = DATA
   PORT B4 = 0 ; 0 for Common cathode

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 02-03-2012, 07:31 PM المشاركة 2   
افتراضي


الظاهر ان هناك مفتاح اختيار على احد المنافذ غير المنفذ B من خلاله يمكن جعل المنفذ B كدخل او خرج واذا اعتبرنا ان المفتاح متصل بالنفذ a0 يمكن تصور الكود بهذا الشكل .

كود:
trisa.f0=1; if(porta.f0 ==0) trisb=1; / set portb as input / else { trisb=0; /set portb as output / portb=DATA}


التعديل الأخير تم بواسطة : حيدر علاج حسن بتاريخ 02-03-2012 الساعة 07:35 PM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

zoro238
:: مهندس جيد ::
تاريخ التسجيل: Apr 2006
المشاركات: 290
نشاط [ zoro238 ]
قوة السمعة:0
قديم 03-03-2012, 07:14 PM المشاركة 3   
افتراضي


مشكور اخي حيدر على الرد

لكن لو انا اريد فحص كل بتات المنفذ b
بحيث لو كانت البت مثل رقم اربعه قيمتها 0 يجعل trisb.f4=1


zoro238
:: مهندس جيد ::
تاريخ التسجيل: Apr 2006
المشاركات: 290
نشاط [ zoro238 ]
قوة السمعة:0
قديم 03-03-2012, 07:33 PM المشاركة 4   
افتراضي


هل ينفع ان اجعل كل هذه الاوامر في دالة لوحدها
ام لابد ان تكون ون دالة المين الرئيسية
اقصد اوامر trsib و portb


الصورة الرمزية sheimy
sheimy
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: Egypt
المشاركات: 789
نشاط [ sheimy ]
قوة السمعة:98
قديم 03-03-2012, 07:43 PM المشاركة 5   
افتراضي


كود:
trisb=~trisb;


zoro238
:: مهندس جيد ::
تاريخ التسجيل: Apr 2006
المشاركات: 290
نشاط [ zoro238 ]
قوة السمعة:0
قديم 03-03-2012, 07:58 PM المشاركة 6   
افتراضي


اشكرك اخي sheimy على الرد
لكن الامر السابق سيعكس البتات
ساحاول ان اعيد شرح المشكلة مرة اخرى
انا سارسل داتا عبر المنفذ b
والنقل الداتا التى سارسلها ستكون هذه (( 01101101))
طبعا ستخرج الداتا من البت f0 to f7

ولابد ان اعرف البوت b هل هو دخل ام خرج trisb
الداتا هي تحدد هل دخل ام خرج
بالبتات فالبت 1 يعني trsib.f0=0
والبت 0 يعني trisb.f1=1
وهكذا ومن ثم يخرج الداتا

اتمنى ان تكون الفكرة وصلت

وهل يمكن عمل تعريف trsib والامر port في دالة يتم استدعاها من الدالة الرئيسية main ??

إضافة رد

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

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

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


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

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