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

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

metalljack
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2008
الدولة: syria
المشاركات: 900
نشاط [ metalljack ]
قوة السمعة:103
قديم 24-05-2011, 10:49 PM المشاركة 1   
افتراضي أرجو ترجمة هذا الكود بلغة السي Twitter FaceBook Google+



// input PC0
DDRC &=0b11111110;
PORTC&=0b11111110; // pul up - off

// output pd7
DDRD |=0b10000000;

while(1){
k++;
r=0; // counter

// out 0
PORTD&=0b01111111;
while(PINC&0b00000001);


// out 1
PORTD|=0b10000000;

while(!(PINC&0b00000001)) r++;


// out 0
PORTD&=0b01111111;


//output data to display
/*
itoa(r+2, buf,10);
my44780_command_home(&disp1);
my44780_send_string(&disp1,buf);
my44780_send_string(&disp1," ");
itoa(k, buf,10);
my44780_send_string(&disp1,buf);
my44780_send_string(&disp1," ");
_delay_ms(100);
*/
}

ولكم جزيل الشكر

اعلانات

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,334
نشاط [ ناصراحمد2 ]
قوة السمعة:98
قديم 25-05-2011, 02:24 AM المشاركة 2   
افتراضي


السلام عليكم ورحمة الله وبركاتة
كيف حالك اخى metalljack

تم تحويل البرنامج الى برنامج ميكروسى وتم البرمجة على ميكرو pic16f877a
طبعا لانة يحتوى على بورت d


وهذا هو البرنامج


كود:
char k; char n=0; // counter void main() { // input PC0 trisC =0b11111110; PORTC&=0b11111110; // pul up - off // output pd7 trisD |=0b10000000; while(1){ k++; // out 0 PORTD&=0b01111111; while(trisC&0b00000001); // out 1 PORTD|=0b10000000; while(!(trisC&0b00000001)) n++; // out 0 PORTD&=0b01111111; //output data to display /* itoa(r+2, buf,10); my44780_command_home(&disp1); my44780_send_string(&disp1,buf); my44780_send_string(&disp1," "); itoa(k, buf,10); my44780_send_string(&disp1,buf); my44780_send_string(&disp1," "); _delay_ms(100); */ } }
فى بداية الكود يوجد كلمة DDRC
لم افهمها بالظبط
ولكن توقعت انها تجعل البورت سى يعمل كخرج
وترجمتة هنا هى TRISD

========================
يوجد فى الكود الخاص بك متغير باسم r
قمت باستبدالة بحرف n
لان البرنامج اعترض علية


التعديل الأخير تم بواسطة : ناصراحمد2 بتاريخ 25-05-2011 الساعة 03:48 AM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,334
نشاط [ ناصراحمد2 ]
قوة السمعة:98
قديم 25-05-2011, 03:39 AM المشاركة 3   
افتراضي


وهنا الكود بعد حزف الزوائد (الشرح)

كود:
char k; char n=0; void main() { trisC =0b11111110; PORTC&=0b11111110; trisD |=0b10000000; while(1){k++; PORTD&=0b01111111; while(trisC&0b00000001); PORTD|=0b10000000; while(!(trisC&0b00000001)) n++; PORTD&=0b01111111; } }



وهذا ملف الهكس


كود:
:100000000428FF3FFF3FFF3F2820FE308316870074 :10001000FE3083128705831688178312A10A7F306A :100020008805013083160705F000031D112883128F :100030008817013083160705F000031D222883125C :10004000A00A1928031383127F3088050D2827285A :10005000003003138312A0000800FF3FFF3FFF3F63 :02400E007A3FF7 :00000001FF


التعديل الأخير تم بواسطة : ناصراحمد2 بتاريخ 25-05-2011 الساعة 03:52 AM

geniusse01
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2008
الدولة: Jordan - Amman
المشاركات: 1,139
نشاط [ geniusse01 ]
قوة السمعة:106
قديم 25-05-2011, 10:56 AM المشاركة 4   
افتراضي



فى بداية الكود يوجد كلمة DDRC
لم افهمها بالظبط
ولكن توقعت انها تجعل البورت سى يعمل كخرج
وترجمتة هنا هى TRISD
السلام عليكم

كيف الحال اخي ناصر ..كيف الحال اخي metalljack ..ان الكود السابق يتختص بالمتحكمات من نوع AVR وليس PIC ..فالامر DDR يقوم بتحديد نوع الطرف هل هو مدخل او مخرج (اي تشبه TRIS في البيك) ...ارجو لكم التوفيق جميعا ..

واخر دعوانا ان الحمدلله رب العالمين .. وصلى الله على سيدنا محمد وعلى اله وصحبه وسلم.


metalljack
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2008
الدولة: syria
المشاركات: 900
نشاط [ metalljack ]
قوة السمعة:103
قديم 25-05-2011, 08:07 PM المشاركة 5   
افتراضي



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

إضافة رد

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

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

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


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

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