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

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

الصورة الرمزية hasanAli
hasanAli
:: عضو فضي ::
تاريخ التسجيل: Apr 2005
المشاركات: 156
نشاط [ hasanAli ]
قوة السمعة:80
قديم 28-05-2006, 01:26 AM المشاركة 1   
افتراضي المتحكم الصغير بشرح حسن علي Twitter FaceBook Google+



إن الكومبيوتر الذي تستعمله أنت الآن يمكنك أن تبرمجه وتصله في منزلك على لمبات الغرف والبراد والتلفزيون وكمرات حراسه الخ..لكي يطفئ جهاز ويشغل الآخر ويحدد الوقت حسب البرنامج هذا كلام لا خلاف عليه.بل أكثر من ذلك ,هناك مصانع وطائرات وأقمار اصطناعية وجدول لا نهاية له يدخل الكومبيوتر في تركيبته ألأساسيه.وما علاقة ذالك بالمتحكم الصغير.؟ العلاقة هو أن المتحكم الصغير بحد ذاته هو عبارة عن كومبيوتر بكل ميزاته موضوع في دائره متكامله واحده .
تصور ذلك.باثنان سنتم طول ونصف سنتم عرض وربع سنتم ارتفاع وأحيانا اقل من ذلك بكثير يوجد كومبيوتر متكامل.إنها ثوره صناعية بحق . إن التقدم في أي مجال كان يعتمد على المتحكم الصغير.وخاصة السعر الرخيص من دولارين وما فوق.لماذا المتحكم ؟ لأنه قلب أي داره أو شبكه إلكترونيه ويتحكم بإدارتها .
اما جمال وروعة المتحكم هو اننا نستطيع برمجته ثم انتزاعه من المبرمج ووضعه اينما شئنا في اي داره فهو يحتفظ بالمعلومات لمدة اربعين عاما وبدون كهرباٍ ناهيك عن قدرته الفائقه في تنفيذ الاوامر مليون ومليونان امر في الثانيه حسبما نريد, فلا تترك هذا الامر يفوتك فهيا بنا لندرسه وباسهل الطرق والله المعين .
المتحكم الصغير تصنعه شركات مختلفة وبدوره هناك أنواع عديدة ووظائف مختلفة الخ . ولكي ندخل معا عالم المتحكم الصغير سندرس واحد على وجه الخصوص ألا وهو الدائرة المتكاملة 16ف84أ من إنتاج شركه MICROCHIP ونستعمله كعامود أساس لانطلاق إلى ما فوق .
لكي نبرمج , المتحكم علينا :1-
1- أن تمتلك حاسوب , لتنصب به , برنامج " لبرمجة المتحكم "
2- أن تمتلك مبرمجه , وهي آله كالطابعه , توصل على الحاسوب من خلال المنفذ المتوازي أو التسلسلي , نركب عليها المتحكم , لنحرقه "إذا جاز التعبير" , أي نبرمجه . بعدها ينزع من المبرمجه , لنضعه في الدائره التي صمم ليقوم بعمل ما بداخلها .

بالنسبه للنقطه الثانيه : أخوك حسن علي يضع بين يديك مبرمجته الخاصه صنعتها بنفسي . ويمكنك أن تفعل مثلها .

هناك ثلاثة دروس بدون إتقانها مستحيل تعلم المتحكمات , وسأشرحها لك , وهي : الأنظمه الرقميه , الدوائر المتكامله
وشرائح الذاكره

الأنظمه الرقميه

النظام الثنائي
النظام الثماني
النظام العشري.

النظام السادس عشري

النظام العشري المشفر ثنائيا





[النظام العشري ] , أو قاعده عشره , أو النظام الرقمي العربي. DECIMAL



الأرقام عباره عن رموز تستعمل لتمثيل كميات معينه , النظام الرقمي الأكثر اشاعة واللأقدم هو النظام العشري أو قاعده 10[ لأنه يتكون من عشرة رموز], وسمي كذالك بالنظام الرقمي العربي , نسبة الى مخترعيه العرب اللذين أدخلوه الى أوروبا قبل 800 سنه , وكل الدول المتحظره تبنته رسميا , هو النظام الأكثر استعمالا في حياتنا اليوميه , وتكيفنا الذهني معه أكثر من غيره من الأنظمه, لذالك اخترنا دراسته قبل غيره.

ألنظام العشري يستعمل عشرة رموز أو أرقام [ 0,1,2,3,4,5,6,7,8,9 ] وربما يرجع ذلك الى أن الإنسان له عشرة أصابع , يستعملها بطريقة عفويه أو معتمده للعد, منذ قدم العصور


عندما نعد عشريا , نبدأ بالرقم الاقل قيمة [0] الصفر, ثم [1] واحد, [2] .…الخ حتى الوصول إلى [9] تسعه , وهو الرقم الأكبرقيمة, أي عد إضافي ينتج إنتقال إلى اليمين ,(Carry) منتجا الرقم عشره [ 10] في هذا الرقم الواحد [1] يحتل موقع أو خانة العشرات ( 10^1=10), بينما ال [ 0 ] الصفر يحتل خانة الأحاد (10^0=1) .

تتابع هذه العمليه , كلما نصل الى ( 9) في موقع اللأحاد , وعندما نصل الى ( 9 ) في موقع العشرات يحدث إنتقال الى موقع المئات ( 2^10=100 ) لاحظ ان أي رقم في موقع العشرات له قيمه أو (ثقل) 10 مرات أكثر منه في موقع الأحاد. وهذه القاعده صحيحه لكل المواقع الأكثر ثقلا , وإنطلاقا من هذه العلاقه , فإن النظام العشري هو نظام موقعي وقاعدته عشره .
عامة , إن كل الأنظمه الرقميه التي سندرسها , هي أنظمه موقعيه ( قاعده 2, 8, 10, 16 ) وتطبق عليها القوانين التاليه
1 كل موقع أو خانه يظرب قيمة العدد بالقاعده .
2 الإنتقال من موقع الى التالي يكبر الثقل بعامل يساوي القاعده .
3 عدد الأرقام المستعمله في النظام مساوي للقاعده.
4 الرقم اللأكبر قيمه يساوي القاعده ناقص واحد.

لنأخذ العدد ( 735 ) على صعيد المثال , أل 5 هو الرقم الأقل قيمة - LSD Least Significant Digit.
والرقم 7 هو الرقم الأكثر قيمة , ( MSD) (Most Significant Digit)
ويحتل موقع المئاتْ , وهذا الرقم 735 يتضمن أنه هناك ( 7) مِئاتْ , ( 3 ) عشراتْ و ( 3 ) وحدات. ويمكن أن يعبر عنه بألشكل التالي:
700+30+5

ألثـنـائي Binary

ألنظام الرقمي الثنائي , قاعده 2 , يستعمل فقط رقمين وهما الصفر والواحد ( 0,1) وكل من هذان الرقمين يدعى ( بيت) , البيت تتغير قيمته حسب الموقع الموجود به , في أقصى اليسار من أي عدد ثنائي يوجد البيت الأكثر ثقلا MSBوفي أقصى اليمين البيت الأقل ثقلا LSB




المواقع أو الخانات في النظام العشري ( أحاد , عشرات , مئات , ألوف , عشرات الألوف .... الخ ) بينما في النظام الثنائي ( أحاد , إثنان , أربعات , ثمانيات , ستة عشرات , إثنان وثلاثينات , أربعه وستينات , مئه وثمانيه وعشرينات .... الخ).
في نظامنا العشري , إذا وجد الرقم تسعه في الخانه الثالثه , فهو يعني 900 أي 9×100 , كذلك الأمر في النظام الثنائي , فإذا وجد الواحد في الخانه الثالثه فهو يعني أربعه أي 1×4 . فعملية التحويل من عشري إلى ثنائي وبالعكس لهي في غاية السهوله.
أمامنا عدد من خمسه بيت 10010 ونريد تحويله الى عشري.
نأخذ الخانه الأكثر ثقلا وهي الخامسه. نرى أنها تحتوي على البيت 1 , وهذا معناه أن هناك واحد ستة عشرات أي 1×16 أي 16 ...... في الخانه الرابعه هناك البيت صفر , اللآن نقوم بنفس العمليه , والناتج صفر لأن كل ما يظرب بصفر نتيجته صفر. نفس الأمر في الخانه الثالثه النتيجه صفر , في الخانه الثانيه هناك واحد ومعناه 1×2 أي 2 وفي الأخير صفر.
إذا هناك 16 و 2 فكل ما عليك هو جمعهما لتحصل على 18 , وها أنت وبدون حسد , قد حولت العدد الثنائي 10010 إلى عشري.

= 16 + 0 + 0 + 2 + 0 = 18



كيف نحول من عشري إلى ثنائي ؟
يتم ذلك بالقسمه المتتاليه للعدد العشري على إثنين ( 2 ) وبالشكل التالي
37 عشري إلى ثنائي :
أقسم 37 على 2 فالجواب 18 والباقي 1
أقسم 18 على 2 فالجواب 9 والباقي 0
أقسم 9 على 2 فالجواب 4 والباقي 1
أقسم 4 على 2 فالجواب 2 والباقي 0
أقسم 2 على 2 فالجواب 1 والباقي 0
أقسم 1 على 2 فالجواب 0 والباقي 1 لأنه في عملية التحويل لا مجال للكسور.
الباقي هو الرقم الثنائي للعدد العشري 37 , ونبدأ بترتيبه من الأسفل إلى الأعلى , حيث ألبيت ( bit ) الأكثر ثقلا هو بيت الباقي الأخير.
إذا 100101 = 37
ملاحظه : الأرقام الثنائيه تقرأ , واحد صفر صفر واحد صفر واحد ولا يجوز قرائتها كالنظام العشري لنقول مئة ألف ومئه وواحد.





ألنظام الثماني Octal

قاعده 8 , يستعمل ثمانية رموز ( 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ) , يختلف عن النظام العشري بأنه لا وجود للرقمين ( 8 , 9 ) فأعلى رقم في النظام الثماني هو السبعه .


كيف نحول من عشري إلى ثماني ؟
يتم ذلك بالقسمه المتتاليه للعدد العشري على ثمانيه ( 8 ) وبالشكل التالي :
لنفترض أنني أريد تحويل العدد 267 إلى ثماني :

أقسم 267 على 8 فالجواب 33 والباقي 3 (Lsd)
أقسم 33 على 8 فالجواب 4 والباقي 1
أقسم 4 على 8 فالجواب 0 والباقي 4 (MSD)
الباقي هو الرقم الثماني للعدد العشري 267, ونبدأ بترتيبه من الأسفل إلى الأعلى , حيث ألرقم الأكثر ثقلا هو الباقي الأخير.
إذا 267 عشري يساوي 413 ثماني .


ألنظام السادس عشري Hex Hexadecimal


هو النظام الأكثر إستعمالا في الأجهزه الإلكترونيه , وبالحاسوب على وجه الخصوص , يسمى بنظام قاعده 16 كذلك يتألف من ستة عشر رمزا وهما الأرقام من 0 الى 9 بالإضافه الى الأحرف ( A , B , C , D , E , F )

الرقم الأكبر هو الحرف(F) والذي يوازي 15 عشريا , والأقل قيمة هو الصفر ويعد في هذا النظام من الصفر إلى F أمثله لأعداد سادس عشريه ( 123 , A23F , 23FF , F4 , DF)


كيف نحول من سادس عشري إلى عشري ؟ HEX to Decimal
ففي الرقم السادس عشري A23F
هناك ( عشر ) 4096, و ( إثنان ) 256 , و ( ثلاثه ) 16 , و ( خمسة عشر ) 1
A23F = 10 x 4096 + 2 x 256 + 3x16 + 15 x 1
= 40960 + 512 + 48 +15
= 41535
كيف نحول من عشري الى سادس عشري ؟
لنحول العدد العشري 1991
نقسم 1991 على 16 جواب 124 والباقي 7
نقسم 124 على 16 جواب 7 والباقي 12 ©
نقسم 7 على16 جواب 0 والباقي 7 (MSD)
1991 = 7C7


النظام العشري المشفر ثنائياBinary-Coded-Decimal

ليس نظاما رقميا بحد ذاته , بل يمزج ما بين العشري والثنائي , وتعتمد عليه بعض الألات الحاسبه . وكثير من الشرائح الإلكترونيه , فكيف يعمل نظام BCD؟.
لدي الرقم العشري 4975
نأخذ الأرقام رقما رقما ونحولها الى ثنائي
فا لأربعه تساوي 0100
والتسعه تساوي 1001
والسبعه تساوي 0111
والخمسه تساوي 1001
إذا 4975



هو النظام العشري لكن الأرقام به تكتب ثنائيا.

اعلانات

الصورة الرمزية hasanAli
hasanAli
:: عضو فضي ::
تاريخ التسجيل: Apr 2005
المشاركات: 156
نشاط [ hasanAli ]
قوة السمعة:80
قديم 28-05-2006, 01:53 AM المشاركة 2   
افتراضي الدوائر المتكامله أو االشرائح


الدوائر المتكامله

الدوائر المتكامله : ( IC ) : عباره عن شريحه كما تراها في الشكل أعلاه , ويخرج منها أطراف أو أرجل.
بداخل الشريحه , هناك عدد من القطع الإلكترونيه بما فيه ترانسيستورات , دايود, مقاومات , مكثفات , وأسلاك ربط , موصولين ببعضهم ليكونوا دائره ما , ذات عمل محدد , كعدادات ومؤقتات وميكروكونترولارات "متحكمات صغيره" , ذاكرات , بوابات منطقيه , معالجات وآلاف من الوظائف.
هذه الدوائر الموجوده داخل الشريحه , تتصل مع العالم الخارجي من خلال الأطراف , فمنها ما هو مخصص لوصل الجهد الإيجابي وآخر للسلبي , ولكل طرف وضيفه .
نحن كهواة , وجود هذه الدوائر المتكامله بالنسبه لنا , يوفر علينا أعمالا شاقه , وطويله , بل تبدو في أغلب الأحيان مستحيله. خذ مثلا , الدائره المتكامله 555 , عباره عن شريحه ذات ثماني أطراف وتعمل كمؤقت , لو أردت بنائه بنفسك , فأنت بحاجه لوصل ما يقارب العشرين ترانسيستور, وستة عشر مقاومه , وثلاثه دايود , وهذا معناه :
1 . الطلب من الله عز وجل أن تجد كل هذه الترانسيستورات في السوق.
2 . الكلفه العاليه .
3 . يوم من الوصل والتلحيم إذا كفاك.
4 . حجم دائرتك ومهما كنت بارعا لن يقل عن 10*10سنتم .
5. آلاف المصائب الأخرى.
أنظر الصوره أدناه , لترى ما هو موجود داخل الدائره 555 التي لا تتعدى السنتم المربع.


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

هذه التعليبه, أو الشكل للدائره المتكامله, يسمى DIP وهناك أشكال آخرى كأل TO-5 , أنظر الصوره أدناه , تعليب SMT وهي ذات التركيب السطحي ( تلحم على اللوحه مباشرة بدون ثقوب).


الحمدلله هناك الكثير من مصنعي الدوائر المتكامله ( دم) . مثلا ( موتورولا , ناشونال , تكساس, فايرتشايلد, سامسونغ, نك, أنالوغ ديفايسس, الخ ) وهناك مصانع في عديد من البلدان . فكل هذه المعلومات تأتي مكتوبة على ظهر الدوائر الإلكترونيه . وفي أغلب الأحيان نجد سطرين , مثلا
M8228
DM74LS08N
بالإضافه إلى أن لكل شركه شعار خاص بها , مطبوعا في أحد الزوايا .


كما تلاحظ في مثلنا أعلاه أن لكل بلد مصنع شيفره تدل عليه , فسطرنا الأول يعني
أن (دم) صنعت في ماليزيا , في الأسبوع 28 من سنة 1982 .
لكل شركه مصنعه شيفره تدل عليها , DM تعني قطعه رقميه من ناشونال .
سيريال 74 أو مجموعة 74 . ( مجموعه تضم عدة (دم) مختلفة الوظائف).
العائله : تنقسم ال(دم) إلى عدة عائلات وتفرعات , تختلف فيما بينها , بعدة أمور منها , الجهد , التيار, السرعه , وطريقة التصنيع , . LS عباره عن تفرع من عائلة TTL .
الوضيفه : 08 تقول لنا أن (دم) عباره عن : أربع بوابات منطقيه AND ذات المدخلين .
و N تدل على نوع التعليبه .




دوائر ألذاكره
قبل الدخول في شرح دوئر الذاكره , خذ هذه الفكره من أخوك حسن علي , مهما كانت الإلكترونيات الرقميه معقده لا تتعدى كونها لعبة الصفوره والواحد , اللغه الرقميه لغة الالكترونيات والكومبيوتر والاله الحاسبه وكل الادواه المتطوره. ربما الان تقول لنفسك انها لغه معقده جدا وللاخصائين الى ما شابه ذالك.هذه لغه بسيطه جدا واكثر مما تتصور فابجديتها مكونه من حرفين نعم حرفين اثنين فكل الاجهزه التي ذكرتها لك سابقا,بما فيهم الكومبيوتر لا تفهم اكثر من حرفين.وهما الواحد والصفر (1) و(0) وكذلك يطلق على هذان الحرفان اسم (الاعلى) و(الادنى) اجنبيا (H) و (L). ولماذا هذه الاسماٍ لحرفان فقط ؟ بسبب الاسلوب الذي تستعمله هذه الاجهزه لكتابة هذان الحرفان بداخلها.قلنا باننا نكتب العربيه اينما نشا ٍ ورق,حجر ,رمل. اما الكومبيوتر فيكتب في الذاكره التي هي عباره خانات افقيا وعاموديا وكل خانه بداخلها جهاز يمكن ان يعبأ بشحنه كهربائيه كالبطاريه تماما. مثلا لووضعنا 8 أجهزه من هذه بشكل افقي.

وأخذنا نشحن بعضها , بجهد 5 فولت , وتركنا بعضها الآخر بدون شحنه , المعالج يفهم , أنه حيث هناك خمسه فولت هناك واحد منطقي , وبدون شحنه صفر منطقي .
لنفترض أن ما في الصناديق هو " 11111111" . طبعا أنت درست معي الأنظمه الرقميه , وأصبحت تعرف أن هذا الرقم الثنائي , قيمته العشريه 255 . المعالج كذلك يعرف هذه القيمه . ويستطيع أن يجمع أو يطرح ...إلخ من رقم ثنائي آخر ويعطيك الجواب ثنائيا .
ما تبقى , من لعبة الصفوره والواحد , ليس أكثر من تشفيرات . كيف ؟ . أولا إتفقنا أنه , ما يحفظ في الذاكره والقرص الصلب يكتب بأرقام ثنائيه , أليس كذلك؟ .... أنت اللآن تقرأ موضوعي بالعربي .... وهو مخزن في حاسوب .... ويجب أن يكون أرقام ثنائيه , كيف هذا ؟ .
بسيط جدا , داخل الحاسوب هناك دوائر متكامله تحول الأرقام الثنائيه إلى أحرف , كل حرف يمثله رقم . مثلا الـ A الرقم 65 ..... هذه التشفيره .... تدعى " تشفيرة أسكي" .... نعود لموضوعنا.

كل خانه من هذه الخانات الثنائيه . بغض النظر عما تحتويه " واحد أم صفر" تسمى "بيت" .
النيبل أربعة صناديق جنب بعظها , أي أربعه بيت .
"البايت" ثمانيه "بيت" ....... والكلمه 16 بيت.
عندما تقرأ على "السي دي" أن سعته 800 ميغا بايت , أو عندما تقرأ , أن سرعة إتصالك بإنترنت,كذا كيلو بايت بالثانيه , أصبحت تعلم بالتأكيد , بما يتعلق الموضوع.
نعود لدوائر الذاكرات, الخانات الأفقيه , تدعى "سجل" ممكن أن تكون بعرض 8 بيت أو أكثر .
السجلات , موجوده بشكل عامودي , واحد تحت الآخر , لنقل على صعيد المثال 60 سجل . كل سجل له عنوان أو موضع , الأول عنوانه صفر , الثاني واحد , وهكذا حتى الـ 59 .
الذاكرات مهما كان نوعها ... ليست أكثر من سجلات وعناوين.
طيب , سؤال .... كيف يفهم المعالج بأنني أريد طرح هذا أو ذاك السجل من تلك ؟ ببساطه لكل سجل إسم وعنوان لنرى ......كيف ؟ ..... الذاكره مؤلفه من سجلات بشكل عامودي

الموضع يشكل عنوان السجل , والمعالج يفهم ذلك تلقائيا , وليس لديه مشكله في ذلك, المشكلة لدينا نحن إذا كان هناك ذاكره من ستين عنوان , وكنا نكتب برنامج مثلا , لقياس مساحة المربع .... الطول ضرب العرض .... فبأي من هذه العناوين وضعنا الطول والعرض ...... لذا هناك لكل سجل إسم .... إما أن نضعه نحن بأنفسنا .... وهناك أسماء لسجلات محدده من المصنع ....
لنوضح أكثر ..... كتابة برنامج للمتحكم أمر سهل جدا وليس بالمعقد مثلا مساحة المربع .. لاحظ معي السطرين التالين
tool equ 2
arth equ 4
كلمة ( EQU ) معناها يوازي ..... بكل بساطه هنا قلت للمعالج .... بأنني سميت السجل الموجود في الموضع 2 كـ طول وفي الموضع 4 كـ عرض ...... من هنا فصاعدا .... لن أشغل رأسي بموضع أي من هذان السجلان .... يكفي أن أقول للمعالج إقرأ طول فهو يعرف تلقائيا موضعه .... وينفذ لك الأمر الذي تريده .....إكتملت الصوره الآن سنضع تعريف نهائي للسجل
سجل : مجموعة خانات ذاكره أفقيه , تحتوي كل منها على بيت واحد , وله طول معين , وإسم وعنوان يحدد موضعه في الذاكره .

أنواع الذاكرات
الذاكرة المؤقته ( رام ) ...... يعني انها تعمل وتحتفظ بالمعلومات ..... طالما هناك جُهد كهربائي يصل للمتحكم .... في حال فقدانه .... تتحول كل السجلات إلى صفر ..... وتفقد المعلومات ....... (ذاكره مؤقتة )
الذاكره من نوع( فلاش) ...... أي أنها تمحى وتقرأ كهربائيا ...... تحتفظ بالمعلومات لمدة 40 عام حتى ولو قطع التيار الكهربائي عن المتحكم ..... نستطيع قرائتها أو محيها ...... ألف مره فقط ...... بكلمات أخرى يمكننا برمجة ( حرق المتحكم , إذا جاز التعبير) ألف مره فقط ......
ذاكرة المعلومات ..... من نوع ( إإبروم) ..... يعني ..... أنها تسجل وتمحى كهربائيا ..... تحفظ المعلومات لأربعين عام بدون كهرباء ..... خلافا لسابقتها ..... يمكن قرائتها وكتابتها مليون مره .... كذلك بحاجه لوقت أكثر من سابقتها .... لقرائة أو كتابة السجلات ... بطبيعة الحال الوقت قصير جدا .... إذا كنا نتكلم في السابقه عن ميكروثانيه فهنا نتكلم عن ميلي ثانيه .

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

الصورة الرمزية hasanAli
hasanAli
:: عضو فضي ::
تاريخ التسجيل: Apr 2005
المشاركات: 156
نشاط [ hasanAli ]
قوة السمعة:80
قديم 28-05-2006, 02:12 AM المشاركة 3   
افتراضي المتحكم الصغير من الخارج


طرفان مصدر التغذيه





الكومبيوتر نصله على جهد كهربائي مقداره 110 فولت , صاحبنا المتحكم يوصل على جهد خمسه فولت . الجهد الموجب على الطرف 14 والسالب على الطرف 5 .

نحن كهواة , نستعمل في دوائرنا بطاريات 9 فولت ألمستطيله , الحل , هناك دائرة متكاملة تسمى 7805 ذات ثلاثة أطراف شبيهة بالترانسيستور , تستعمل لتعديل هذا الجهد إلى خمسه فولت . هكذا



طرفان هزاز




الهزاز : هو دائره بسيطه تحدث ذبذبه , يستعملها المتحكم بعمله . توصل على الأطراف 15 و 16 . وهناك نوعان منها .

الأول : عباره عن حجر كريستال

كل منا عنده كومبيوتر ويقول , عندي بنتيوم 4 سرعة معالجه 1400 ميغا , وأخر 400 و 600 وهذا أسرع وذاك بطيء ممرضني , إلخ , إذا السرعة هي سرعة تنفيذ البرنامج , السرعة لمتحكمنا تحددها دائرة هزاز خارجية توصل على الأطراف 15 و 16 . ممكن أن تكون من مقاومه ومكثف أو ببساطه حجر كريستال , الاحتمال الثاني ذا دقه عالية . حجر الكريستال يحدث تذبذب عند مرور التيار به . وقيمة تذبذبه مكتوبة على غلافه المعدني فمنه 4 و 10 وعشرين ميغا هيرتس .


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

الآن , قل لي لو كان كريستالي 8 ميغا هيرتس , ما هي سرعة تنفيذ الأمر الواحد؟. متحكمنا يتحمل أن يوصل على هزاز أعلى قيمه لتذبذبه 20 ميغا . وأقل قيمه للهزاز 200 كيلوهيرتس . لأنه اقل ذلك يصبح غير مستقر . الكريستال ليس له قطبيه , أوصله كما تشاء , مستحسن بعد وصله أن تصل كل طرف منه بواسطة مكثف سيراميكي 22 بيكو على الأرضي لتفادي الضجيج . أو التشويش من قطع مجاوره. هناك قطعه إلكترونيه تسمى راسوناتور بداخلها كريستال ومكثفان ولها ثلاثة أطراف, الذي في الوسط يوصل على الأرظي أو السالب.

النوع الثاني : مقاومه ومكثف .

إذا كان مشروعك , ليس بحاجه للدقه في التوقيت , يمكنك إختيار هذا النوع من الهزازات, لماذا عدم الدقه ؟ لأنه يتأثر بـ جهد المصدر , حراره المكان , تفاوتات قيمة المقاومه والمكثف. المقاومه يجب أن لا تقل قيمتها عن 2.2 كيلو أوم ,والمصنع ينصح بـ 3 كيلو لغاية 100 كيلو وعلى أن يتعدى المكثف الـ 20 بيكو فراد . وما فوق.

في هذه الحاله , الطرف 15 يمكنك إستخلاص , ذبذبة تساوي دورة الساعه , لإستعمالها في دوائر أخرى من مشروعك. أو للتنسيق .

عندما تبرمج المتحكم ,عليك أن تقول ما نوع الهزاز الذي تستعمله , فإذا كان إختيارك كريستال , يمكنك إستعمال دائرة ساعه غير الكريستال , كالـ 555 مثلا . على الطرف 16 .

منفذ أ و منفذ ب




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

قلت بأن المتحكم الصغير , هو كمبيوتر متكامل , إذا يوجد بداخله معالج , كيف تدخل وتخرج المعلومات. إليه ؟ . كالكومبيوتر بالظبط من خلال منفذين منفذ أ و منفذ ب


منفذ أ : مكون من خمسة أطراف وهي ( 17 , 18 ,1, 2 , 3 ) .

هذه الأطراف , برمجيا , تسمى " منفذ أ 0 , منفذ أ 1 , منفذ أ 2 , منفذ أ 3 , منفذ أ 4"

منفذ ب مكون من ثمانية أطراف وهي ( من 6 إلى 13 ) .

هذه الأطراف , برمجيا , تسمى " منفذ ب0 , منفذ ب1 ولغاية منفذ ب 7 "

ما أقصده عندما أقول" برمجيا تسمى" ؟

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

خذ مثلا برمجيا :

أحد الأوامر التي يفهمها المتحكم , هو " ضع واحد ببيت " .

فإذا قلت له ضع واحد ببيت منفذ ب 7

سيصبح جهد الطرف "13" 5 فولت . أي واحد منطقي.

فإذا قلت له ضع صفر ببيت منفذ ب 7 وهذا أمر آخر يفهمه المتحكم.

سيصبح جهد الطرف "13" 0 فولت . أي صفر منطقي.


طرف إعادة الانضباط

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

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

يوصل بهذه الطريقة:

شاهد معي الصوره ," بص , شوف, دحق زين" , وضع المفتاح في الصوره "مفتوح", معناه أن ما يصل الطرف أربعه " جهد 5 فولت " , صدقت " واحد منطقي" . طيب , في هذه الحاله ليس هناك إعادة إنظباط . الآن لو أغلقنا المفتاح ... سيصل طرف إعادة الإنظباط صفر منطقي وستحدث عملية إعادة إنظباط . خلاصه : تفعيل إعادة الإنظباط تتم بوضع صفر منطقي بالطرف 4 . حسن علي ينصحك , إذا كنت لا تريد إستعمال إعادة الإنظباط في مشروعك , على الأقل قم بوصل الطرف 4 بواسطة مقاومه 10 كيلو أوم على الجهد الموجب لمصدر التغذيه . لتفادي حصول عمليات إعادة إنظباط غير إراديه.

طرف مقاطعه
أذكرك بأنني , لا زلت أتكلم عن المتحكم من الخارج ,وقلت أن له 18 طرف , وحتى الآن سردتها كلها لك , 2 لمصدر التغذيه , 2 هزاز , 13 منفذ أ و ب , 1 إعادة إنضباط , ولا زلت مصرا أن هناك أطرافا أخرى, وأسمح لنفسي بالتكلم عن طرف مقاطعه .... كيف هذا؟.

نعم عزيزي , هناك أطراف ذات وظيفه مزدوجه , يعني يمكن أن تقوم بعملين مختلفين , ليس بنفس الوقت طبعا, لذلك عليك إختيار الدور الذي تريده لهذه الأطراف , هذه النقطه بالتحديد سنتطرق لها عند شرحنا لسجلات العمل الخاصه , والبرمجه.ما أريد أن تعرفه اللآن , أن الطرف 6 نفسه منفذ ب صفر , يمكن إستعماله كطرف دخول/خروج للمعلومات كمنفذ ب صفر أو كطرف مقاطعه .

ما معنى دخول / خروج ؟ : عندما أقول للمتحكم بأن يضع واحد منطقي في أي طرف من منفذ ب أو أ , فأنا أخرج المعلومه , فإذا قلت له إقرأ ما في طرف ما . فهو يقرأ لي المعلومه التي أدخلت عليه من دائره خارجيه " واحد أو صفر "

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

طيب لو إخترناه "طرف مقاطعه" ... كيف سيكون عمله؟.وما هي المقاطعه بحد ذاتها ؟ رائع , تصور نفسك بين مجموعه من الأصدقاء وأنت تخاطبهم بموضوع ما , وقاطعك أحدهم , في الحقيقه , ما فعله هذا الأخير بمقاطعته , هو إيقافك عن الكلام .

في المتحكمات هناك مقاطعات مشابهه, المتحكم يقرأ الأوامر من ذاكرة البرنامج ويطبقها بالتسلسل من الموضع أو العنوان صفر حتى النهايه. فإذا كنت مفعلا طرف المقاطعه وحدث تغير به من واحد إلى صفر منطقي أو من صفر إلى واحد " وهذا يمكنك إختياره بالبرمجه" سيترك المتحكم الأوامر التي كان ينفذها وسيذهب إلى العنوان 4 من ذاكرة البرنامج لتطبيق

الأوامر إبتداءا من هناك .

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

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

أطراف مقاطعة منفذ ب



هناك أربعة أطراف من منفذ ب , يمكن إستخدامها بعد تفعيلها وإعدادها كأطراف دخول , لتحدث مقاطعات بنفس الطريقه والنتائج التي شرحتها في طرف المقاطعه .هذه الأطراف هي منفذ ب 4 ولغاية منفذ ب 7 أي الأطراف 10 حتى 13 .

أي تغير في أي طرف منها من واحد إلى صفر منطقي أو من صفر إلى واحد " وهذا يمكنك إختياره بالبرمجه" سيترك المتحكم الأوامر التي كان ينفذها وسيذهب إلى العنوان 4 من ذاكرة البرنامج لتطبيق الأوامر إبتداءا من هناك.



طرف عداد



داخل المتحكم , وبالتحديد في الذاكره االمؤقته , هناك سجل بطول 8 بيت كباقي سجلات هذه الذاكره , يدعى المؤقت , عندما يكون السجل بطول 8 بيت , كما شرحت لك في الأنظمه الرقميه , ممكن أن نحمله أرقام من ........ ولغاية 11111111 أي من صفر ولغاية 255 عشري .

سجل المؤقت هذا , يرتفع تلقائيا بواحد مع كل دورة ساعه للهزاز , تتذكر شرحي للهزاز عندما قلت إذا إستعملنا كريستال 4 ميغا ستكون دورة الساعه ميكروثانيه واحده. صاحبنا المؤقت أوتوماتيكيا , تلقائيا , لوحده , يرتفع بواحد مع كل دورة فيكون صفر ثم يصبح 1 ثم 2 وهكذا حتى الـ 255 .

لماذا مؤقت لأنه يعد لنا كم ميكروثانيه مضت . " في هذه الحاله". طيب وصل لل 255 وبما أنه سجل بطول 8 بيت , ولا يمكنه أن يعد أرقام أكبر من 255 , ماذا سيحدث عندما يصل 255 , ببساطه سينقلب إلى صفر ويبدأ العد مجددا.

لحظة إنقلاب المؤقت من 255 لـ صفر تحدث مقاطعه إذا كنت مفعلها , ولها نفس صفات المقاطعات التي ذكرتها سابقا يترك المتحكم عمله ويذهب إلى العنوان الرابع من ذاكرة البرنامج.

المؤقت نفسه له إستعمال مزدوج , إما كمؤقت كما شرحت لك أعلاه يرتفع مع كل دورة ساعه , أو كعداد يرتفع مع تغيرات الطرف 3 نفسه منفذ أ 4 , من 1 إلى صفر أو من صفر لـ 1 .

ملخص مفيد: المؤقت له وضيفتان , كعداد أو مؤقت , أمر نختاره بالبرمجه.

الطرف 3 له وضيفتان إما كطرف د/خ عادي أو كطرف عداد . أمر نختاره بالبرمجه.

هناك طريقتان يمكن أن تختارها للإرتفاع العداد بواحد , بينما يتغير طرف المقاطعه من صفر لواحد منطقي , أو من واحد لصفر الأولى تدعى صعوديا والثانيه هبوطيا. . أمر نختاره بالبرمجه.


الصورة الرمزية hasanAli
hasanAli
:: عضو فضي ::
تاريخ التسجيل: Apr 2005
المشاركات: 156
نشاط [ hasanAli ]
قوة السمعة:80
قديم 29-05-2006, 04:49 PM المشاركة 4   
افتراضي من الداخل



قلت بأن االمتحكم شبيه بحاسوب متكامل, وقلب أو عقل أي حاسوب هو المعالج, من بنتيوم وسيلرون و أ.م.د إلخ . متحكمنا بداخله معالج 8 بيت . ما معنى ذلك؟ ... معناه أنه يستطيع فقط قرائة أو كتابة سجلات بطول ثمانيه بيت ليعالجها " يطرحها يجمعها .... إلخ"
هذا المعالج , له سجل عمل خاص, إسمه "واو" . أي عمليه حسابيه , أو نقل معلومه من وإلى أي سجل , يجب أن تمر "بواو".....خذ مثالا : لدي سجل في الذاكره المؤقته إسمه طول وأريد أن أحمله بالرقم 80 . بلغة أسمبلر , أو بالأحرى في الـ 35 أمر التي يفهمها هذا المتحكم ,ليس هناك أمر " إجعل سجل طول 80 " .
والصحيح أن نستعمل أمران موجودان:
حرك رقم لواو 80
حرك واو لسجل طول

ذاكرة البرنامج :
1024 سجل بطول 14 بيت كل واحد.
هذه الذاكره تحتوي على البرنامج الذي "حرقته" , على مشروعك , أو بالأحرى على الأوامر التي كتبتها.
كل سجل في هذه الذاكره , عباره عن أمر مما كتبته.
طيب ... يا حسن إفترض أنني كتبت الأمر " حرك رقم لواو 80" وأنت تقول أن طول السجل 14 بيت فقط , أولا : كيف يساع هذا الأمر ؟ وثانيا كيف يفهم المعالج هذا الأمر.
لكي يفهم المعالج بأنك تأمره بتحميل الرقم 80 لواو .... يجب أن يكون السجل الموجود في الذاكره محملا بالرقم الثنائي التالي "11000001010000" صاحبنا المعالج يفهم أن هذا الرقم معناه " حرك رقم لواو 80" ... من أين أتيت بهذا يا حسن ؟ صديقي :آخر سته بيت أي " 110000" يفهمها المعالج بالأمر " حرك رقم لواو " هذه تشفيرة الأمر هذا , وأول 8 بيت " 1010000 0" تساوي الرقم العشري 80 .
لاحظ معي أن الرقم الثنائي كله " الـ 14 بيت " يساوي الرقم السادس عشري "3050".
كل أمر من ألـ 35 التي يفهمها المعالج له تشفيره . طيب , لو أردنا كتابة برنامج للمتحكم , وعلينا إجراء كل هذه التحليلات , سيكون عمل شاق, ومصيبه كبيره ,أليس كذلك؟ أوافقك الرأي لأني أعلم جوابك.
لحسن الحظ , هناك برامج تنصبها في حاسوبك كـ "الأم .بي.لاب" . تكتب بواسطتها برنامجك بلغة أسمبلر " حرك رقم لواو 80" وهو يحولها لسادس عشري , "ويحرقها كذلك" .
نعود لنتكلم عن ذاكرة البرنامج بحد ذاتها: قلت سابقا بأن الذاكرات مهما كان نوعها ليست اكثر من سجلات وعناوين , عدد سجلاتها 1024 معناه أن مشروعك يجب أن لا يتعدى 1024 أمر.
العناوين تبدأ بصفر .... إذا السجل الأول عنوانه صفر .... الثاني واحد ......وألـ 1024 عنوانه 1023 .
تلاحظ في الصوره أعلاه وبالتحديد في ذاكرة البرنامج : في الموضع صفر كتبت "مؤشر إعادة إنظباط" وفي الرابع مؤشر مقاطعه...سابقا شرحت لك معنى ذلك.

عداد البرنامج:

تكلمت معك عن العدادات عندما شرحت "طرف عداد" .
عداد البرنامج : سجل بطول 13 بيت . عندما تضع متحكمك في دائره وتصل التيار . هذا السجل تكون قيمته صفر . ويرتفع بواحد تلقائيا مع كل دورة ساعه "أنظر شرحي للهزاز" فيكون صفر ثم واحد وهكذا حتى 1023 . تتذكر أنني قلت بأن المعالج يطبق الأوامر بشكل تسلسلي؟.إليك السبب..... لأن عداد البرنامج هو من يحدد عنوان الأمر الذي سيطبقه المعالج.
عندما أبدأ بالتكلم معك عن "البرمجه" سنتوسع أكثر في شرح إستعمالات هذا العداد.

ذاكرة العوده:

طيب المعالج يطبق الأوامر بشكل تسلسلي إعتمادا على العنوان الذي يحتويه عداد البرنامج . كلام إتفقنا عليه, هل نحن مقيدون بهذا الترتيب ؟ يعني لو معالجنا يطبق الأمر 100 " عنوانه" ما في طريقه يرجع بها "يقفز" ليطبق الأمر العاشر"عنوانه" .....
نعم : أن يكون الأمر مئه نفسه " إستدعي 10 "
حدث ذلك وذهب إلى الموضع 10 وبدأ يطبق الأوامر مجددا بالتسلسل الموضع 11 فـ 12 وهكذا .نريده عندما يصل الموضع 20 أن يرجع ليطبق الأمر الذي يلي عملية الإستدعاء . أي إلى الموضع 101 ..... كيف أفعل ذلك ؟..... فقط بأن يكون السجل 20 يحتوي على الأمر "إرجع".
لاحظ لم نحدد إلى أين يرجع ...... المعالج يعرف ذلك تلقائيا.
سأعطيك مثل :
لنفترض أن مشروعي بسيط .... يمكنني أن أكتب خمسة أسطر ضمن برنامجي , كبرنامج مصغر أستدعيه متى أريد .

...........إستدعي................. خمسه
........... حرك رقم لواو ........ 80
.......... حرك واو لسجل........ طول
خمسه.... لا عمل
.......... لا عمل
.......... لا عمل
.......... إرجع

لاحظ البرنامج أعلاه , المصغر يبدأ بمؤشر أو إسم في هذه الحاله "خمسه" وينتهي بالأمر "إرجع"..... أحد الأوامر التي يفهمها المتحكم " لا عمل " في هذا الأمر المعالج لا يفعل شيء , ولكن مجرد قرائته تستهلك دورة ساعه واحده من الوقت الأمر "إرجع" دورتان , المصغر بأجمله يستهلك 5 دورات .
لاحظ الأمر "إرجع " لا يحدد إلى أين نرجع . بل المعالج يرجع تلقائيا ليطبق الأمر " حرك رقم لواو 80" كيف عرف ذلك ؟ بواسطة "ذاكرة العوده" المكونه من 8 سجلات , لا يمكن قرائتها أو كتابتها بالبرمجه, بل يستخدمها المعالج تلقائيا , عندما يصل لأمر إستدعاء ... يزيد على عنوانه واحد ..... "فإذا كان 100 سيصبح 101 " ثم يخزن هذا العنوان في ذاكرة العوده ..
عندما يصادف الأمر " إرجع " يستخدم العنوان المخزن في ذاكرة العوده .... لتحديد موضع الأمر الذي سيطبقه. وبعد تنفيذ أمر إرجع يمحي العنوان من ذاكرة العوده.
متحكمنا يتحمل تخزين مواضع 8 إستدعائات , فإذا زادت عن ذلك , فسيمحي تلقائيا واحد لدخول آخر . كذلك ذاكرة العوده تستخدم في المقاطعات لنفس المهمه ... في شرحنا للبرمجه ستتضح لك الصوره أكثر.

ذاكرة المعلومات:

هذه الذاكره من نوع " إإبروم" أي تحتفظ باالمعلومات لمدة أربعين عاما , بدون تيار, ويمكن قرائتها ومحيها مليون مره قبل أن تعطب, عملية القرائه أو الكتابه فيها , تحتاج لوقت أكثر من غيرها كذاكرة البرنامج"فلاش", أو الذاكره المؤقته "رام" . المهم أنها تحتوي على 64 سجل من صفر ولغاية 63 .
عملية الكتابه أو االقرائه لذاكرة المعلومات, لا تتم بشكل مباشر بل من خلال سجلات عمل خاصه موجوده داخل الذاكره المؤقته... سأشرحها في وقتها.
خذ مثلا على إستعمال هذه الذاكره : برنامجك يتطلب كلمة سر يدخلها المستعمل بواسطة لوحة مفاتيح,كلمة السر الصحيحه يجب تحفظ في ذاكرة المعلومات . إذا كانت صحيحه المتحكم سيفعل كذا وكذا ..... وغلط كذا وكذا ... وستسمح له بتغيرها .. معرفة قرائة وكتابة ذاكرة المعلومات مهم جدا في هذه الحاله.

مؤقت حراسه:

مؤقت حراسه عباره عن دائره مكونه من مقاومه ومكثف . موجوده داخل المتحكم , مبدئيا تستطيع أن تعطينا توقيت 18 ملي ثانيه . مؤقت الحراسه مستقل لا علاقه له بالهزاز وليس مربوط به . بالأحرى لا علاقه له بدورات الساعه .ولا توقيتاتها .

الذاكره المؤقته :

من نوع "رام" أي عندما نقطع التيار عنها نخسر المعلومات ...مكونه من صفحتان ذاكره .... صفحه صفر و صفحه واحد . أول 12 سجل من كلا الصفحتان " عباره عن سجلات عمل خاص" سجلات يستعملها المتحكم في عمله...مثلا سجل المؤقت االذي شرحته في طرف مقاطعه هو أحدها .
هناك 68 سجل هدف عام من الموضع 12 ولغايه 79 . أن هذه السجلات خاصه بك كمبرمج .... لك الحرية بأن تسميها كما تشاء , مثلا طول أو عرض كما ذكرت سابقا ..... إذا عندك 68 سجل تحت تصرفك المطلق. هذا في الصفحه صفر .
في الصفحه واحد: أول 12 كذلك سجلات هدف عام .
هناك 68 سجل هدف عام , عباره عن صوره طبق الأصل لسجلات الأهداف العامه الموجوده في الصفحه صفر ...... نتوقف قليلا , لتوضيح هذه النقطه .... لنقل أنه لديك سجل إسمه طول عنوانه 12في الصفحه صفر ..... فأنت تقول للمعالج إدخل الصفحه صفر .... إقرأ طول ..... أما إذا طلبت من المعالج دخول الصفحه واحد ليقوم بمهمة ما .... ثم إحتجت لقرائة سجل طول ..... فلست بحاجه للذهاب إلى الصفحه الأولى ثانية ..... فالمتحكم يضع صوره طبق الأصل للسجل ويسمها طول في الموضع 140 كل ما عليك أن تقول إقرأ طول مثلا ...رائع ..... عدا ذلك أي تغيير يجري لهذا السجل .... سواء كان في الصفحه الأولى أو الثانيه , ينعكس على مقابله , فكل واحد منهم مرآة للآخر

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


الصورة الرمزية hasanAli
hasanAli
:: عضو فضي ::
تاريخ التسجيل: Apr 2005
المشاركات: 156
نشاط [ hasanAli ]
قوة السمعة:80
قديم 30-05-2006, 05:05 PM المشاركة 5   
افتراضي لغة أسمبلر


لغة أسمبلر , وهذا الإسم المرعب , ليست أكثر 35 أمر , وبعض الترتيبات , من مستوى طفل بصف الثالث إبتدائي. سأشرحها ,وإحكم بنفسك . سأبدأ بالترتيبات أولا.
قاعدتي تقول : أن أي أمر لا تتجاوز تركيبته أربعة حقول: وهم بالترتيب" مؤشر , أمر , هدف أو رقم , إحفظ بـ ".




لاحظ معي السطر صفر , مكون فقط من حقلان فقط , أمر وهدف . الأمر "إذهب إلى " والهدف ...إلى أين نريد أن يذهب المعالج وهو "بدايه" ....
"بدايه" بحد ذاتها هي مؤشر السطر الرابع .
طيب ما معنى مؤشر ؟ ..... هو إسم أو داله , نضعها أول السطر للإشاره إليه , ونستعملها في باقي البرنامج للقفز إلى السطر حيث هو....
المؤشر يمكن أن يكون إسم لمصغر كما شرحت سابقا , إسم لجدول نضعه في برنامجنا ..
الحقل الثاني : "أمر " هو الأمر نفسه .
الحقل الثالث : هدف أو رقم : أي من الإثنين هذا يعتمد على طبيعة الأمر نفسه , لاحظ هذا الحقل في السطر صفر هناك هدف وفي السطر 4 هناك رقم .
الحقل الرابع : "إحفظ بـ " هناك أوامر يمكنك ان تضع جوابها في مكانين مختلفين , في هذا الحقل تختار أحدهما , مثلا الأمر في السطر 5 ..... يجمع ما يحتويه سجل واو مع ما يحتويه سجل الحالات ..... هذا الأمر يتيح لك أن تضع الجواب إما في "واو" أو " بالسجل " في هذا أختير سجل ....
هناك أكثر من أمر له نفس التركيبه أي " أمر فسجل وإحفظ بـ " عند شرحي للأوامر سأشير للتركيبه بإختصار [ أمر س, بـ] بالطبع أصبحت تعلم ما أقصد نعم " إن جواب هذا الأمر يمكن وضعه في مكانان مختلفين , ويواسطة "إحفظ بـ " نختار أحدهما"
الحقلان الآخران " سادس عشري و ثنائي "لا علاقه لهم مباشره بلغة أسمبلي . بل ترجمه تلقائيه يجريها البرنامج للأمر.

الأوامر الخمسه والثلاثين : أربعة أنواع: 1- متعلق بسجلات . 2- متعلق ببيت. 3 – متعلق بأرقام . 4- برمجي .

المتعلقه بسجلات :


متحكمنا يفهم 15 أمر متعلقه بسجلات : وهي أمامك أعلاه:

1- إجمع واو وسجل .................... تركيبه[ أمر س, بـ]

تعلم أن السجل ليس أكثر من رقم ثنائي ... بما قيمته عشريا من صفر لـ 255.
هذا الأمر ببساطه " يجمع قيمة واو مع قيمة سجل .

2 – منطقية "و" بين واو وسجل ........... تركيبه[ أمر س, بـ]

عمليات الجمع والطرح عمليات حسابيه , تكيفنا الذهني معها سريع والحمدلله.
منطقية "و" ليست أكثر من عمليه حسابيه لا تجمع ولا تطرح .بل تعطي الجواب حسب مقارنات لكل "بيت" من التركيبه الثنائيه لرقمين مثلا .

10000101 واو
10000001 سجل
10000001 جواب
يقارن أول بيت من "واو" مع أول بيت من "سجل" , فإذا كان كلاهما "واحد" فالجواب "واحد" ...ما دون ذلك الجواب "صفر" ......هذا كل ما في الأمر.... وهذه منطقية "و"......ثم يقارن الثاني مع الثاني ثم الثالث مع الثالث وهكذا حتى السابع مع السابع ...وعندها نحصل على الجواب النهائي.
في مثلنا أعلاه : واو = 133 عشري وسجل= 129 عشري والجواب=129 عشري.

3 – إمحي سجل .................................. تركيبه[ أمر س]

عندي سجل قيمته 10 بعد تنفيذ الأمر يمحيه "يصبح صفر"
يحول قيمة كل "بيب" في سجل ما إلى صفر منطقي.

4- نقص من سجل............................... تركيبه[ أمر س, بـ]
ينقص واحد من قيمة سجل ...... فإذا كانت قيمته 10 ستصبح 9 , ومئه يصبح 99 , لعبة أطفال ,أليس كذلك؟...
ولكن فيه سر .... السر في التركيبه...[ أمر, سجل ,إحفظ بـ] .....ومعناه .
هذا الأمر يتيح لك أن تضع الجواب إما في "واو" أو " بالسجل " نفسه.مثلا:عندي سجل "طول" وقيمته عشره
نقص من سجل......... طول.......... سجل بعد تنفيذ الأمر , ستصبح قيمة "طول" تسعه.
نقص من سجل......... طول ....... واو بعد تنفيذ الأمر , ستصبح قيمة "واو" تسعه. ويبقى السجل على قيمته الأساسيه ... أي عشره .. فهمت سره الآن؟ "فهو يستطيع أن ينقص دون أن ينقص.... ويبدوا معقدا دون أن يعقد" .
كيفني معك؟.... متفقين....


hozen
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2005
المشاركات: 53
نشاط [ hozen ]
قوة السمعة:0
قديم 30-05-2006, 08:30 PM المشاركة 6   
sun


الله اكبر عليك
فوق الممتاز
بس يا ريت ان امكن :تتبع الشرح العربى الجميل بالرمز الاجنبى للربط بين اللغتين
عربى للفهم واجنبى للتعلمل مع البرمجه
وجزاك الله كل خير


الصورة الرمزية hasanAli
hasanAli
:: عضو فضي ::
تاريخ التسجيل: Apr 2005
المشاركات: 156
نشاط [ hasanAli ]
قوة السمعة:80
قديم 30-05-2006, 10:10 PM المشاركة 7   
افتراضي


hozen
تقول "عربى للفهم واجنبى للتعلمل مع البرمجه"......بعد الشرح سأهديك ما يغنيك , عن الأجني للبرمجه.


alsheit
:: مهندس ::
تاريخ التسجيل: Mar 2006
المشاركات: 32
نشاط [ alsheit ]
قوة السمعة:0
قديم 31-05-2006, 12:06 AM المشاركة 8   
افتراضي


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

إضافة رد

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

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

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


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

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