Podcast
Questions and Answers
لتفعيل المقاطعات الخارجية في Bascom-AVR، ما هي الخطوة الأولى المطلوبة؟
لتفعيل المقاطعات الخارجية في Bascom-AVR، ما هي الخطوة الأولى المطلوبة؟
- تحديد اسم البرنامج الفرعي للمقاطعة.
- تحديد نمط عمل المقاطعة الخارجية.
- تفعيل شعاع المقاطعة المطلوب تشغيلها.
- تفعيل شعاع المقاطعات العام. (correct)
التعليمة Enable INTx
تستخدم لإلغاء تفعيل المقاطعات الخارجية.
التعليمة Enable INTx
تستخدم لإلغاء تفعيل المقاطعات الخارجية.
False (B)
ما هي وظيفة التعليمة Print
المذكورة في سياق برمجة Bascom-AVR؟
ما هي وظيفة التعليمة Print
المذكورة في سياق برمجة Bascom-AVR؟
تستخدم لطباعة البيانات على النافذة التسلسلية UART
لتحديد نمط عمل المقاطعة الخارجية (INTx)، يمكن أن يكون النمط ______ أو تصاعدياً أو مستوى منخفض أو متغير.
لتحديد نمط عمل المقاطعة الخارجية (INTx)، يمكن أن يكون النمط ______ أو تصاعدياً أو مستوى منخفض أو متغير.
صل بين أنواع المقاطعات الخارجية (INTx) وأنماط عملها المحتملة:
صل بين أنواع المقاطعات الخارجية (INTx) وأنماط عملها المحتملة:
في مثال البرنامج المذكور، ماذا يحدث عند ورود مقاطعة INT0 (عند الضغط على الزر)؟
في مثال البرنامج المذكور، ماذا يحدث عند ورود مقاطعة INT0 (عند الضغط على الزر)؟
عند الضغط على الزر الموصول مع PB2 (ورود مقاطعة INT2)، يتم تشغيل الليدات من D8 إلى D1 بالتتابع في المرة الأولى.
عند الضغط على الزر الموصول مع PB2 (ورود مقاطعة INT2)، يتم تشغيل الليدات من D8 إلى D1 بالتتابع في المرة الأولى.
ما هو الغرض من استخدام النافذة التسلسلية UART في البرنامج المذكور؟
ما هو الغرض من استخدام النافذة التسلسلية UART في البرنامج المذكور؟
التعليمة Config INTx = state
تستخدم لتحديد ______ عمل المقاطعة الخارجية.
التعليمة Config INTx = state
تستخدم لتحديد ______ عمل المقاطعة الخارجية.
ماذا يحدث عند ورود مقاطعة INT1 في البرنامج المذكور؟
ماذا يحدث عند ورود مقاطعة INT1 في البرنامج المذكور؟
Flashcards
تفعيل شعاع المقاطعات العام
تفعيل شعاع المقاطعات العام
لتفعيل المقاطعات الخارجية في Bascom-AVR، يجب أولاً تفعيل شعاع المقاطعات العام.
تفعيل شعاع المقاطعة المطلوبة
تفعيل شعاع المقاطعة المطلوبة
بعد تفعيل الشعاع العام، يجب تفعيل شعاع المقاطعة المطلوبة لتشغيلها.
تحديد نمط عمل المقاطعة (INTx)
تحديد نمط عمل المقاطعة (INTx)
يتم تحديد نمط عمل المقاطعة الخارجية (INTx) لتحديد متى يتم تفعيل المقاطعة.
تحديد اسم البرنامج الفرعي (Label)
تحديد اسم البرنامج الفرعي (Label)
Signup and view all the flashcards
تعليمة Print
تعليمة Print
Signup and view all the flashcards
Disable INTx
Disable INTx
Signup and view all the flashcards
Disable Interrupts
Disable Interrupts
Signup and view all the flashcards
Study Notes
برمجة المقاطعات الخارجية في Bascom-AVR
- لتنفيذ برمجة المقاطعات الخارجية، يلزم تنفيذ عدة خطوات أساسية.
خطوات برمجة المقاطعات الخارجية
- تفعيل شعاع المقاطعات العام لتمكين استخدام المقاطعات.
- تفعيل شعاع المقاطعة المطلوبة التي سيتم تفعيلها.
- تحديد نمط عمل المقاطعة الخارجية (INTx) سواءً كان ذلك عند:
- حالة السقوط (Falling).
- حالة الارتفاع (Rising).
- المستوى المنخفض (Low Level).
- التغيير (Change).
- تحديد اسم البرنامج الفرعي (Label) الذي سيتم تنفيذه عند حدوث مقاطعة (INTx).
أوامر وتعليمات مهمة
Disable INTx
: أمر يستخدم لإلغاء تفعيل أي من المقاطعات الخارجية أثناء عمل البرنامج.Disable Interrupts
: أمر يستخدم لإلغاء تفعيل شعاع المقاطعات العام أثناء عمل البرنامج.Print
: تعليمة تستخدم لطباعة البيانات على النافذة التسلسلية UART.
مثال تطبيقي
- برنامج يستخدم المقاطعات لتشغيل الليدات الأربعة الدنيا عند ورود مقاطعة INTO (بالضغط على زر).
- يقوم البرنامج بتشغيل الليدات الأربعة العليا عند ورود مقاطعة INT1 (عند إزالة الضغط على الزر).
- عند الضغط على الزر الموصول مع PB2 (ورود مقاطعة INT2) للمرة الأولى، يقوم البرنامج بتشغيل الليدات بدءًا من D1 وحتى D8 بالتتالي، ثم الإطفاء.
- في المرة الثانية، يقوم البرنامج بتشغيل الليدات بدءًا من D8 وحتى D1 بالتتالي، ثم الإطفاء.
- يقوم البرنامج بطباعة عدد مرات الضغط على كل زر باستخدام النافذة التسلسلية UART.
إعدادات البرنامج
$regfile = "m32def.dat"
: تحديد ملف تعريف المتحكم الدقيق المستخدم.$crystal = 8000000
: تحديد تردد الكريستال المستخدم.$baud = 9600
: تحديد معدل الباود المستخدم للاتصال التسلسلي.Config PORTA = $FF
: تهيئة المنفذ A كمنفذ إخراج.Leds Alias PORTA
: تعريف اسم بديل للمنفذ A باسم Leds.PORTA = $00
: إطفاء جميع الليدات المتصلة بالمنفذ A في البداية.PORTD.2 = 1 : PORTD.3 = 1 : PORTB.2 = 1
: تفعيل المقاومات الرافعة (Pull-up Resistors) للمداخل المتصلة بالمفاتيح.Config INTO = Falling : On INTO Sw_r1 : Enable INTO
: إعداد المقاطعة INTO لتحدث عند حافة هابطة، وتنفيذ البرنامج الفرعي Sw_r1 عند حدوثها، وتفعيل المقاطعة.Config INT1 = Rising: On INT1 Sw_r2 : Enable INT1
: إعداد المقاطعة INT1 لتحدث عند حافة صاعدة، وتنفيذ البرنامج الفرعي Sw_r2 عند حدوثها، وتفعيل المقاطعة.Config INT2 = Falling : On INT2 Sw_r3 : Enable INT2
: إعداد المقاطعة INT2 لتحدث عند حافة هابطة، وتنفيذ البرنامج الفرعي Sw_r3 عند حدوثها، وتفعيل المقاطعة.
المتغيرات
Dim I As Byte, Count1 AS Byte, Count2 AS Byte, Count3 AS Byte, F As Bit
: تعريف المتغيرات المستخدمة في البرنامج.
البرنامج الرئيسي والحلقات
Print "Hello!"
: طباعة رسالة ترحيبية في بداية البرنامج.Do ... Loop
: حلقة لا نهائية تبقي البرنامج قيد التشغيل.Idle
: أمر يجعل المعالج في وضع الخمول لتوفير الطاقة.
البرامج الفرعية للمقاطعات
-
sw_r1
: برنامج فرعي يتم تنفيذه عند حدوث المقاطعة INTO.- يقوم بتشغيل الليدات الأربعة الدنيا (
Leds = &B00001111
). - يزيد قيمة العداد Count1 بمقدار واحد (
Incr Count1
). - يطبع رسالة وعدد مرات الضغط على الزر الأول.
- يقوم بتشغيل الليدات الأربعة الدنيا (
-
sw_r2
: برنامج فرعي يتم تنفيذه عند حدوث المقاطعة INT1.- يقوم بتشغيل الليدات الأربعة العليا (
Leds = &B11110000
). - يزيد قيمة العداد Count2 بمقدار واحد (
Count2 = Count2 + 1
). - يطبع رسالة وعدد مرات الضغط على الزر الثاني.
- يقوم بتشغيل الليدات الأربعة العليا (
-
sw_r3
: برنامج فرعي يتم تنفيذه عند حدوث المقاطعة INT2.- يقوم بتشغيل الليدات من D1 إلى D8 بالتتابع ثم يطفئها بالتتابع بالاعتماد على قيمة المتغير F.
- يزيد قيمة العداد Count3 بمقدار واحد (
Incr Count3
). - يطبع رسالة وعدد مرات الضغط على الزر الثالث.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.