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

   

alsatel07
:: موقوف ::
تاريخ التسجيل: Jun 2014
الدولة: Usa
المشاركات: 354
نشاط [ alsatel07 ]
قوة السمعة:
قديم 24-01-2020, 12:17 AM المشاركة 9   
افتراضي



السلام عليكم

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

اعلانات

alsatel07
:: موقوف ::
تاريخ التسجيل: Jun 2014
الدولة: Usa
المشاركات: 354
نشاط [ alsatel07 ]
قوة السمعة:
قديم 25-01-2020, 01:44 PM المشاركة 10   
افتراضي


السلام عليكم
اعتذر عن الغياب لسبب مرض ابني عفاكم الله
ممكن من الاحب المزيد من الدروس حول multi task اذا امكن او حتي با لفيديوا لاني اريدوا عمل مشروع لوح اشهارية بالد
المشروع هو ra0=1.ra1=0.ra2=0 ثم ra0=0.ra1=1.ra2=0 ثم ra0=0.ra1=0.ra2=1 المده 100ms عدد الدوران 10 ثم العكس 10 مرات ال مالا النهاية

2 اشتعال اللد rb0 وذهابه الى rb7 ثم يستقر اي يبقى مشتعل ثم rb0 وذهابه الى rb6 ثم يستقر شاعلا حتى نهاية port rb
3 مرات
المدة الزمنية 500ms
3 وميض كل rb مع بعض 5 مرات المدة 1000 ms
4 وميض rb0 rb1 rb2 rb3 rb4 و بعدها rb5 rb6 rb7 اي المصفوفة الاولا ثم التانية

طلب مني هذا المشروع من الشركة التي اعملوا فيها عملت هدا المشروع ب 2 بيك لكن اريده ب بيك واحد 16f88
اتمنى طلبي غير ثقيل على اخواني
تحياتي

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

alsatel07
:: موقوف ::
تاريخ التسجيل: Jun 2014
الدولة: Usa
المشاركات: 354
نشاط [ alsatel07 ]
قوة السمعة:
قديم 28-01-2020, 10:13 PM المشاركة 11   
ha


السلام عليكم

char counter1=0;
char counter2=0;
char counter3=0;


void InitTimer1(){
T1CON = 0x01;
TMR1IF_bit = 0;
TMR1H = 0xD8;
TMR1L = 0xF0;
TMR1IE_bit = 1;
INTCON = 0xC0;
}

void Interrupt(){
if (TMR1IF_bit){
TMR1IF_bit = 0;
TMR1H = 0xD8;
TMR1L = 0xF0;

counter1++;
counter2++;
counter3++;

if(counter1==200){counter1=0;
porta.f0=~porta.f0;
}

if(counter2==50) {portb.f0=1;portb.f1=0;portb.f2=0;}
if(counter2==100){portb.f0=0;portb.f1=1;portb.f2=0 ;} هل ممكن تكرير هذا الكود 5 مرات
if(counter2==150){portb.f0=0;portb.f1=0;portb.f2=1 ;counter2=0;}يمينا تم 5 مرات يسارا و شكرا لكم


if(counter3==150){portb.f3=1;portb.f4=0;}
if(counter3==200){portb.f3=0;portb.f4=1;counter3=0 ;}

}
}

void main() {
cmcon=7;
adcon1=7;
porta=0;
portb=0;
trisa=0;
trisb=0;
InitTimer1();


التعديل الأخير تم بواسطة : alsatel07 بتاريخ 28-01-2020 الساعة 10:38 PM

منى حسين
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2011
المشاركات: 97
نشاط [ منى حسين ]
قوة السمعة:
قديم 29-01-2020, 02:30 AM المشاركة 12   
افتراضي


السلام عليكم

char counter1=0;
char counter2=0;
char counter3=0;


void InitTimer1(){
T1CON = 0x01;
TMR1IF_bit = 0;
TMR1H = 0xD8;
TMR1L = 0xF0;
TMR1IE_bit = 1;
INTCON = 0xC0;
}

void Interrupt(){
if (TMR1IF_bit){
TMR1IF_bit = 0;
TMR1H = 0xD8;
TMR1L = 0xF0;

counter1++;
counter2++;
counter3++;

if(counter1==200){counter1=0;
porta.f0=~porta.f0;
}

if(counter2==50) {portb.f0=1;portb.f1=0;portb.f2=0;}
if(counter2==100){portb.f0=0;portb.f1=1;portb.f2=0 ;} هل ممكن تكرير هذا الكود 5 مرات
if(counter2==150){portb.f0=0;portb.f1=0;portb.f2=1 ;counter2=0;}يمينا تم 5 مرات يسارا و شكرا لكم


if(counter3==150){portb.f3=1;portb.f4=0;}
if(counter3==200){portb.f3=0;portb.f4=1;counter3=0 ;}

}
}

void main() {
cmcon=7;
adcon1=7;
porta=0;
portb=0;
trisa=0;
trisb=0;
InitTimer1();

كود:




char counter1=0;
char counter2=0;
char counter3=0;


void InitTimer1(){
T1CON = 0x01;
TMR1IF_bit = 0;
TMR1H = 0xD8;
TMR1L = 0xF0;
TMR1IE_bit = 1;
INTCON = 0xC0;
}

void Interrupt(){
if (TMR1IF_bit){
TMR1IF_bit = 0;
TMR1H = 0xD8;
TMR1L = 0xF0;

counter1++;
counter2++;
counter3++;

if(counter1==200){counter1=0;
porta.f0=~porta.f0;
}

if(counter2==50) {portb.f0=1;portb.f1=0;portb.f2=0;}
if(counter2==100){portb.f0=0;portb.f1=1;portb.f2=0 ;} هل ممكن تكرير هذا الكود 5 مرات
if(counter2==150){portb.f0=0;portb.f1=0;portb.f2=1 ;counter2=0;}يمينا تم 5 مرات يسارا و شكرا لكم


if(counter3==150){portb.f3=1;portb.f4=0;}
if(counter3==200){portb.f3=0;portb.f4=1;counter3=0 ;}

}
}

void main() {
cmcon=7;
adcon1=7;
porta=0;
portb=0;
trisa=0;
trisb=0;
InitTimer1();


alsatel07
:: موقوف ::
تاريخ التسجيل: Jun 2014
الدولة: Usa
المشاركات: 354
نشاط [ alsatel07 ]
قوة السمعة:
قديم 29-01-2020, 11:21 AM المشاركة 13   
افتراضي


السلام عليكم

اخي الكريم مهندس منى حسين لم افهم من هذا الكود لم يتغير شيئ فيه ارجوا التوضيح مع تحياتي لكم جميعا


فيصل الريامي
:: مهندس ::
تاريخ التسجيل: Dec 2018
المشاركات: 36
نشاط [ فيصل الريامي ]
قوة السمعة:
قديم 29-01-2020, 08:27 PM المشاركة 14   
افتراضي



char counter1=0;

char counter3=0;
char x=0;
char y=0;

void InitTimer1(){
T1CON = 0x01;
TMR1IF_bit = 0;
TMR1H = 0xD8;
TMR1L = 0xF0;
TMR1IE_bit = 1;
INTCON = 0xC0;
}

void Interrupt(){
if (TMR1IF_bit){
TMR1IF_bit = 0;
TMR1H = 0xD8;
TMR1L = 0xF0;

counter1++;

counter3++;

if(counter1==200){counter1=0;
RA0_BIT=~RA0_BIT;
}


if(counter3==150){portb.f3=1;portb.f4=0;}
if(counter3==200){portb.f3=0;portb.f4=1;counter3=0 ;}

}
}

void main() {
cmcon=7; // stop cmparetors
adcon1=7; // put all ports as digital
porta=0; // porta 0v
portb=0; // portb 0v
trisa=0; //porta output
trisb=0; //portb output

InitTimer1(); // Initiating of Timer1


while(1){

for(x=0;x<5;x++){
portb.f0=1;portb.f1=0;portb.f2=0;
delay_ms(250);
portb.f0=0;portb.f1=1;portb.f2=0;
delay_ms(250);
portb.f0=0;portb.f1=0;portb.f2=1;
delay_ms(250);
}
for(y=0;y<5;y++){
portb.f0=0;portb.f1=0;portb.f2=1;
delay_ms(250);
portb.f0=0;portb.f1=1;portb.f2=0;
delay_ms(250);
portb.f0=1;portb.f1=0;portb.f2=0;
delay_ms(250);

}
}
}











التعديل الأخير تم بواسطة : فيصل الريامي بتاريخ 29-01-2020 الساعة 08:30 PM

منى حسين
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2011
المشاركات: 97
نشاط [ منى حسين ]
قوة السمعة:
قديم 29-01-2020, 10:55 PM المشاركة 15   
افتراضي


السلام عليكم

اخي الكريم مهندس منى حسين لم افهم من هذا الكود لم يتغير شيئ فيه ارجوا التوضيح مع تحياتي لكم جميعا


نعم الكود هو نفسه لم اغير فيه ابدا.المشاركة لعرضـــه بالشكل المتعارف عليه ليسهل فهمه فقط وشكرا للسؤال


alsatel07
:: موقوف ::
تاريخ التسجيل: Jun 2014
الدولة: Usa
المشاركات: 354
نشاط [ alsatel07 ]
قوة السمعة:
قديم 30-01-2020, 11:36 AM المشاركة 16   
افتراضي


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

ملاحضة لماذا char x char y بما اننا نستطيع استعمال واحدة فقط في عدت دالات for مهما كان عددها


التعديل الأخير تم بواسطة : alsatel07 بتاريخ 30-01-2020 الساعة 11:39 AM


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