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

   

الصورة الرمزية soukdok
soukdok
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2012
المشاركات: 155
نشاط [ soukdok ]
قوة السمعة:
قديم 25-06-2013, 11:41 AM المشاركة 49   
افتراضي



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

ROM
كلمة إنجليزية اختصاراً لـ : Read Only Memory
وهي مخصصة للقراءة فقط ، وهي مخصصة للتعديل إلا في حالات معينة وباستخدام تقنية معينة ، وهي عبارة عن ذاكرة يتم فيها تحميل بيانات أو معلومات أو برامج
وهي هنا برنامج داخلي اساسي والذي يتحكم بطريقة العمل والتعامل مع السجلات وتأثيراتها على بعضها وفيها ايضاً البرنامج الذي يكتبه المبرمج
وهذا لأن البيانات المخزنة على الروم لا تضيع في حالة فقدان التيار الكهربائي المغذي لها ، فلو انقطعت التعذية لن تذهب تلك البيانات مثل الهاد ديسك
ارك ضربت مثلا بهارد ديسك وهل يصح القول أنه من نوع روم
فأنا أرى خلاف ذالك لأنه يمكن القراء منه وكتابة أيضا هذا ممايعني أنه الرام
ربما الان ومن خلال اعادة تفكير في أمر أظن بأنا البرنامج يخزن في الروم وجملة(Read Only Memory)أظنها موجه للمستخدم العادي وليس للمبرمج



RAM
وهي اختصارا لـ Random Access Memory
وهي ذاكرة الوصول العشوائي ، وفيها يتم تخزين البيانات ومنها تتم عملية قراءة المعلومات والمعالجة لها ، والبيانات الموجودة في الذاكرة رام تتلاشي وتذهب في حالة انقطاع التيار الكهربائي عنها واذا كانت تلك المعلومات مهمة للتعامل مع البرنامج فلابد من استعادة البيانات المخزنة في الذاكرة روم إلى الذاكرة رام

أما بالنسبة لسؤالك عن تعليمة CLRF
تعني CLEAR FILE => مسح ملف او سجل

أما بالنسبة للسؤال عن الكود فأقول لك نعم ممكن
مثلاً رقم PORTA في المعالج هو h'05' ورقم trisa هو h'85'
فإذا استخدمت الرقم 5 في كلا البنكين فإن المعالج سيعمل بشكل صحيح
أي أن المعالج سينظر إلى الرقم 85 في البنك 0 على انه 5 وفي البنك 1 ال5 ستكون معناها 85
لاحظ أن الفرق لكل ما يقابله في البنك الآخر هو دائماً 80 سداسي عشري

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


التعديل الأخير تم بواسطة : soukdok بتاريخ 25-06-2013 الساعة 11:47 AM
اعلانات

sskk77
:: مهندس متميز ::
تاريخ التسجيل: Jan 2005
المشاركات: 711
نشاط [ sskk77 ]
قوة السمعة:
قديم 25-06-2013, 01:11 PM المشاركة 50   
افتراضي


ارك ضربت مثلا بهارد ديسك وهل يصح القول أنه من نوع روم
فأنا أرى خلاف ذالك لأنه يمكن القراء منه وكتابة أيضا هذا ممايعني أنه الرام
ربما الان ومن خلال اعادة تفكير في أمر أظن بأنا البرنامج يخزن في الروم وجملة(Read Only Memory)أظنها موجه للمستخدم العادي وليس للمبرمج




عموما شكرا جزيلا لك وأثمنى ألا أكون قد أزعجتك كثيرا بهذه أسئلة أستاذي العزيز
لا أخي مافي ازعاج
أما بالنسبة لمثال الهارد فالمقصود انها لا تذهب البيانات بذهاب الطاقة كما هو في الهارد فقط من هذه الناحية أما بشكل عام فالهارد يحتوي ايضاً على روم ورام في شرائحه غير القرص

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

Tico
:: عضو ذهبي ::
تاريخ التسجيل: May 2012
المشاركات: 1,423
نشاط [ Tico ]
قوة السمعة:
قديم 25-06-2013, 02:05 PM المشاركة 51   
افتراضي


السلام عليكم
أخي الكريم شكرا جزيلا على الدروس القيمة ..
إذا سمحت لي أحتاج الى بعض التوضيحات لو ممكن:
1- لماذا لترجمة كود الاسمبلي (الملف CODE1) الى ملف HEX ، استخدمت برنامج Mpasm ولم تستخدم البرنامج الكامل Mplab ؟ هل هذا مرتبط بمرحلة معينة من الدورة ام هو اختيار نهائي؟
2- في الكود ، لماذا قمت بتحديد المسجلات المعنية بعناويها في ذاكرة المتحكم .. و لم تحددها بأسمائها وهي :
STATUTS مسجل لاختيار اي بنك من المتحكم (بالبت 5 منه)
TRISB لتحديد اتجاه طرف المنفذ "ب" هل هو خرج ام دخل .. (هذه المرة خرج)
PORTB هو اسم المنفذ الذي تمت برمجة أطرافه الثمانية طرفا ، طرفا، كخروج ..
اي ان كل طرف سيخرج حهدا = 5 فولت وهو جهد تغذية المتحكم.

أعتقد ان ذكر الاسماء سيحقق ربطا مباشرا مع جاء في الدرسين السابقين مما سيساهم في حصول الفهم.


الصورة الرمزية soukdok
soukdok
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2012
المشاركات: 155
نشاط [ soukdok ]
قوة السمعة:
قديم 25-06-2013, 08:52 PM المشاركة 52   
افتراضي


في درس الأول قلت( RA0-RA4 ) :وهي الأطراف الخاصة بالمنفذ A يمكن أن يكون لإدخال أو إخراج البيانات هل تقصد من المنفذRA0 الىRA4 هذا مافهمته عندما ربطت الدرسان معا من خلال شرحك للمسجلان TRSA-PORTA لاحظت أنهم يحتويان على5بتات وكل بت يمثل أحد هذه المنافذ
عذرا قد يبدوا سؤال سخيف ولكنني لم يسبق لي التعمل مع المكرو شيب



الصورة الرمزية soukdok
soukdok
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2012
المشاركات: 155
نشاط [ soukdok ]
قوة السمعة:
قديم 25-06-2013, 08:59 PM المشاركة 53   
افتراضي


وهل يصح القول ( RB0-RB7 ) :وهي الأطراف الخاصة بالمنفذ B يمكن أن يكون لإدخال أو إخراج البيانات
فماشتث أفكاري هو قولك
( RB0-RB4 ) :وهي الأطراف الخاصة بالمنفذ B يمكن أن يكون لإدخال أو إخراج البيانات أظنه خطأ في طباعة أو سهو ليس الا


التعديل الأخير تم بواسطة : soukdok بتاريخ 25-06-2013 الساعة 09:07 PM

sskk77
:: مهندس متميز ::
تاريخ التسجيل: Jan 2005
المشاركات: 711
نشاط [ sskk77 ]
قوة السمعة:
قديم 25-06-2013, 09:15 PM المشاركة 54   
افتراضي


السلام عليكم
أخي الكريم شكرا جزيلا على الدروس القيمة ..
إذا سمحت لي أحتاج الى بعض التوضيحات لو ممكن:
1- لماذا لترجمة كود الاسمبلي (الملف code1) الى ملف hex ، استخدمت برنامج mpasm ولم تستخدم البرنامج الكامل mplab ؟ هل هذا مرتبط بمرحلة معينة من الدورة ام هو اختيار نهائي؟
2- في الكود ، لماذا قمت بتحديد المسجلات المعنية بعناويها في ذاكرة المتحكم .. و لم تحددها بأسمائها وهي :
statuts مسجل لاختيار اي بنك من المتحكم (بالبت 5 منه)
trisb لتحديد اتجاه طرف المنفذ "ب" هل هو خرج ام دخل .. (هذه المرة خرج)
portb هو اسم المنفذ الذي تمت برمجة أطرافه الثمانية طرفا ، طرفا، كخروج ..
اي ان كل طرف سيخرج حهدا = 5 فولت وهو جهد تغذية المتحكم.

أعتقد ان ذكر الاسماء سيحقق ربطا مباشرا مع جاء في الدرسين السابقين مما سيساهم في حصول الفهم.
أخي العزيز أهلاً بك ومرحباً نحن اتفقنا بأن نبدأ من البداية والتبسيط ما أمكن
بالنسبة للبرنامج mpasm فهو المسؤول عن التحويل الى هيكس فلذلك استخدمناه
لكني اظن ان سؤالك لماذا لم نستخدم mplab لكتابة الكود وأقول لك أخي هنا لا فرق في الاستخدام ان كان هو ام اي برنامج نصي مثل المفكرة والدفتر السبب الرئيسي هو كي لا يكون ربط بأن هذا البرنامج فقط هو القادر على عمل هذا
فأقول لك بأن نفس الملف يمكنك فتحه باستخدام mplab دون مشاكل

أمام بالنسبة للمسميات والأرقام فإن المعالج لا يفهم إلا الأرقام ولا يفهم المسميات
فإن أي كود تقوم بكتابته بالمسميات فأن mpasm سيعيد تلك المسميات إلى أرقام كما نتعلمها الآن
المسميات للمبرمج للتعامل معها وسيأتي دورها في وقت لاحق لنفهم كيفية وضع المسميات لتسهيل العمل والغاية هنا الآن أن يفهم الجميع كيف يعمل هذا المعالج
هو لا يفهم الأسماء أبداً وكما قلت ستتأكدون بأنفسكم في الدروس القادمة

لا أوافقك باستخدام الأسماء من البداية وذلك لسبب تعليمي لكي يرتبط في ذهن المتعلم ربطاً وثيقاً بتجارب بأن كل اسم يقابله رقم

أنت استخدمت ملف تعريف المعالج ليمكنك من وضع المسميات وهذا ايضاً سيأتي دوره في وقت لاحق لكن لن يكون رئيسياً لأنك باتباعك تلك الدورة ستتمكن من وضع المسميات التي تريد والبالشكل الذي تريد من دون استخدام هذا الملف المحدود بالتسميات فأنا يمكنني أن أسمي 'h'06 وهو رقم portb يمكنني أن اسميه أي اسم يريحني في كتابة الكود شرط أن لا يكون هذا الإسم كلمة محجوزة لعملية ما
سنفهم ذلك لاحقاً بالتفصيل

وأخيراً أهلاً بك أخي الغالي واي سؤال أخر أنا بالخدمة


Tico
:: عضو ذهبي ::
تاريخ التسجيل: May 2012
المشاركات: 1,423
نشاط [ Tico ]
قوة السمعة:
قديم 25-06-2013, 09:23 PM المشاركة 55   
افتراضي


شكرا لك أخي العزيز
على هذه التوضيحات المفيدة
وأعانك الله على إتمام هذه الدورة الرائعة ..
جزاك الله خيرا ..


sskk77
:: مهندس متميز ::
تاريخ التسجيل: Jan 2005
المشاركات: 711
نشاط [ sskk77 ]
قوة السمعة:
قديم 25-06-2013, 09:24 PM المشاركة 56   
افتراضي


وهل يصح القول ( RB0-RB7 ) :وهي الأطراف الخاصة بالمنفذ B يمكن أن يكون لإدخال أو إخراج البيانات
فماشتث أفكاري هو قولك
( RB0-RB4 ) :وهي الأطراف الخاصة بالمنفذ B يمكن أن يكون لإدخال أو إخراج البيانات أظنه خطأ في طباعة أو سهو ليس الا
لم أنتبه إلى ذلك فأكيد أنا أقصد PORTA RA0-RA4 و PORTB RB0-RB7
سأراجع الدرس وأصحح ذلك
أكيد سهواً أخي

وأشكرك على ذلك التنبيه


التعديل الأخير تم بواسطة : sskk77 بتاريخ 25-06-2013 الساعة 09:38 PM


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