دورات هندسية

 

 

الحلقة الاولى للميكروكونتروللر 8051

صفحة 2 من 4 الأولىالأولى 1 23 4 الأخيرةالأخيرة
النتائج 11 إلى 20 من 39
  1. [11]
    رحال حول العالم
    رحال حول العالم غير متواجد حالياً
    عضو فعال جداً
    الصورة الرمزية رحال حول العالم


    تاريخ التسجيل: Apr 2006
    المشاركات: 356
    Thumbs Up
    Received: 4
    Given: 0
    Special Function Registers

    SFR

    الجدول التالى يوضح موقع كل من الـ accumulator و المخزن المساعد B
    الرسم التالى يوضح موقع ال منفذ ( 1 ) ( port 1 ) العنوان من (90H ) الى (97H )
    Program Status Word

    PSW
    يحتوى الـ PSW على التالى :-
    Carry flag

    CY

    يستخدم اثناء عمليات الجمع او الطرح حيث يخزن فيه 1 اذا ما ظهر لدينا قيمة تنتقل الى خانة اعلى او عند الطرح و ظهور رقم اقل من امطروح منه .
    الامثلة التالية تحدد وظيفة الـ Carry :-

    1-
    MOV A, #FFFH
    ADD A, #1

    ما هى حالة الـ Cary Flag ؟
    FFH+1H=100H
    هنا نجدأن:-
    A=#00 , CY = 1

    2-
    MOV R5, #55H
    MOV A, #0AAH
    ADD A, R5
    [/SIZE];
    ما هى حالة الـ Cary Flag ؟

    0AAH+55H = 0FFH

    هنا نجد أنه لا يوجد باقى
    A=FFH and CY=0 (No Carry)

    Auxiliary Carry flag
    AC

    [SIZE="4"
    ]
    - عند التعامل مع نظام التكويد العشرى على هيئة ثنائى ( BCD ) و تحديداً عند عمل إضافة فانه عند الانتقال من الخانة الثالثة الى الخانة الرابعة فانه ( AC ) تحمل الرقم 1 .
    - مثال لتوضيح استخدام ( AC )
    مطلوب معرفة حالة ( AC ) و محتوى المسجل ( Accumulator ) بعد تنفيذ التتابع التالى :-

    MOV R5, #1;
    MOV A, #9;
    ADD A, R5
    ;
    الاجابة :-
    لفهم هذا المثال يلزم مراجعة الانظمة العددية ( ليست مجال الموضوع حالياً )

    A=10H (BCD) =1010 = 00010000B , AC=1
    Register bank select bit
    RS1 and RS0


    كيفية اختيار المخزن داخل كل مصفوفة
    يتم ذلك من خلال تحديد قيم ( D3 & D4 ) داخل الـ ( PSW )
    و ذلك من خلال عمل تكويد بسيط يحمل اربع قيم ( 0 ، 1 ، 2 ، 3 ) و كل فيمة تعبر عن رقم المصفوفة المستخدمة .
    (
    RS1, RS0 ) à ( 0 , 0 ) à ( Regester Bank 0 is Selected )
    ( RS1, RS0 ) à ( 0 , 1 ) ---> ( Regester Bank 1 is Selected )
    ( RS1, RS0 ) à ( 1 , 0 ) ---> ( Regester Bank 2 is Selected )
    ( RS1, RS0 ) ---> ( 1 , 1 ) à ( Regester Bank 3 is Selected
    )
    و يتم التحكم فى هذه القيم من خلال الأوامر التالية :-
    SETB RS1; CLR RS0

    هنا تم ضبط نظام التكويد الى الوضع ( RS1, RS0 ) = ( 1 , 0 ) و من ثم اختيار المصفوفة Regester Bank 2
    لاحظ وظيفة الامر SETB و التى يمكن استخدامها مع اسم (( SFR او عنوانها مباشرة

    SETB RS1 (= SETB 0D4H)
    SETB RS0 (=SETB 0D3H)



    Overflow Flag
    OV

    بما اننا نعمل على ميكرو 8 بت فمن ثم فاننا محددين بقيم فى المدى ( 127 الى –128 ) حيث ان الاعداد المستخدم كقيمة عظمى هى ( 2^8 = 256 ) و يتم توزيعهم كالتالى
    ( 1 : 127 & 0 & -1 : -128 )
    و من ثم فإن اى عملية حسابية يجب ان يكون الرقم الناتج عنها فى نطاق
    (-128 < X < 127 ) و اذا كان خلاف ذلك يحمل المخزن ( OV ) القيمة ( 1 ) .
    مثال توضيحى :-
    MOV R7, #0FFH;
    MOV A, #0FH;
    ADD A, R7

    مطلوب تحديد حالة الـ OV
    R7=11111111
    لتحويل هذا الرقم الى النظام العشرى:-
    راقب الصورة العامة تجدها ( 1xxxxxxx ) و التى تعنى ان الرقم سالب لذلك نحول كل ( 0 ) الى ( 1 ) و كل ( 1 ) الى ( 0 ) ثم اجمع ( 1 ) على الناتج و اكتب الرقم بالشارة السالبة .
    (00000000+1= - 00000001 so (( R7 = -1))
    A=00001111 (15)
    راقب الصورة العامة تجدها ( 0xxxxxxx ) و التى تعنى ان الرقم موجب اى ان A= 15
    A=-1+15=14 =0EH< 127 so OV=0 --No overflow)
    الموضوع هنا يحتاج الى وقفة :-

    اتفقنا ان الاعداد بين (127 : – 128 ) ، إذن كيف يتم التعبير عنها ؟؟؟؟
    الرقم ( 0 ) هو ( 00000000 )
    الارقام الموجبة تكتب على الصورة ( 0xxxxxxx ) اى من ( 00000001 ) = ( 1 ) الى ( 01111111) = ( 127 ) .
    الارقام السالبة تكتب على الصورة (1xxxxxxx ) اى من (10000000) = ( - 128 ) الى ( 11111111 ) = ( - 1 )
    A=-1+15=14 =0EH< 127 ------> OV=0 (No overflow)

    Parity bit

    P

    هذا العلم يستخدم لعمل فحص لعدد الـ ( 1 ) التى تمر ضمن البيانات الى الـ Accumulator و تتغير قيمة هذا العلم كل دورة Machine Cycle ، و يحمل العدد 0 اذا كانت الـ 1s زوجية و يحمل القيمة 1 اذا كانت الـ 1 s فردية اى انها تعبر عن الـ ( ODD Parity Bit ) كالتالى :-
    MOV A, #55H
    A=01010101B ---> numbers of 1-bit = 4 ----> P=0

    B register or B accumulator
    يستخدم ال( Accumulator ( B كمساعد الـ ( Accumulator ( A
    - فمثلاً عند عملية الضرب ممكن جداً ان يكون الناتج خارج اطال الـ 8 بت و من ثم يتم تقسيم ناتج الضرب الى جزئين ( علوى High و سفلى Low ) بحيث تحمل الـ ( Accumulator ( B القيم العليا بينما يحمل الـ ( Accumulator ( A القسم السفلى
    MUL AB

    Results of low-byte in A and high-byte in B.
    - و كذلك عند عملية القسمة نجد ان خارج القسمة يتجزأ الى جزئين الارقام الصحيحة تخزن فى الـ ( Accumulator ( A .. بينما الكسور تخزن فى الــ Accumulator ( B )

    Stack Pointer
    SP
    هو مخزن سعته8 بت عند العنوان 81H و يستخدم عند التعامل مع البرامج او البيانات المخزنة على ذاكرة خارجية ملحقة بالميكروكونتروللر 8051 . و لا يمكن التعامل معه على مستوى الـبت
    Data pointer (DPTR)

    عبارة عن مخزن سعته 16 بت (16-bit register) وو يستخدم فى الاحتفاظ بعناويين البيانات و يمكنه الاشارة الى عناوين حتى 64 كيلو و من ثم يستخدم غالباً عند التعامل مع الذاكرة الخارجية و هومنقسم الى جزئين علوى و سفلى :-
    DPH: Data Pointer High-byte----> at 83H
    DPL: Data Pointer Low-byte-----> at 82H
    و له استخدامات هامة للتعامل مع الذاكرة الخارجية حيث انه يشير الى عناوين البيانات و تصل حجم البيانات الى 16 بت ( 2^16 ) == ( 64 كيلوبت ) و المثال التالى يوضح احد استخداماته :-
    MOV A, #55H è A=55H
    MOV DPTR, #1000H è DPTR=1000H (16-bit)
    MOVX @DPTR, A

    ---> Move the ******* of A to the external RAM location whose address is in DPTR==1000H
    الامر الاخير يقوم بتحويل القيم المخزنة فى ال ( Accumulator ( A الى العنوان المخزن على الـ Data pointer (( لاحظ انه يشير لعنوان خارج نطاق 4 كيلو و من ثم فانه يشير لبيانات مخزنة فى ذاكرة خارجية )) .

    Port Registers


    و الان جاء الدور لنتحدث عن المخازن التى تحمل القيم المارة عبر منافذ الادخال و الاخراج ( Port 0 & 1 & 2 & 3 ) .
    نلاحظ ان المنافذ (Port 0 & 2 & 3 ) قد لا تكون لاستخدامات الادخال و الاخراج اثناء التعامل مع الذاكرة الخارجية أو فى حالة استخدام بعض الامكانات الخاصة بالميكروكونتروللر 8051 مثل التعامل مع ( interrupt. Serial port ) و بالرغم من ذلك نجد ان المنفذ ( Port 1 ) مستخدم دائماً و ابداً كمنفذ اخال و اخراج و كذلك يمكننا التعامل معه على مستوى البت , و من ثم يمكن ادارة و ايقاف عدد 8 محركات من خلال اشارة خرج على الاطراف الثمانية المتاحة كالتالى :-


    SETB P1.7 (=SETB 97H)---> might turn the motor ON
    CLR P1.7 (=CLR 97H)----> might turn the motor OFF.
    Timer Registers


    يحتوى الميكروكونتروللر 8051 على عدد 2 مؤقت بسعة 16 بت يطلق عليهم ( ( TL0 and TL1.
    يتم تشغيل المؤقت من خلال ضبط مخازن الحالة (TMOD) و كذلك مخازن التحكم (TCON) .
    و من المعروف ان مخازن التحكم (TCON) يتم التعامل معها على مستوى البت

    Serial Port Registers


    مخازن منفذ التوصيل التسلسلى
    - من المعروف ان الميكروكونتروللر 8051 له منفذ توصيل تسلسلى للاتصال بالجهزة التى تعمل على ارسال و استقبال البانات التسلسلية مثل ( الفأرة – لوحة المفاتيح – الموديم – او حتى الاتصال باى دائرة متكاملة تعتمد على نقل البيانات المتسلسل مثل محولات الاشارات التماثلية Analog الى رقمية Digital و مخازن الترحيل Shift Register و الذاكرة RAM و ....... ...... ..... الخ ) .
    - يتم تخزين البيانات المراد نقلها ( مرسلة او مستقبلة ) داخل مخزن مستقل عند العنوان 99H و يسمى SBUF (serial data buffer) .
    - و يوجد كذلك مخزن للتحكم فى عدة لنواع من الاتصال التسلسلى يسمى SCON (serial port control register).
    المخزن يمكن التعامل معه على مستوى البت

    Interrupt Registers


    مسجلات الاعاقة ( الطوارئ )
    - هذه المسجلات تكون غير نشطة عقب التشغيل مباشرة و لا تنشط الا من خلال المخزن الخاص بها
    interrupt enable register ==IE عند العنوان A8H .
    - و لدينا اكثر من نوع من الاعاقات يمكن ان تحدث عبر هذا السجل و تسجل الاولويات عبر مخزن الاولويات priority register ==IP عند العنوان B8H .
    - كل من مخزن الاعاقة و مخزن الاولويات يتم التعامل معه على مستوى البت .


    Power Control Register

    مخزن التحكم بالطاقة
    -يحتوى هذا المخزن على مجموعة من الاعلام الهامة جداً ، نفصلها فيما يلى :-

    SMOD

    تستخدم لجعل معدل التدفق للبيانات baud rate التسلسلية يتضاعف baud rate is doubled و ذلك فى حالاتها الثلاث serial port modes 1, 2, and 3 و يتم ذلك بجعلها تحمل القيمة ( 1 )
    GF1 & GF0
    اعلام متعددة الاغراض
    PD

    Power down
    تستخدم لتفعيل حالة النوم للميكروكونتروللر حيث يكون كل الوظائف متوقفة و تظل الذاكرة ( RAM ) محتفظة بالبيانات التى عليها و كذلك تظل ارجل المنافذ محتفظة بحالتها بينما يتم اجبار كل من (ALE ) و (PSEN ) على البقاء فى الحالة ( low ) و جهد التغذية (VCC ) المطلوب وقتئذٍ هو ( 2V ) حتى المذبذب ( oscillator ) يتوقف و للخروج من هذه الحالة هو مفتاح reset .

    IDL

    Idle mode

    يستخدم لتنشيط حالة الخمول .
    عند تفعيل هذا العلم ، المذبذب الداخلى (internal clock signal ) يحجب عن المعالج ( CPU ) بينما تكون حالة المعالج باقية على حالتها و كذلك كل محتويات المخازن و كذلك تظل اطراف المنافذ محتفظة بحالتها بينما تجبر كل من ( ALE ) و (PSEN ) على البقاء فى الحالة (high ) .
    External Memory
    - عند استخدام الذاكرة الخارجة يكون المنفذ رقم ( 0 ) (Port 0 ) غير متاح كمنفذ ادخال و اخراج و لكنه يتحول الى مؤشر للعنوان من (A0 ) الى (A7 ) و كذلك حامل للبيانات من (D0 ) الى (D7 ) فيما يعرف بـ
    multiplexed address and data
    و ذلك بالتعاون مع (ALE ) و التى تعمل على حفظ او تخزين الجزء السفلى من عناوين البيانات (low-byte of the address ) و ذلك فى بداية كل دورة للذاكرة الخارجية بينما يقوم المنفذ رقم ( 2 ) (Port 2 ) محتفظاً بالجزء العلوى من عناوين البيانات (high byte of the address )

    Accessing External Code Memory

    - طبعاً سيتسأل الجميع عن آلية عمل الــ ( multiplexed arrangement ) ؟؟؟؟؟؟؟؟؟
    الموضوع بسيط جداً و يتم كما يلى :-
    - خلال النصف الاول من دورة الذاكرة ( memory cycle ) القيمة السفلى فى العنوان low-byte تظهر على المنفذ رقم ( 0 ) (Port 0 )و يتم الحتفاظ به بواسطة ( ALE )
    و التى ترسلها الى متكاملة التخزين ( 74HC373 ) و التى تحفظها خلال كل الدورة (duration of the memory cycle )
    - خلال النصف الثانى من الدورة يستخدم المنفذ رقم ( 0 ) (Port 0 ) كناقل بيانات (( يكتب او يقرأ حسب طبيعة العملية )) .

    0 Not allowed!









    محمـــــــــــــــــــد ...... بشر ليس كالبشر
    فهو لــــــــــؤلــــــــــؤة و الناس كالحجر




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

    .................................................. ...................................

  2. [12]
    رحال حول العالم
    رحال حول العالم غير متواجد حالياً
    عضو فعال جداً
    الصورة الرمزية رحال حول العالم


    تاريخ التسجيل: Apr 2006
    المشاركات: 356
    Thumbs Up
    Received: 4
    Given: 0
    هنا نكون قد انتهينا من الشرح التفصيلى للمكونات الداخلية للميكروكونتروللر 8150 و من ثم فالمجال مفتوح لكل من يجد شئ غير واضح فى الشرح السابق بأن يتقدم بأى اسئلة و الله المستعان و الموفق على اجابتها

    0 Not allowed!









    محمـــــــــــــــــــد ...... بشر ليس كالبشر
    فهو لــــــــــؤلــــــــــؤة و الناس كالحجر




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

    .................................................. ...................................

  3. [13]
    رحال حول العالم
    رحال حول العالم غير متواجد حالياً
    عضو فعال جداً
    الصورة الرمزية رحال حول العالم


    تاريخ التسجيل: Apr 2006
    المشاركات: 356
    Thumbs Up
    Received: 4
    Given: 0
    ترقبوا بأمر الله تعالى الحلقة الثانية و الانتقال الى ربط الميكروكونتروللر 8051 بالعالم الخارجى


    0 Not allowed!









    محمـــــــــــــــــــد ...... بشر ليس كالبشر
    فهو لــــــــــؤلــــــــــؤة و الناس كالحجر




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

    .................................................. ...................................

  4. [14]
    No peacE
    No peacE غير متواجد حالياً
    عضو فعال جداً
    الصورة الرمزية No peacE


    تاريخ التسجيل: Apr 2006
    المشاركات: 327
    Thumbs Up
    Received: 1
    Given: 0
    بارك الله فيك اخ رحال بس في صور غير ظاهرة في الموضوع ......... يا ريت تعيد تحميلهم او تجمع الموضوع كله في ملف واحد وتحمله في المنتدى
    ولك جزيل الشكر

    0 Not allowed!






    رَبَنآ اغفِر لَنَا ذُنُوبَنَا وَإسرَافَنَا فيِ أمرِنَا
    وَثَبِت أقدَامَنَا وَانصُرنَا عَلَى القَومِ الكَافِرِينَ

  5. [15]
    eng_mohand
    eng_mohand غير متواجد حالياً
    عضو فعال جداً
    الصورة الرمزية eng_mohand


    تاريخ التسجيل: Oct 2006
    المشاركات: 180
    Thumbs Up
    Received: 2
    Given: 0
    جزالك الله كل خير

    0 Not allowed!


    eng_mohand

  6. [16]
    رحال حول العالم
    رحال حول العالم غير متواجد حالياً
    عضو فعال جداً
    الصورة الرمزية رحال حول العالم


    تاريخ التسجيل: Apr 2006
    المشاركات: 356
    Thumbs Up
    Received: 4
    Given: 0
    اقتباس المشاركة الأصلية كتبت بواسطة No peacE مشاهدة المشاركة
    بارك الله فيك اخ رحال بس في صور غير ظاهرة في الموضوع ......... يا ريت تعيد تحميلهم او تجمع الموضوع كله في ملف واحد وتحمله في المنتدى
    ولك جزيل الشكر
    السلام عليكم و رحمة الله
    عزيزى .... أظن ان الصور كلها ظاهرة و ان كان لديك استفسار عن صورة غير واضحة حدد العنوان الخاص بها و ان شاء الله تعالى اتمكن من الرد و التوضيح .


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

    0 Not allowed!









    محمـــــــــــــــــــد ...... بشر ليس كالبشر
    فهو لــــــــــؤلــــــــــؤة و الناس كالحجر




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

    .................................................. ...................................

  7. [17]
    tarekdia
    tarekdia غير متواجد حالياً
    عضو
    الصورة الرمزية tarekdia


    تاريخ التسجيل: Apr 2007
    المشاركات: 18
    Thumbs Up
    Received: 0
    Given: 0
    thank you very much

    0 Not allowed!



  8. [18]
    رحال حول العالم
    رحال حول العالم غير متواجد حالياً
    عضو فعال جداً
    الصورة الرمزية رحال حول العالم


    تاريخ التسجيل: Apr 2006
    المشاركات: 356
    Thumbs Up
    Received: 4
    Given: 0
    السلام عليكم و رحمة الله و بركاته
    اعزائى اعضاء المنتدى
    نظراً لان مدة الاستفتاء اوشكت على الانتهاء ، حيث كنت قد قررت لها مدة 30 يوم فقط لم يتبقى منها سوى يومين
    و حيث انه لم يشارك سوى 11 عضو فقط :confused: فى هذا الاستفتاء
    معنى ذلك انه لا يتواجد مهتمين غيرهم و اسمحوا لى ان اتقدم لهم بالشكر لمشاركاتهم الايجابية
    و اود ان اذكر اسماء المتفاعلين بايجابية مع الدورة

    م.سعد نجم
    mr_safwt
    No peacE
    eng_mohand
    jaf74
    احمد الورداني
    بوسهيل
    plaingroom
    tarekdia




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

    0 Not allowed!









    محمـــــــــــــــــــد ...... بشر ليس كالبشر
    فهو لــــــــــؤلــــــــــؤة و الناس كالحجر




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

    .................................................. ...................................

  9. [19]
    ezzat e
    ezzat e غير متواجد حالياً
    عضو فعال


    تاريخ التسجيل: Mar 2007
    المشاركات: 68
    Thumbs Up
    Received: 0
    Given: 0
    جزاك الله خيرا , وكثر الله من امثالك , تحياتى وبالتوفيق جميعا .

    0 Not allowed!



  10. [20]
    mjmm
    mjmm غير متواجد حالياً
    عضو


    تاريخ التسجيل: May 2006
    المشاركات: 17
    Thumbs Up
    Received: 0
    Given: 0
    جزاك الله خيرا

    0 Not allowed!



  
صفحة 2 من 4 الأولىالأولى 1 23 4 الأخيرةالأخيرة
الكلمات الدلالية لهذا الموضوع

عرض سحابة الكلمة الدلالية

RSS RSS 2.0 XML MAP HTML