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

   

زكي شاكر
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: المغرب
المشاركات: 2,945
نشاط [ زكي شاكر ]
قوة السمعة:
قديم 11-03-2009, 11:03 AM المشاركة 9   
افتراضي



ليس لدي تمارين من هذا النوع ..
لكن أظن ان كل مشاريع فلوكود يمكن ان تستغل كتمارين

اعلانات

amine123
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2008
الدولة: المغرب
المشاركات: 88
نشاط [ amine123 ]
قوة السمعة:
قديم 11-03-2009, 11:16 AM المشاركة 10   
افتراضي


السلام عليكم
كيف الحال ؟
توجد الأمتحانات الوطنية لكنني لا أعرف أين أبحث عنها

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

amine123
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2008
الدولة: المغرب
المشاركات: 88
نشاط [ amine123 ]
قوة السمعة:
قديم 11-03-2009, 01:38 PM المشاركة 11   
افتراضي


من فضلك أخي العزيز
ما الفرق بين sous-programme و Macro


amine123
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2008
الدولة: المغرب
المشاركات: 88
نشاط [ amine123 ]
قوة السمعة:
قديم 11-03-2009, 01:59 PM المشاركة 12   
افتراضي


عندما نريد استدعاء sous pogramme نقوم بكتابة Call
,و الماكرو ؟؟


amine123
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2008
الدولة: المغرب
المشاركات: 88
نشاط [ amine123 ]
قوة السمعة:
قديم 11-03-2009, 02:16 PM المشاركة 13   
افتراضي


ما الفرق ما بين portA & trisA


زكي شاكر
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: المغرب
المشاركات: 2,945
نشاط [ زكي شاكر ]
قوة السمعة:
قديم 11-03-2009, 02:17 PM المشاركة 14   
افتراضي


السلام عليكم
لاحظ كود البرنامج التالي بالاسمبلي:
1/ sous-programme
هو جزء من الكود خاص بتنفيذ مجموعة من التعليمات.
وهكدا يمكن ان نستدعيه في البرنامج الرئيس Programme Principal بالتعليمة call مثلما يحدث بالنسبة ل sous-programme الخاص بالتوقيت Pause
2/ Macro
مجرد طريقة لاختصار الكتابة ..
بدل ان نكتب مجموعة من الاسطر التي تتكرر مرتين او اكثر في البرنامج الرئيس،او اجزاء البرنامج الفرعية، يمكن ان نعوضها بماكرو نعطيه عنوانا بكلمة واحدة .. وكلما كتبنا تلك الكلمة في البرنامج، يعوضه المترجم mpasm الموجود في Mplab بجميع تعليمات الاسطر الاصلية..
مثلا هنا Bank0 هي ماكرو عوضت السطرين المكتوبين بالازرق
و Bank1 عوضت السطرين المكتوبين بالاحمر
هذه العملية مهمة في البرامج كثيرة الاسطر المتكررة..
كود:
;*****************************************************************************
;* Pic 16f84a
;*****************************************************************************
LIST p=16f84a; Définition de processeur
#include <p16f84a.inc>; Définitions de constantes
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC
 
;*****************************************************************************
;MACROS
;*****************************************************************************
BANK0 macro
bcf STATUS,RP1
bcf STATUS,RP0 ;passage en banque 0
endm
BANK1 macro ; (la macro BANK1 remplace le deux lignes en rouge) 
bcf STATUS,RP1
bsf STATUS,RP0 ;passage en banque 1
endm
;*****************************************************************************
;VARIABLES
;*****************************************************************************
CBLOCK 0x0C
cmpt1 : 1
cmpt2 : 1
cmpt3 : 1
ENDC
 
;*****************************************************************************
;DEMARRAGE SUR RESET
;*****************************************************************************
org 0x000 ; Adresse de départ après reset
goto init ; Adresse 0: initialiser
;*****************************************************************************
;sous programme Initialisation
;*****************************************************************************
init ; (sous programme) 
BANK0 ;Passage en banque 0 (la macro BANK0 remplace le deux lignes en bleu)
MOVLW b'00000000'
MOVWF PORTA
MOVLW b'00000000'
MOVWF PORTB
BANK1 ;Passage en banque 1 (la macro BANK1 remplace le deux lignes en rouge)
bcf TRISB,7
BANK0 ;Passage en banque 0
goto start ; sauter au programme principal
;*****************************************************************************
;* sous programme Pause
;*****************************************************************************
Pause ; sous programme 
nop
movlw d'46'
movwf cmpt3
b3Pause
movlw d'189'
movwf cmpt2
b2Pause
movlw d'37'
movwf cmpt1
b1Pause
decfsz cmpt1,f
goto b1Pause
decfsz cmpt2,f
goto b2Pause
decfsz cmpt3,f
goto b3Pause
return
;*****************************************************************************
;Programme principal
;*****************************************************************************
start ; 
bsf PORTB,7
call Pause
bcf PORTB,7
call Pause
goto start
END ; 


التعديل الأخير تم بواسطة : زكي شاكر بتاريخ 11-03-2009 الساعة 03:16 PM

amine123
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2008
الدولة: المغرب
المشاركات: 88
نشاط [ amine123 ]
قوة السمعة:
قديم 11-03-2009, 02:26 PM المشاركة 15   
افتراضي


جزاك الله خيرا لقد فهمت


amine123
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2008
الدولة: المغرب
المشاركات: 88
نشاط [ amine123 ]
قوة السمعة:
قديم 11-03-2009, 02:32 PM المشاركة 16   
افتراضي


كيف valider les résistances de rappel au +5V.
كيف نقوم بتفعيل المقاومات الداخلية



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