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

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

أشرف الخطيب
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2009
الدولة: مصــــــــــــــــــــــــــــــر
المشاركات: 195
نشاط [ أشرف الخطيب ]
قوة السمعة:0
قديم 04-05-2009, 07:19 PM المشاركة 1   
افتراضي حاسبة بسيطة باستخدام البيك Twitter FaceBook Google+



السلام عليكم ورحمة الله وبركاته أعضاء القرية الإلكترونية صرح العلم والمعرفة

كنت أتمنى أن أضع ذلك الموضوع من بفترة ولكن لظروف لاأعلمها كان موقع القرية لايفتح معى
عموما لن أطيل عليكم.......

أضع لكم الآن كودا باستخدام الميكروسى لعمل آلة حاسبة بسيطة تستطيع أن تجرى العمليات الحسابية البسيطة على رقمين ( الجمع والطرح والضرب والقسمة )
أعتقد أنه تمرين جيد وستجدوا فيه إن شاء الله جديدا لكيفية التعامل مع الكيباد

فى الرابط التالى ملف الكود وملف المحاكاة
http://www.4shared.com/file/10341485...alculator.html

أتمنى تفاعلكم وإبداء الرأى وهذا ما أتوقعه منكم أعضاء القرية الكرام


التعديل الأخير تم بواسطة : أشرف الخطيب بتاريخ 04-05-2009 الساعة 09:33 PM
اعلانات

geniusse01
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2008
الدولة: Jordan - Amman
المشاركات: 1,139
نشاط [ geniusse01 ]
قوة السمعة:106
قديم 04-05-2009, 08:08 PM المشاركة 2   
افتراضي


السلام عليكم

كيف الحال اخي اشرف..عساك بخير ان شاء الله..جزاك الله كل خير على الجهد المميز في القرية وبرامجك النافعة والرائعة..بارك الله فيك ونفع بك الاسلام والمسلمين..

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

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

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 04-05-2009, 08:43 PM المشاركة 3   
افتراضي


عاشت ايدك اخي اشرف فعلا بداية موفقة واتمنى لك النجاح اكثر واكثر ان شاء الله تعالى . ارجو ان لاتبتعد عنا ريثما نطلع على الكود لكي نتناقش فيه.
بارك الله فيك

حيدر علاج حسن

الصورة الرمزية ahmad72
ahmad72
:: عضو ذهبي ::
تاريخ التسجيل: Aug 2004
المشاركات: 729
نشاط [ ahmad72 ]
قوة السمعة:109
قديم 04-05-2009, 09:08 PM المشاركة 4   
sun


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


حمودي1010
:: مهندس جيد ::
تاريخ التسجيل: Apr 2007
المشاركات: 237
نشاط [ حمودي1010 ]
قوة السمعة:0
قديم 04-05-2009, 09:09 PM المشاركة 5   
ha


بارك الله فيك شكرا لاكن من قضلك اريد الشرح لكل سطر
لكي نعرف التعليمة مادا تفعل


أشرف الخطيب
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2009
الدولة: مصــــــــــــــــــــــــــــــر
المشاركات: 195
نشاط [ أشرف الخطيب ]
قوة السمعة:0
قديم 04-05-2009, 09:25 PM المشاركة 6   
افتراضي


بارك الله فيكم وزادكم حرصا على العلم ونفع بكم الإسلام

إن شاء الله سوف أضع غدا شرحا للكود كاملا ونتناقش فيه لكى نصل إلى أفضل تطوير له إن شاء الله

معذرة قمت بعمل تعديل بسيط على الكود وتم تعديل الرابط

http://www.4shared.com/file/10341485...alculator.html


التعديل الأخير تم بواسطة : أشرف الخطيب بتاريخ 04-05-2009 الساعة 09:35 PM

أشرف الخطيب
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2009
الدولة: مصــــــــــــــــــــــــــــــر
المشاركات: 195
نشاط [ أشرف الخطيب ]
قوة السمعة:0
قديم 05-05-2009, 01:41 PM المشاركة 7   
افتراضي


السلام عليكم ورحمة الله وبركاته سأحاول جاهدا ألا يكون الشرح طويلا ومملا وأن يستفيد منه كل منا إن شاء الله

يمكن تقسيم الكود إلى عدة مراحل :

1 - وضع المتغيرات والثوابت التى ستحتاجها فى الكود
2- ضبط مداخل ومخارج المتحكم ports configuration
3 - ضبط إعدادات lcd
4- ضبط إعدادات الكيباد
5- البرنامج نفسه


أولا : المتغيرات


مبدئيا :

متغيران لحفظ العددين اللذين سنجرى عليهما العملية الحسابية x1 و x2

ومتغير لحفظ نتيجة العملية الحسابية result

كود:
unsigned int x1 = 0 , x2 = 0 , result = 0 ;
ومصفوفة لحفظ الأرقام والرموز التى سوف نظهرها على شاشة lcd وطبعا هى من النوع char لنتمكن من عرضها على الشاشة

كود:
const char number[] ={'y','/','9','8','7','x','6','5','4','-','3','2','1','+','=','0','y'} ;
ولعلك لاحظت أنه تم تعريفها على أنها const وذلك لأن محتويات تلك المصفوفة لاتتغير لذلك تم جعلها من النوع const وبذلك تكون تلك المصفوفة قد تم حجزها فى ال rom وليس ال ram وبذلك نكون قد تلافينا رسالة الخطأ التى قد تظهر والتى تقول not enough ram لأن ذلك البرنامج سوف يستخدم الكثير من المتغيرات والتى سوف تمتلأ بها الرام لذلك قمنا بتعريف المصفوفة على انها const
( وتلك النقطة هامة جدا جدا ......)

ومصفوفة أخرى بنفس ترتيب عناصر المصفوفة الأولى ولكن من النوع int

كود:
const unsigned int number2[]={'y','/', 9 , 8 , 7 ,'x', 6 , 5 , 4 ,'-', 3 , 2 , 1 ,'+','=', 0 ,'y'} ;
أى أن المصفوفة الأولى لعرض الأرقام والأخرى لإجراء العمليات الحسابية

طبعا تلك المتغيرات مبدئية وسوف نعرف أننا سنحتاج لمتغيرات أخرى أثناء كتابة الكود
__________________________________________________ ________

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


يتبع......................


geniusse01
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2008
الدولة: Jordan - Amman
المشاركات: 1,139
نشاط [ geniusse01 ]
قوة السمعة:106
قديم 05-05-2009, 04:05 PM المشاركة 8   
افتراضي


السلام عليكم

بداية موفقة ومعولمات جديدة ورائعة اخي اشرف..بارك الله فيك وجزاك كل خير لما تقدمه ووفقك لما يحبه ويرضاه..

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

إضافة رد

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

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

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


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

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