|
| قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots |
|
|
|
|||||||||||||
فرق البك عن ال 8086 هو ان ال8086 لا يحتوي على ضفف او banks عكس البك فمثلا بك 16f877a يحتوي على اربعة ضفف وكل ضفة تحتوي على ريجسترات معينة فالضفة الاولى تحتوي على بورت اي والضفة الثانية تحتوي على TRISA فلذلك عندما نحتاج ان نستدعي بورت اي -- في بداية البرنامج نستدعي الضفة الاولى وعندما نريد استدعاء TRISA ننتقل الى الضفة الثانية فمن الممكن تشبيه العملية اشبه بميناء بحري يتكون من عدد من الضفف والسفن والضفة هي bank والسفينة هي register كما ترى في الصورة الاتية صورة توضح الميناء ص17 بالداتاشيت فاكيد انا اقصد تحليل الكود باللنسبة للبك
فمثلا لو اخذنا احدى تعليمات instruction او اوامر .. ال 8086 وهي "mov" عندما تترجم الى لغة الالة بكود "10111" ولكن في حالة المايكروكونترولر او الاتميل ستترجم الى "0100111" فهنا الاختلاف يكون بالكومبايلر او المترجم الخاص بالعائلة علما ان هذا الكود اعطيته مثالا وليس صحيح ولكن هناك جداول خاصة توضح كل تعليمة والكود المقابل لها بلغة الالة
لو كان مكتوب بالسي كود:
for (5>x<10){
};
كود:
mov al,05 mov bl,10 loop: inc al cmp al,bl jnae loop
وانا لم اقصد ان الرام هو من ينفذ البرنامج ولكن البرنامج يكتب بالرام ويتم نقله للبروسيسر ليتم معالجته بوحدة ال ALU اما عند كتابة البرنامج بالاسيمبلي فانت تكتب البرنامج بالريجسترات الخاصة بالبروسيسر وستتم العمليات بصورة اسرع بدون اي استهلاك للوقت لنقلها من الرام الى البروسيسر
هل تؤيد هذه النظرية وهل تعتقد انها ستزيد من ذاكرة الرام ويمكن كتابة برامج طويلة او اطول من ما لو كتبنا بلغة السي فقط
12 فولت مستمر يتم تقليلها بواسطة زينر 5 فولت لغرض الايسيات وال 12 فولت لغرض الريلاي طبعا الاسئلة خرجت عن الموضوع وقد اخبرتك سابقا لك كل الحق بان تجيب على الاسئلة او لا تجيب وانك غير مجبر على الاجابة ولك كامل الوقت باالاجابة واعذرني على الاطالة واشكرك على المتابعة التعديل الأخير تم بواسطة : yasirh88 بتاريخ 09-09-2015 الساعة 03:12 AM |
| اعلانات |
|
|||||||
كنت أقوم بتدريس فرقة ميكرو بروسيسور لعدد من الفرق فى بداية التسعينات لميكرو انتيل 8080 و قرينه Z80 من شركة زيلوج و الذى تبنته أغلب الشركات فى الحاسبات الشخصية القليلة الكلفة ما عدا IBM و ميكرو 6800 لشركة موتورولا وهو شهير فى عالم التحكم و الماكينات و 6502 لشركة روكويل و الذى تبنته شركة أبل لكل عائلة منها لها لغة أسيمبلى مختلفة لوضع بيان مثلا الرقم 5 فى A للأولى تكتب MOV A,#5 بينما فى الثانية تكتب LD A,#5 و هكذا فرجاء لا تفرض ما تظنه على أنه واقع
عندما تقوم بترجمه Compile لبرنامج ينتج عنه عدة ملفات واحد بامتداد .HEX و واحد بامتداد .BIN و الأخير هو ملف بلغة الآلة لآنه Binary بلغة الآلة و تعبر عنه وسائل العرض المتخصصة Hex Editors بالأرقم الهكسا للتسهيل و لذلك فهو أصغر حجما من أى ملف آخر - فقط باينرى كود ولا يمكنك تعديله ولا قراءته بقارئ نصوصوص مثل NotePad مثلا. ولا يوجد بداخله أى تنسيق . أما ملف الهيكس فهو ملف نصى TEXT File يبدأ كل سطر فيه بالرمز":" ثم مجموعة بيانات تحدد كم بايت يضم هذا السطر و بعض النسق مثل عنوان هذا الجزء الذى يذهب إليه فى ذاكرة الميكرو او الميمورى التى يوجه إليها أو إزاحة Offset ليمكن الوصول لسعات كبيرة ثم بعد ذلك القيم لكل بايت ولكن بحروف نصية ثم فى نهاية السطر CRC لتفاصيل ملفات الهكس و بالمناسبة هى أكثر من نظام اقرأ https://en.wikipedia.org/wiki/Intel_HEX وهذا برنامج بالأسيمبلى لأتميل و ترجمته .HEX و أيضا .BIN و شوف فرق الحجم و التركيب لكل ملف و دور أى مبرمجة تعمل بنظام هكس أن تحوله لباينارى قبل وضعه فى الهدف أما التى ستقرأ .BIN فستضعه كما هو بدأ من موقع صفر فصاعدا
فى الميكرو بروسيسور يوضع البرنامج فى الرام ولهذا يمكن لكود البرنامج أن يعدل نفسه و إن كان غير محبب لدى المبرمجين لصعوبة تتبعة لاحقا أما الميكرو كونتروللر فلا - البرنامج فى الميكرو كوتروللر يوضع فى الفلاش وهى غير قابلة للتعديل وهى فى البيك 14 بت بينما الداتا 8 فقط و لا يمكن للكود أن يعدل البرنامج فى EEPROM بينما يعدل الداتا فقط ايضا ما معنى أنك تكتب فى الريجيترات الخاصة بالبروسيسور، هل فى السى لا تكتب فيها؟ الريجسترات محدودة ولا يتكب فيها شيء فقط تنقل البيانات منها و إليها من موقع آخر سواء كان هذا الموقع خطوة من البرنامج أو ريجستر آخر أو ذاكرة بيانات Data Ram أو مدخل من خارج الوحدة بورت فى الميكرو كونتروللر أو الداتا باص فى الميكرو بروسيسور
مكثف التقويم موجود داخل مصدر التيار المستمر و المقصود هنا أن هذا الدايود سيجعل تفريغ مكثف RESET يتبع جهد التغذية القادم من المصدر و الذى أظنه بعد الزينر 5 فولت و يمكنك زيادة تأثير مكثف التقويم بوضع واحد على البوردة أيضا على 12 فولت و آخر على 5 فولت الدايود أيضا 1N4148 كالسابقين |
| اعلانات اضافية ( قم بتسجيل الدخول لاخفائها ) | |
|
|
|
||||||
ولكن عندما اوضحت الامر ورايت الاكواد تغيرت نظرتي واصبحت اعرف ان لغة الاسمبلي تختلف وليست واحدة واني كنت على خطأ فانا درست هذه اللغة بالجزء الخاص بال 8086 ولم اتطرق الى اي معالج اخر لذلك اعتقدتها هية عامة حالها حال لغة السي
ولم تبقى الا نقطتين للايضاح وسنترك هذا الموضوع نهائيا الاولى عند عمل build ببرنامج المايكروسي فهو يستخدم ذاكرتين الرام والروم هل يمكنك توضيح هذه النقطة لماذا استخدم الذاكرتين ولم يستخدم واحدة الثانية هي في 8086 كما قلت لك هناك اربع ريجسترات وعدد من السيجمنت لغرض اجراء العمليات فيها لكن في البك لاحظت عدم وجود هذه الريجسترات وعندما اذهب الى صفحة ال map اجد البورتات وال intcon وال tris ومواقعها في الرام ولكن كما تعلم اخي هذه الخانات لا يمكن نقل بها قيم لان لها معنى فلا يمكن ان نخزن قيمة معينة في موقع الذاكرة الخاص بال intcon او option reg فهذا يعني اننا سنقوم باطفاء او تفعيل التايمر زيرو او تفعيل حالة تغير الفولتية على بورت اي او بي هل يمكنك ان تخبرني اين اجد البورت اي واين اجد السيجمنت التي يمكن الخزن بها عدا السيجمنت الخاصة التي لا يمكن تغيير قيمها
الا تعتقد بان هذه المتسعة لها علاقة .. هل من الممكن ان تكون السبب في تشغيل ال 555 وبالتالي العداد ... اعلم اخي انها لا تعتبر مشكلة ولا اهتم بها لهذا المشروع ابدا ولكن مستقبلا عندما اواجه مثل هذه الحالة وفي دوائر حساسة ستفيدني كثيرا هذا كل ما لدي واذا وجدت اي خطأ يسعدني ان تصححه فهذه معلومات امتلكها ولن افرضها على احد وقابلة للتغيير واتمنى ان تتمالك اعصابك فنهاية الموضوع قربت ![]() تحياتي لك اخــــي العـــزيــــز التعديل الأخير تم بواسطة : yasirh88 بتاريخ 10-09-2015 الساعة 12:38 AM |
|
|||||||
لهذا قبل أن نحكم أيها أسرع نذكر كم خانة ريجيتر متوافر و هل تستطيع أن تبقى كل حساباتك داخلها أم لا ولهذا السبب الوحدات الحديثة حتى من الميكرو كونتروللر زادت عدد الريجيترات إلى 32 حتى يمكنك أن تضع فيهما رقمين عشريين لكن مازالت المشكلة أنك يجب أن تذهب كل مرة إلى ALU و التى تخرج للمراكم Accumulator فقط و هنا اللعب بالألفاظ مستخدم دوما فى الشرح دون التفاصيل فدوما يذكر أن الحساب من الريجستر أسرع من الذاكرة هذا صحيح لو لم تحتاج تأتى بالبيانات أصلا من الذاكرة ثم تعيد النتائج ثانيا لها قارن بين الحالين التاليين نقل الرقم الأول من الذاكرة للريجستر 1 نقل الرقم الثانى من الذاكرة للريجستر 2 جمع الرقمين و النتيجة ستذهب للمراكم Accumilator نقل النتيجة من المراكم للذاكرة و بين نقل البيان الأول للمراكم جمع المراكم على الرقم الثانى مباشرة من الذاكرة نقل النتيجة للذاكرة وهذا الكلام يخص الميكرو بروسيسور فقط لأن الرام خارج الوحدة وقد تكون بطيئة و غالبا ابطأ من الميكرو لذا أضافوا مدخل له يسمى Wait أو غيرة من الأسماء لينتظر الميكرو بروسيسور المحيط peripheral حتى يضع الداتا على الداتا باص أما الميكرو كونتروللر فالذاكرة و الريجيستر كلاهما فى داخل الوحدة و الفرق بينهما بسيط و الوحدات الحديثة اصبحت متساوية كانت واحدة تأخذ دورة و الأخرى دورتان دون انتظار لشيء و كثير من الوحدات الأحدث ساوت بينهما
لكن للميكرو كونتروللر أى منهم مجرد خانة ذاكرة و تستطيع إعطائه اسم آخر و ما تضع به رقم فى أى ريجستر أو ذاكرة تضع به فى A وهذا فى أتميل لكن بيك لم استخدم اسيمبلى معه و لم افكر فيه
إذن هو يوضح لك كم استهلكت من المتاح لك كبرنامج حتى لا تتعداه و أثناء التشغيل ستستهلك كم من المتاح لبياناتك فقد تطلب توفير أكثر من المتاح فيعطيك رسالة خطأ
http://www.qariya.info/vb/showthread...549#post977549 البيك 16 به 2 فقط أتميل به 8 إضافة لل A,B لا تبحث عن ما هو موجود فى الميكرو بروسيسور فى الميكرو كونتروللر فكلاهما لعالم مختلف
مهمة المكثف الذى وضعته فى الدائرة أن يفرض RESET ويوقف العداد فترة البدء وهى زمن = هذا المكثف × المقاومة 10ك و لو استبدلته بآخر 100 ميكرو سيقف العداد لمدة حوالى ثانية قبل أن يستجيب مرة أخرى لل 555 |
|
||||||||||||||
ثانيا ما هو الرقم العشري هل تقصد مثلا "0.3453" لكن كيف سيحسب قيمته هل تحسب على انه 8 بت او 16 هل يمكنك اعطاء مثال ثالثا ما الذي يمنع الشركات من صنع مايكروبروسيسر يحتوي على 8 ريجسترات ويتم تخصيص اربعة منها لعمل ال ALU -وهذا على سبيل المثال- وبذلك ستتم العمليات في اربعة ريجسترات بدل الواحد في وقت واحد ويتم التحكم بهذه العمليات بواسطة Execution Unit او وحدات سيطرة وبذلك نمنع تداخل الداتا مع بعضها وهناك اربع خطوط لنقل النواتج الى الرام وايضا يتحكم بها داتا باص
يا اخي انا من مشجعي البك وانت من مشجعي ومحبي الاتميل وانا بدأ الفضول لدي واود ان اعرف ما هو فرق الاتميل عن البك الاعتيادي؟ وهل يتقبل لغة السي ام فقط الاسمبلي؟ وهل توجد به نوعيات ام نوعية واحدة؟ هل تنصحني ان اترك البك والجأ الى الاتميل؟ هل سعره اغلى من البك ام نفس الاسعار؟
وباللنسبة لهذا الموضوع فهو اكثر من رائع والفقرة الاخيرة هل قمت باضافتها حديثا فانها غير موجودة بملف البي دي اف وهناك بعض الغموض اول شي سؤال : "الثانى وهو الميكرو كونتروللر نشأ عندما تطور الميكروبروسيسور من 8 بت إلى 16" هل تقصد تطور الريجسترات الموجودة بالبروسيسر مثلا a , b, c فعلى سبيل المثال في ال 8086 هذا الكود كود:
mov Ax,1234H ناتي للغموض اولا
ثانيا
مداخلة
ام شئ اخر يسمى half carry, carry
الدائرة
هناك سؤال في بالي ولكني محرج يا اخي ... هل يمكنك ان تتكلم عن مراحل عمل الحاسوب يعني عند تشغيل الكومبيوتر ماذا يحدث بالضبط هل يتم تصفير قيم البروسيسر ام ماذا ... عند ظهور الشاشة السوداء في بداية التشغيل ماذا يحصل ... عند بداية الوندوز ماذا يحدث هل يتم تهيئة ملفات الريجستري -اذا مطلع على العمليات التي تجري في الحاسوب alt+ctrl+del بها احدى العمليات باسم svchost.exe ليست واحدة بل اكثر من واحدة ولا يمكن الغاء اي واحدة لانها تابعة للنظام ... وهناك ما يسمى بال privacy policy ما هو هل يعتبر جزء موجود في جميع نسخ الوندوز ام شئ اضافي ... عند تشغيل برنامج معين مصنوع مثلا بالفيجوال بيسك عند الضغط على كومند بالبرنامج سيظهر صورة كيف سيقرا البروسيسر هذه العملية وكيف سيظهر الصورة هل الصور تحتوي على اكواد معينة ... علما ان الموضوع ليس بالسهل وانه اذا اردنا التحدث عنه سنحتاج ايام وصفحات ولكني لا اريدك ان تتكلم بالتفصيل عن خطوة خطوة ولكن ما اريده فقط اسماء المراحل التي تتم بعدها يمكنني البحث عن المراحل في الانترنيت ودراستها ... في حالة عدم الرد على هذه الفقرة ساتركها ولن اسالك ابدا عليها مرة ثانية بعد الهدوء عاصفة ... هذه عاصفة من الاسئلة اتمنى تتماسك اعصابك معي وما تغلق الموضوع او تقوم باي عمل تهوري يؤدي الى خسارة الحاسبة او كسر شئ ما ![]() وراح احاول انهي الموضوع باسرع وقت بس خل تخلص الاسئلة
التعديل الأخير تم بواسطة : yasirh88 بتاريخ 11-09-2015 الساعة 02:20 AM |
|
||||||||||||||||||||||
معذرة أرجو أن لا تكرر أخطاء أغلب من اتعامل معهم قل البروسيسور أو الكونتروللر لأن البك واحد من مجموعة كثيرة لها اسمائها و خواصها لكن الدعاية أعطت شهرة أكبر لمنتج ميكرو تشيب - هناك على الأقل 6 شركات تنتج ميكرو كونتروللر بعضها متقارب و الآخر مختلف تماما قلت هنا الوحدات لأن الكلام صحيح للحالتين فالميكرو بروسيسور الحديث 23 بت و 64 بت و بداخله أظن 32 ريجستر و الأجيال الحديثة من الميكرو كونتروللر أيضا تنتقل لهذا الإتجاه رغم معارضة المستخدمين كثيرا لأنه يفقد أهم خاصية للميكرو كونتروللر وهى البساطة أتميل AVR بداخلة 32 ريجستر × 8 بت و 6 ريجستر منها يمكن جمع كل 2 لتكوين 3 ريجستر × 16 بت
حسابه معقد لذلك يتم فى الميكرو بروسيسور داخل وحدة متخصصة نشأت باسم Co-Processor و تحولت لإسم Math processor و أخيرا دمجت بداخل الميكرو و الأوامر تتداول حسب نوع الأمر فى داخله أما الميكرو كونتروللر فالأمر كله Software و الأوامر التى تتم HW لا تعدو الضرب للأرقام الصحيحة و كانت القسمة فى أتميل ولا أدرى لماذا هجرت فى AVR للفهم العام اليك هذا الرابط https://en.wikipedia.org/wiki/Double...g-point_format أما ما يخصك فهو من المترجم Compiler الذى تستخدمه فهو ما يحدد عدد البايت المستخدم الخ فى ميكرو سي للبك تجده فى ملف المساعدة، ثالث موضوع من الأسفل mikroBasic PRO for PIC Language Reference > Types > Simple Types >
البعض أضاف EEPROM لتستطيع حفظ بيانات عند انقطاع التيار أو RESET لأى سبب بدلا من استخدام وحدة خارجية مثل 24C01 و لها اوامر خاصة
البيك ستجد مكان و عنوان لكل ريجستر ولا يوجد به A لأتميل أيضا به مواقع ذاكرة مخصصه لهذه الأماكن البورت و الأكيوميليتور A,B الخ المسأله تعود للمترجم الذى تستخدمه بعض البرامج تسمح أن تعطى أسماء للريجسترات كما تعطى أسماء للبورتات فكما يمكنك أن تسمى بورت A باسم LCD_Data و بعدها كل مرة تريد كتابة شيى على الشاشة تستخدم هذا الإسم يمكنك أيضا أن تعطى ريجستر أسم و تستخدمه فمثلا فى أتميل 8 ريجستر منها R0,R1 تسمح ب Indirect Address فيمكنك تسمى R0 باسم Table و بدلا من الطلب حيث R0* تستخدم الإسم للسهولة *Table لكن بعض البرامج قد لا تقبل أن تعطى اسماء لها و يمكنك التحايل حول ذلك ففى النهاية هى مكان فى الذاكرة تكتب فيه زى أى مكان آخر فكل البرامج تسمح أن تعطى لأماكن الذاكرة أسماء
البك به F,W الاتميل به A,B + 8 يمكن نقلها البك 32 أمر فقط لكن الأتميل حوالى 120 أمر منها الضرب و القسمة لا يتعامل مع BCD - يتعامل مع BCD لا يوجد Index register - يوجد به واحد و البعض 2 ذاكرة البرنامج 12 بت مختلفة عن الداتا - الإثنين 8 بت لا يقرأ الكود للأكيوميليتور ولكن هناك وسيلة للتحايل - يقرأ الكود و من ثم يمكنك حفظ جدول كبير كجزء من البرنامج ثم تقرأ منه به 5 بورت غير منسقة 2 منها فقط 8 بت - به 4 بورت كل منها 8 بت و كل أطرافها متتابعة تسهل كثيرا عمل البوردة البرمجة بالأسيمبلى صعبة جدا - البرمجة بالأسيمبلى سهلة و غيرها كثير
السى و الأسيمبلى و البيزك و الباسكال و الرسومية كلها فى النهاية تولد إما ملف هيكس أو ملف باينارى أو الإثنين معا طبقا لنوع الميكرو بروسيسور او الميكرو كونتروللر المختار وهذا ما تتعامل معه المبرمجة لتحوله إلى باينارى داتا تذهب للميكروكونتروللر
الأسعار متقاربة و ما تحبه أكثر استخدمه
![]() أولا هى فى EEprom و عند البدء تقرأ منها مباشرة لل ALU و إن كان الأمر يخص بورت مثلا لا يتعامل مع الرام إطلاقا حتى فى الميكرو بروسيسور لا تنتقل من الرام للريجستر هى تنتقل للكاش وهذا فرق كبير
أقصد فى PIC16xxxxx يوجد 2 فقط أما اتميل فكما ذكرت A,B و 8 أخرة R0:R7 هى ريجسترات
بدأت القصة كما بالمنهج ALU من 4 بت و كانت أساس الحاسبة الأولى التى ظهرت لأربع عمليات جمع و طرح و ضرب و قسمة فقط ثم طورت بإضافة الجذور التربيعية و العلامة المئوية % وكانت قمة التكنولوجيا و مكلفة جدا حتى أن الناس كانت تظن أن عندما تحسب جذر 3 ثم حسب مربع الناتج فتحصل على 2.999999999 أن هذا دقة عالية بدلا من الخطأ ظهر 8080 من انتل و كان طفرة لكن معوق لكثرة المكملات المطلوبة ليعمل فظهرت شركة زيلوج و انتجت Z80 و يحتوى 2 من 8080 داخلها تنتقل بينهما بأمرين فقط واحد ينقل A,B و الثانى باقى الريجسترات ال 8 ولا تحتاج سوى كريستال لتعمل و زودت بعض التعاملات على 16 بت ريجيستر كانت عمليات 16 بت لحساب العنوان Address فقط حيث كان أقصاه FFFF و إضافات زيلوج كانت جيدة لكن محدودة كسحت Z80A الأخرى 8080 لأنك تتعامل مع الشاشة بزوج ثم تنتقل للبرنامج بالزوج الآخر حتى أن انتيل انتجت 8085 ولكنها كانت متاخرة كانت أيضا شركة ثالثة وهى موتورولا صنعت 6800 وهى رائعة للماكينات الخ بدأ التنافس بعد ذلك لإنتج الجيل الجديد 16 بت انتجت انتيل 8086 و 8088 و زيلوج Z8000 و موتورولا MC68000 شركة IBM و اعتمادها على منتج انتيل قد أعطاه الصيت و الشهرة ولا يعنى هذا أنه الأفضل و مازالت باقى الشركات تنتج هذه الميكروبروسيسور و تطورت أيضا انتيل اتجهت لتبسيط الميكرو بروسيسور وكان خط 8085 لم يكن الأمثل فابتكرت الميكرو كونتروللر C51 للإستخدامات المتخصصة فهو مطلوب بشدة فليس كل جهاز يحتاج 16 بت بتعقيداته خاصة أن فى ذلك الوقت ثمن الرام كان غاليا و من المعتاد أن تجد حاسب يعمل ب 2ك كجهاز يقدم العاب و يقوم بعمل جيد أما 16ك فكان رفاهية وال64 ك كان احترافيا و ابحث عن ما كان على متن ابوللو 11 اول ما نزل على القمر لسبب أو لآخر لم تكمل انتيل خط C51 و باعته لشركة ATMEL التى استمرت فى انتاجه و طورته و أصبح مقرونا باسمها التطور هنا يكون البنية كلها داتا باص يصبح 16 بت ، كل الريجسترات تصبح 16 بت و Address Buss يصبح 24 بت و حجم الميكرو من 40 طرف إلى 48 طرف أو أكبر مما يستهلك كثير من حجم البوردة مقارنة بالوحدات 20 طرف إضافة للسعر ولما وصلنا للوحدات الأكبر و الأسرع أصبح الشكل لا يناسب الهواة ولا الشركات الصغيرة و المتوسطة و أصبح لزاما عليهم الإتجاه للشركات المتخصصة التى تستطيع التعامل مع البوردات متعددة الطبقات
كما أن هناك تقنية معروفة منذ العصور الأولى لل8بت تسمى Memory Banking فإن كان الميكرو محدود ب 16 خط تتيح 65536 فالدوائر المحيطة تسمح بتنفيذ أمر يوقف هذه المجموعة و يفعل مجموعة أخرى من 65536 أخرى أى Bank1 أو Bank2 وهكذا أيضا لا مشكلة أن يتعامل الميكروبروسيسور مع أى عدد من الذاكرة Static Ram لكن هذه الظاهرة التى تتحدث عنها لعجز الدوائر عن تحديث Refresh الذاكرة Dynamic Ram عندما تزيد عن حد لم يعمل حسابه فى تقنية Refresh أما الهارد فهناك كثير من الحاسبات و نظم التشغيل سواء ويندوز أو غيرها التى تسمح بذلك فالمصمم ليعمل خادم Server يمكنك من أن تخرج هارد من الخدمة ثم تسحبه و تضع بديلا له ثم تشغله و تفعله و تنقل إلية ما تريد و الهاردات موجودة على الواجهة و لها يد لتسحبها بدون مسامير و تركب غيرها - كل هذا و الحاسب يعمل حتى لا تتعطل الخدمه و تسمى HOT Swapable اى تغيير على الساخن دون أن تطفئ الجهاز
ربما ليست كل الطرازات متاح فيها هذا الخيار و من موقع الشركة يمكنك تحديد ذلك لكن تذكر انك تصنع الآف منها المبرمجة تغير EEprom لكن ما ستحصل علية هو ROM أى قراءة فقط وتكون ما تعرف Mask Programmable أى تخلق أثناء التصنيع فقط ولا تعديل لها. أما الدفع و الأستلام فهذا يتفق عيه بين الأطراف ولا أجد مشكلة أن يرسل بالفيدكس أو الشحن البحرى أو اى اسلوب يناسب العميل حتى أن تذهب لتستلم بنفسك
كلامى واضح بت 7 و بين بت 3 الى 4، ما وضعته أنت من دوائر خاص ببت واحدة فقط لكن فى الميكرو نتحدث عن بايت كاملة عندما تجمع FE+5 سينتج 103 03 ستبقى فى الريجستر و الواحد يكون فى ال C لو جمعت 59 + 18 = 71 الآن هل 71 صحيحة؟؟ لو القيم هيكس يكون صحيح لكن لو نظام BCD سيكون خطا فالصح أن = 77 كما أن قيمة 71 هيكس = 113 عشرى لذلك لتحدد كيف تصحح القيمة يجب أن تعلم هل 9+8 انتجت كارى HC فهذا الواحد المنقول من البت 3 إلى 4 = 16 عشرى و يجب التصحيح بإضافة 6 71+6=77
الريسيت لا يسبب له أن يخرج عن هذا السياق يجب أن يكون الخرج Q0 على الطرف 3 = 12 فولت
هذه هى الدائرة ![]() أولا من التغذية لم أرى مكثف تنعيم وهذا يسبب تقويم للدائرة 50 أو 100 مرة فى الثانية افترضت الحل الأفضل انك مستخدم قنطرة و إن كان الأغلب سيكون دايود واحد وهو أمر بالغ السوء لكونه يقطع التغذية فترة طويلة الآن ضع مكثف 470 ميكرو على الأقل كما بالرسم ثانيا وضع المقاومات 560 أوم هكذا خطأ لأنها تزيد من مشاكل خط التغذية و غنتقال الضوضاء التى تولدها555 للباقى و الصح أن تستخدم مقاومة للعزل كما بالرسم و مكثف ترشيح لمنع الضوضاء من التجول بين المكونات ثالثا وجود مكثف 10ميكرو على خرج الحساس قد يكون خطر لأن خرج الحساس ترانزيستور قد يكون تفريغ المكثف فيه أكثر من احتماله إن شئت يكفى 0.1 ميكرو حتى 1 ميكرو المكثف c2 ربط بين الترانزيستور و دخل 555 و الزمن يحدده C3 مع المقاومة بثانية كاملة فطوال هذه الثانية لا يقبل المزيد و النقطة هنا أن اختيار هذه القيم سيكون متوقف لحد كبير على خواص باقى المكونات قم بتعديل التغذية و المكثف C4 و اعمل الدايودات التى قلت لك عليها ستعمل الدائرة إن شاء الله و إن اردت تغيير استجابة الدائرة غير القيم C1,C2 بعد ذلك |
|
|||||||||||||||||||||||||||
باللنسبة لموضوع المايكروسي فعلا اخي هذا ما ابحث عنه عندما سالتك كم بت ياخذ الرقم الكسري فالان يمكنني معرفة حدود وعدد بايتات كل من var float int جدااا اشكرك لانه من المواضيع المهمة التي تؤخذ بعين الاعتبار عند البرمجة
---- مداخلة بسيطة قمت بالبحث على اتميل c51 ووجدت ان اسمه 8051 هل هناك عائلة تسمى 80 وهل يعتبر ال 8086 8051 ضمن هذه العائلة علما ان الاول بروسيسر مصنوع من شركة انتيل والثاني مايكروكونترولر مصنوع من شركة اتميل ---
لاراها بالتفصيل
ثانيا انا معك في هذه النقطة عدد الاوامر اكثر بكثير ثالثا تمام رابعا ماهو الانديكس ريجستر ... ريجستر يعطي عنوان بداية ونهاية ام ماذا خامسا لم افهم ماذا تقصد في ذاكرة البرنامج سادسا هل تقصد في حالة الاتميل نستطيع ان ناخذ ناتج عملية مثلا ضرب او جمع من الاكيوميليتر ونحفظه على شكل جدول ام نقوم بصناعة جدول داخل الاكيوميليتر ..كل عملية تعطي ناتج تحفظ في خانة بالجدول؟؟؟ سابعا تقصد 3 بورت وليس 2 b,c,d ثامنا صعبة لمحدودية الاوامر المتوفرة ولكن سؤالي لك لماذا تبرمج بلغة الاسمبلي ولا تستخدم لغة السي في الاتميل ما هو الفرق ام لانك تفضلها ... تبقى مداخلة صغيرة اتوقع ان غاية الشركة لعمل شي بسيط وغير معقد ويستخدم للاغراض التحكم البسيطة فقاموا بتقليل الريجسترات والاوامر ولا تنسى ان بك 18اف 4550 يحتوي على اوامر جمع وطرح وانت لم تتطرق الى الريجسترات الخاصة بقراءة اشارات الانالوج واخرى لها معاني خاصة
![]() وضحت الصورة انك تقصد الايبروم ولكنك قلت الذاكرة الخارجية للمايكروكونترولر غير متاحة ولكن ماذا عن ربط SD-Card مع المايكروكونترولر الا يعتبر ذاكرة خارجية ام ماذا ؟؟ الكاش كلمة اسمع بها الالاف المرات واعرف موقعها بالبروسيسر ولكن لا اعرف هل تعتبر ريجستر ام ايبروم اضافي تحفظ به البيانات مؤقتا وسامع ايضا ببرامج لتنظيف الكاش ما هو عمل هذه البرامج منها ccleaner ؟؟
هل نسميها سيجمنت ام ماذا
الرابط الاول الرابط الثاني وهي لا تفرق عن الطريقة الاعتيادية يقومون بطباعة الدائرة على بورد اولي ثم يجلبون بورد ثاني فيلصقوه بالاول ويطبعون الجزء الثاني من الدائرة واكيد يبقى الفن بطريقة تصغير حجم الدوائر ضبط اماكن المكونات والبنات على جميع الطبقات وتحديد اماكن التثقيب
والدليل هو حاسبات البينتيوم 4 لا يمكن زيادة الرام عن قيمة معينة والحاسبات الحديثة core i3 او core i 5 او core i 7 الرام يتعدى الواحد كيكا - ولكن ايضا لم افهم معنى core i3 وما هو فرقه عن ال بروسيسر العادي طبعا هذا الكلام ماخوذ من هذا الموضوع الموضـــــــوع وما هي تقنية refresh - وباللنسبة للهارد نعم اخي هناك تقارير كاملة عن سيرفرات شركة كوكل ويوتيوب وفيسبوك توضح غرف كاملة وانظمة تبريد خاصة chiller ومهندسين يعملون على تغيير الهاردات المعطوبة مع الحفاظ على هذه المعلومات وهذا التقرير يمكنك مشاهدته من هنا لكن يبقى السؤال كيف تغير هارد بدون ان تفقد محتوياته اين سيتم خزن محتوياته في حالة عطله ؟؟؟
الرابــــــــط
"بعد ان تخبرني على مكان الدايود اتمنى ان تخبرني ما هو مكثف التقويم فانا في هذا المشروع استعمل محولة 12 فولت مستمر لم اعتمد على مصدر ايسي الى الان 12 فولت مستمر يتم تقليلها بواسطة زينر 5 فولت لغرض الايسيات وال 12 فولت لغرض الريلاي " مع ذلك قمت بعمل الدائرة على بروتس ورفعت لك صورة المحولة وللتبسيط قمت بالغاء الريلاي ووضع ليد للعمل ب 5 فولت فقط ولكي لا ندخل بمتاهات الدائرة رابط صورة المحولة رابط الدائرة رابط تحميل ملف بروتس
ثانيا ظهر مكثف من نوع اخر مكثف ترشيح وايضا لا اعلم اين يوضع هل هو نفسه المكثف الذي يوضع على مصدر التغذية للايسيات ؟؟ وهل يجب وضع واحد بعدما وضعنا مرشح التقويم والتنعيم وما هي مقاومة العزل وهل يجب وضعها مع كل الدوائر ؟؟؟ ثالثا ملاحظة جميلة سانتبه اليها بالمستقبل اما باللنسبة لقيم المقاومة والمتسعة الثالثة هي التي تحدد وقت النبضة فهو 555 في حالة مونوستيبل حسب القانون 1.1 * RC وتبقى المشكلة كما هي ولكن فرق صغير انه الدائرة بدات بالاستقرار فعند اطفاء الدائرة والكاونتر على صفر يبقى صفر مهما حاولت من اطفاء وتشغيل للدائرة وعند اطفاء الدائرة والكاونتر على واحد يبقى واحد مهما حاولت هذا في المحاولة الاولى عندما حاولت بعدها لم احصل على هالنتيجة فالدائرة لا تستجيب للريموت كونترول وعند رفع المقاومة 30 كيلو من الدائرة ترجع الدائرة للعمل كما في الوضعية الاولى التي تحدثنا عنها سابقا وهية حالة التحويل بين الصفر والواحد الان اصبح الرسم امامك واضح والبرنامج واضح وخذ كل الوقت وانا ساسمع منك اي فكرة تحياتــــي لك اخي الكريم ما رايك الى الان هل نكمل ام نتوقف
التعديل الأخير تم بواسطة : yasirh88 بتاريخ 12-09-2015 الساعة 06:15 AM |
|
|||||||||||||||||||||||||||||||
وذلك لأنك لو بحثت عن دائرة الضرب على النت ستجدها متاحة ل 2 بت و أكثر كمكونات رقمية وهذه لا تعتبر Co-processor لأن Co-processor يختص أساسا بالأرقام العشرية ذات الكسور من الجمع و الطرح حتى باقى الدوال الهندسية ربما لا تدرك كم هى معقدة ان تجمع رقمين عشريين أولا يجب أن توافق الأس (القوة المرفوع لها) فجمع 0.0000000123 + 1.23 ليس كجمع 1.23 + 0.123 ثم تجمع و تعيد تنسيق الناتج فى الصورة التى وضعتها لك فى مشاركة سابقة الميكرو بروسيسور المزود ب Co-processor به أوامر تحميل رقم كسرى و عمل حسابات عليه لكن الميكرو كونتروللر لا يحتوى هذا لو تريد جمع رقمين طبيعيين بكسور ستستدعى sub مخصصه لهذا من المترجم و تضاف لبرنامجك اكتب برنامج عرف فيه RES كرقم longword أى من 4 بايت Res= 11+22 و شوف سيكون من كم بايت بعدها عدل تعريفك إلى float مازال 4 بايت Res=1.1+2.2 وشوف حجمه بقى كم بايت و كل الفرق لمجرد حساب الرقم الطبيعى
accumulator اكثر ميزة عن الريجستر قلت فى مرة سابقة أرجو ان تذكرها أنهما أى accumulator و الريجستر شيء واحد فقط لو أمكن أن تذهب إليه النتيجة يسمى عند ئذ accumulator كل العمليات التى تتم مع accumulator تتم مع الريجستر أيضا لكن النتيجة تذهب دوما ل accumulator لو كان أحد الطرفين
الذاكرة الخاصة بالبرنامج اسمها فلاش ميمورى ولا علاقة لها بحفظ البيانات البيك فيه EEprom للبيانات Data وهى 8 بت يمكنك ان تحفظ فيها رقم و غدا تشغل الدائرة و تقرأه - ارجع للداتا شيت اتميل AT89x5x أو عائلة C51 لا تحتوى هذه الذاكرة لذا لو تريد حفظ بيان ستستخدم ذاكرة خارجية لذلك مثل 24C01 لكن أضافوها فى عائلة AVR
هى تنفيذ أمر مع كل نبضة أما مسألة التايمر فببساطة ضع أولا الرقم الجديد المناسب أو استخدم كريستال ابطأ لا أري أى مشكلة
MOVC A,*A+DPTR فيتم جمع ما فى A على العنوان فى DPTR و الناتج عنوان جديد تأخذ محتواه للأكيوميلاتور A و إما CLR A INC DPTR للموقع التالى MOV A,#xx لأى موقع آخر
الأكيوميلاتور 8 بت فقط رجاء اقرا ما اكتب مرتين قبل أن ترد!! قلت " يقرأ الكود و من ثم يمكنك حفظ جدول كبير كجزء من البرنامج ثم تقرأ منه " هذه الأشياء تسمى LUT اختصار Look Up Table مثلا اللوغاريتمات و الزوايا من أين ستحسب جا 30؟ تحفظ جدول به 9 قيم أو 90 حسب الدقة كجزء من البرنامج (من الكود الذى ستضعة بالمبرمجة فى ذاكرة البرنامج) ثم بعد ذلك تقرأ قيمة أو قيمتين و تقرب لنتيجة بينهما
و قارن بينها و بين مثلا AT89S52
لكن كثير من البرامج تأخذ من الذاكرة رام للحاسب أو من الهارد جزء تسميه كاش لأنها تحفظ فيه ما يخصها و تمنع اتصال الغير بها لكونها ستتعامل معه بصورة أسرع من محاولات استئذان الويندو أن تتكرم بإعطائها هذا البيان من هذا الجزء لذلك لو كل برنامج يخصص لنفسه كاش ولا يتركها أو يحررها عندما يخرج سيتعطل عمل الحاسب و هذه البرامج ccleaner تبحث عنها و تحررها
ما معنى كلمة Register ؟؟؟ تعنى مسجل أى انك تسجل فيه بيان أما فيم تستخدمه بعد ذلك فأمر آخر
ارجع للشرح تجد أنه به A,B و ثمانية آخرين و هذا الطاقم مكرر مرة اخرى بأمر تبدل بين A1,B1 و A2,B2 و أمر آخر تبدل الثمانية بثمانية فعندما تعرض النتيجة على الشاشة 50 مرة فى الثانية تستخدم طاقم و عندما تعود للحساب تستخدم الطاقم الثانى البديل ان تستخدم أوامر Push, Pop لتحفظها فى ستاك
ما قلته هو أن امكانيات الهاردوير المتاح لك هى ما لديك من 2 سلوت و عدد خطوط ذاكرة و عنوان من الميكرو شرحت لك كيفيه عمل memory banking لتزيد من حجم الذاكرة المتاحة و رايتها و درستها فى حاسبات عاملة هناك فرق بين ما يتيحة الميكرو من امكانيات بناء على بنيته الذاتية فقط و بين ما يمكنك فعله بإضافة دوائر و مكونات خارجية
أما تغييرة فالمشكلة أنه أثناء عمله الويندوز تعلم أنه موجود وقد تتعامل معه فتأخذ بيان خاطئ و تتوقف أما فى هذه الحاسبات كما يحدث فى الويندو وضع النوم توقف التعامل معه و تعمل Park للهد و تقطع عنه التغذية فيصبح قطعة حديدة تخلعها و تغيرها دون تأثير و بعدها تبدأ الويندو بالترتيب الصحيح لتفعيله
المرة الماضية وضعت لك الرسم لجزء الريسيت ضعة كما هو التزم بتوصيلات التغذية كما وضعتها لك المرة الماضية فالدائرة بالبروتس خطأ لأن 555 تتغذى من 5 فولت بينما 4017 12 فولت قد لا يكفى خرج 555 لقدح 4017
كل المكثفات بين التغذية و الأرضى تعتبر Filter أو ترشيح
هناك خطأ فى الدائرة المرسومة يدوى أن طرف 12 متصل بالأرضى وهو خرج و توصيلة بالأرضى خطأ لو عملت الدائرة كما رسمت لك ستعمل بإذن الله أما لو لديك اسئلة عن الحاسب فلا بأس لكن لا تجعلنى اجيب على السؤال مرتين |
|
جميع الحقوق محفوظة 2026
|


