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

   

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



السلام عليكم

ظهور عبارات كود الويب مع كود المثال أرجو التصحيح

صيغ إعلان المتغير :
الصيغة الأولى : نوع البيانات يليه اسم المتغير .

[codedataType variableName;] [/code]
كود:
dataType variableName;
وهل هذا الموضوع انتهى ؟
وعليكم السلام ورحمة الله وبركاته

شكرا لك
كلا لم ينتهى بعد

مع تمنياتى بدوام التوفيق

اعلانات

الصورة الرمزية assed
assed
:: عضو فضي ::
تاريخ التسجيل: Jul 2014
الدولة: العراق - بغداد
المشاركات: 1,034
نشاط [ assed ]
قوة السمعة:
قديم 01-06-2017, 12:37 AM المشاركة 42   
افتراضي


السلام عليكم
أستاذ فتح الله عبد العزيز في مشاركة 27 من هذا الموضوع وجدت هذا الكود
كود:
f(x == 1) 						switch(x)
statement1; 							{
else if(x == 2) 							case 1:
statement2; 								statement1;
else if(x == 3) 								break;
statement3; 							case 2:
else 									statement2;
statement4; 								break;
case 3:
statement3;
break;
default:
statement4;
}
مكتوب بشكل مبعثر فهل هوة كذالك ام يكون بهذه الطريقة
كود:
switch(x)
{
if(x == 1)
 case 1:						
statement1;
break; 							
else if(x == 2)
 case 2:							
statement2;
break; 								
else if(x == 3) 								
statement3; 							
else 									
statement4; 								
case 3:
statement3;
break;
default:
statement4;
}
ولكم جزيل الشكر

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 01-06-2017, 12:34 PM المشاركة 43   
افتراضي


المثال التالى يوضح جزء من برنامج تم تنفيذه باستخدام كل من عبارات الاختيار if…else و switch . وظيفيا ، الكودان يساوى كل منهما الآخر .


كود:
if(x == 1) 						switch(x)
statement1; 							{
else if(x == 2) 							case 1:
statement2; 								statement1;
else if(x == 3) 								break;
statement3; 							case 2:
else 									statement2;
statement4; 								break;
case 3:
statement3;
break;
default:
statement4;
}


الصورة توضح نفس "البرنامجين" (وليس برنامج واحد) السابقين بشكل أوضح وهو المطلوب لعمل مقارنة بين استخدام العبارتين نظرا لأن الكتابة لا تعطى الشكل الصحيح المطلوب .
مع تمنياتى بدوام التوفيق


التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 01-06-2017 الساعة 12:40 PM

الصورة الرمزية assed
assed
:: عضو فضي ::
تاريخ التسجيل: Jul 2014
الدولة: العراق - بغداد
المشاركات: 1,034
نشاط [ assed ]
قوة السمعة:
قديم 01-06-2017, 08:56 PM المشاركة 44   
افتراضي


المثال التالى يوضح جزء من برنامج تم تنفيذه باستخدام كل من عبارات الاختيار if…else و switch . وظيفيا ، الكودان يساوى كل منهما الآخر .


كود:
if(x == 1) 						switch(x)
statement1; 							{
else if(x == 2) 							case 1:
statement2; 								statement1;
else if(x == 3) 								break;
statement3; 							case 2:
else 									statement2;
statement4; 								break;
case 3:
statement3;
break;
default:
statement4;
}


الصورة توضح نفس "البرنامجين" (وليس برنامج واحد) السابقين بشكل أوضح وهو المطلوب لعمل مقارنة بين استخدام العبارتين نظرا لأن الكتابة لا تعطى الشكل الصحيح المطلوب .
مع تمنياتى بدوام التوفيق
شكراً لك أستاذ على هذا المجهود وهذا العطاء جعله الله في ميزان حسناتك ولاكن يا أستاذ لاتستغلي صفحة الويب على موضوعك لو جعلت كل كود على حدة لكان أفضل للقاريء او المتابع انا كنت فاكر انه برنامج واحد تدخل فيه العبارتين if-else و switch ((تعرف بصفتي مبتديء))ولكم جزيل الشكر


الصورة الرمزية assed
assed
:: عضو فضي ::
تاريخ التسجيل: Jul 2014
الدولة: العراق - بغداد
المشاركات: 1,034
نشاط [ assed ]
قوة السمعة:
قديم 02-06-2017, 10:19 AM المشاركة 45   
افتراضي ملف PDF


السلام عليكم
هذا ملف كامل لهذا الموضوع من اول مشاركة الى هذه المشاركة الذي سرده الاستاذ الفاضل فتح الله عبد العزيز جزاه الله عنى خير الجزاء وجعله الله في ميزان حسانتة وعلمُ ينتفع به الناس .
رابط تحميل الكتاب هنا

وعربون محبة للاخ مسلم 11


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


السلام عليكم
هذا ملف كامل لهذا الموضوع من اول مشاركة الى هذه المشاركة الذي سرده الاستاذ الفاضل فتح الله عبد العزيز جزاه الله عنى خير الجزاء وجعله الله في ميزان حسانتة وعلمُ ينتفع به الناس .
رابط تحميل الكتاب هنا

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


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


الميكروكونترولر PIC16F877A :



الميكروكونترولر PIC16F877A هو واحد من الميكروكونترولر PIC الأكثر انتشارا (شعبية) ، ومن السهل أن معرفة السبب . لأنه يأتى فى شكل دائرة متكاملة 40 طرف نوع DIP (فى صفين) ويمتلك العديد من الأجهزة الطرفية الداخلية peripherals . العيب الوحيد الذى يمكن أن يؤخذ علية هو أنه لا يمتلك ساعة clock داخلية ، مثل كثير من الميكروكونترولر PIC .
الميكروكونترولر PIC16F877A هو متحكم قوى قادر على القيام بالكثير من المهام لأنه يحتوى على ذاكرة برنامج كبيرة بما فيها الكفاية بحجم 8 كيلو كلمة 8k words ، وذاكرة RAM بحجم 368 Bytes ، وذاكرة EEPROM بحجم 256 Bytes وهذا يكفى للقيام بالعديد من المشاريع المختلفة .

السمات الأساسية :
أولا : وحدة معالجة مركزية CPU عالية الأداء ، بناء من نوع RISC ( كمبيوتر بمجموعة تعليمات مخفضة) :
• فقط تعلم 35 تعليمة كلمة واحدة .
• كل التعليمات يستغرق تنفيذها "دورة تعليمة" واحدة باستثناء تفرعات البرنامج ، التى يستغرق تنفيذها 2 دورة تعليمة .
• سرعة (تردد) التشغيل : دخل الساعة 0-20MHz ، و"دورة التعليمة" 0-200 ns .
• ذاكرة البرنامج الفلاش بحجم 8K ، وذاكرة البيانات RAM بحجم 368 بايت ، وذاكرة البيانات نوع EEPROM بحجم 256 بايت .
• ترتيب الأطراف متوافق مع الميكروكونترولر PIC16FXXX ذات 40 طرف .

ثانيا : خصائص الأجهزة الطرفية Peripheral المدمجة داخل الميكروكونترولر :
• المؤقت Timer0 : مؤقت / عداد 8-bit مع "مقياس سابق" prescaler (قاسم تردد).
• المؤقت Timer1 : مؤقت / عداد 16-bit مع مقياس سابق ، يمكن أن يتزايد خلال "النوم" sleep عن طريق الساعة/الكريستال الخارجية .
• المؤقت Timer2 : مؤقت / عداد 8-bit مع مقياس سابق ومقياس لاحق .
• 2 وحدة (موديول) CCP ، (Capture, Compare, PWM) .
• وحدة اتصال تسلسلى متزامن بنظام SPI (نظام قائد Master) ، وبنظام I2C (نظام قائد/منقاد أو تابع Master/Slave ) .
• وحدة اتصال تسلسلى ، ارسال واستقبال متزامن / غير متزامن عام USART .
• منفذ تابع متوازى PSP .
• دائرة كشف "هبوط أو انحسارالجهد" Brown-out من أجل الإعادة عند هبوط الجهد BOR .

ثالثا : الخصائص التناظرية Analog :
• محول من تناظرى لرقمى ADC بدقة تحويل 10-bit ، يغمل مع أى من ثمانى قنوات .
• الإعادة عند "هبوط الجهد" BOR .
• وحدة (موديول) مقارن تناظرى مع :
- 2 مقارن تناظرى .
- وحدة جهد مرجعى VREF قابلة للبرمجة ، مدمجة على الشريحة .
- دخل قابل للبرمجة لاختيار الدخل من مداخل الجهاز ، واختيار جهد المرجع .
- مخارج المقارن يمكن الوصول إليها خارجيا .

رابعا : الخصائص الخاصة للميكروكونترولر :
• ذاكرة برنامج فلاش محسنة ، 100,000 دورة مسح / كتابة .
• ذاكرة بيانات EEPROM ، 1,000,000 دورة مسح / كتابة .
• ذاكرة البيانات EEPROM تحتفظ بالبيانات لمدة تزيد عن 40 عام .
• قابل للبرمجة الذاتية تحت سيطرة البرمجيات .
• قلبل للبرمجة وهو بالدائرة ICSP من خلال طرفين .
• مؤقت حراسة WDT مع مذبذب RC خاص به من أجل الغمل الفعال ,
• حماية الكود ، قابل للبرمجة .
• وضع النوم Sleep ، لتوفير القدرة .
• خيارات المذبذب ، قابلة للاختيار .
• التصحيح فى الدائرة ICD من خلال طرفين .

خامسا : تقنية CMOS :
• تقتية ذاكرات فلاش و EEPROM ، منخفضة القدرة ، سرعة عالية .
• مدى جهد تشغيل واسع من 2.0V إلى 5.5V .
• مدى درجات حرارة تجارى وصناعى .
• استهلاك قدرة منخفض .






مخطط أطراف الميكروكونترولر PIC16F877A :



معظم أطراف الميكروكونترولر PIC16F877A متعددة الوظائف كما هو واضح من الشكل العلوى .
توظيف الأطراف بهذه الطريقة مفيد جدا لأنه يجعل الميكروكونترولر كحزمة أكثر إحكاما دون التأثير على عملها . لا يمكن استخدام هذه الوظائف المتعددة للطرف في وقت واحد، ولكن يمكن تغييرها في أي وقت خلال العمل .
• الأطراف VDD و VSS هى أطراف الإمداد بالقدرة الكهربية . للميكروكونترولر PIC16F877A يكون
VDD = 5V و VSS = 0V .
• الأطراف 13(OSC1) و 14(OSC2) هى أطراف توصيل المذبذب (الساعة) والتى سوف يوفر نبضات الساعة clock اللازمة من أجل عمل الميكروكونترولر .
• الطرف 1(MCLR) هو طرف "الإعادة" Reset للميكروكونترولر ، وهو يكون فعال فى الحالة المنخفضة . يجب توصيل هذا الطرف بالجهد المرتفع VDD من أجل العمل العادى للميكروكونترولر .
• فى الميكروكونترولر PIC ، تقسم أطراف الدخل / الخرج IO (Input Output) فى شكل منافذ مختلفة Ports ، وهى هنا ، PORTA,PORTB,PORTC,PORTD,PORTE . كل منفذ يكون مرتبط بسجلين ، السجل TRIS والسجل PORT ، على سبيل المثال TRISA,PORTA و TRISB,PORTB وهكذا .
السجل PORT والسجل TRIS :
السجل PORT و السجل TRIS هى سجلات تتعامل مع عمليات الدخل / الخرج فى الميكروكونترولر PIC . السجل TRIS يحدد وظيفة (اتجاه) طرف الدخل / الخرج . وجود المنطق “1” على بت من بتات السجل TRIS يجعل الطرف المناظر للمنفذ PORT "دخل" Input ، فى حين وجود المنطق “0” على بت من بتات السجل TRIS يجعل الطرف المناظر للمنفذ PORT "خرج" Output .
السجل PORT يمكن أن يستخدم فى "قراءة" أطراف الدخل أو "كتابة" حالات أطراف الخرج . لطرف الخرج ، المنطق “1” فى بت من بتات السجل PORT يجعل الطرف المناظر فى الحالة المرتفعة HIGH(VDD) ، فى حين أن المنطق “0” فى بت من بتات السجل PORT يجعل الطرف المناظر فى الحالة المنخفضة LOW(VSS) .
قراءة السجل PORT ، تقرأ مستوى الجهد الفعلى على أطراف الدخل / الخرج . إذا كان مستوى الجهد بالقرب من المستوى المرتفع HIGH(VDD) ، فإن بت السجل PORT المناظرة سوف تكون بالمنطق “1” ، وإذا كان مستوى الجهد بالقرب من المستوى المنخفض LOW(VSS) ، فإن بت السجل PORT المناظرة سوف تكون بالمنطق “0” .





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


ربط الليد والسفن سيجمنت بالميكروكونترولر :
الليدات المشعة للضوء LEDs :

الليد هو مصدر ضوئى صغير من مادة شبه موصلة ، يستخدم أساسا لبيان حالة الدوائر الإلكترونية ، على سبيل المثال ، بيان وصول القدرة الكهربيىة إلى الدائرة . الشكل التالى يبين الليد ، رمز الدائرة الكهربية يشبه الدايود . الليد له طرفين (رجلين) ، الطرف الأطول هو "الأنود" والطرف الأقصر هو "الكاثود" . أيضا يتم التعرف على الكاثود عن طريق الجانب المسطح من الجسم . شدة الضوء المشع بواسطة الليد تعتمد على كمية التيار الأمامى المار خلال الليد . على سبيل المثال ، الليد الأحمر يكون له شدة إضاءة مناسبة عند مرور تيار قيمته 10 ملى أمبير .



معظم الليدات يكون لها هبوط جهد بقيمة 2V ، بينما الليد الأزرق والأبيض يمكن أن يصل جهدة إلى 4V . عامة ، تيار التشغيل يكون فى حدود 10 ملى أمبير ، يوجد ليدات تعمل على تيار منخفض .
الشكل التالى يبين توصيل الليد بطرف منفذ خرج الميكروكونترولر .



على فرض أن جهد خرج طرف المنفذ يكون 5V عندما يكون طرف المنفذ فى الحالة "المرتفعة" ، وعلى فرض أن الليد يعمل بتيار قيمته 10 ملى أمبير ، وأن هبوط الجهد عليه 2V ، يمكننا بسهولة حساب قيمة مقاومة الحد من التيار كما يلى :



المقاومة الأقرب عمليا هى 330 أوم . من المهم ملاحظة أن طرف الدخل / الخرج للميكروكونترولر يمكن أن يعطى تيار حتى 25 ملى أمبير ، ومن ثم فإن الليدات يمكن تشغيلها بتيار أكبر عند الرغبة ، بغرض الحصول على شدة إضاءة أكثر .



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