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

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

ardino160
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2014
المشاركات: 134
نشاط [ ardino160 ]
قوة السمعة:0
قديم 14-05-2016, 09:33 AM المشاركة 1   
ha ممكن طريقة صنع تايمر Twitter FaceBook Google+



اسلام عليكم
اخواني الاعضاء الكرام
ممكن مساعدتي بأفكاركم في طريقة صنع تايمر زمني باستعمال مايكروكنترولر بحيت نضبطه متلا على مدة معينة متلا 60 دقيقة بعدها ينفد المايكروكنترولر الاوامر وبعد مرور 60 دقيقة أخرة يكرر تنفيد الامر وهكذا يعني كل ما تمر تلك المدة يكرر تنفيد تلك الاوامر

ودائرة تحتوي على زرين لزيادة وخفض المذة وشاشة lcd و المايكروكنترولر

على فكرة هذه دائرة ستستعمل في ألة لتفقيس بيض دواجن بحيت كل ما تمر مدة معينة ينقلب البيض

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 14-05-2016, 01:07 PM المشاركة 2   
افتراضي


تابع مع صاحب هذا الموضوع
http://www.qariya.info/vb/showthread.php?t=186166

حيدر علاج حسن
احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً ardino160 ( شكر العضو على هذه المشاركة )
اعجاب ardino160 ( أعجبته المشاركة )
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

ardino160
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2014
المشاركات: 134
نشاط [ ardino160 ]
قوة السمعة:0
قديم 14-05-2016, 09:44 PM المشاركة 3   
افتراضي


شكرا لك أستاد حيدر

في دالك الموضوع نفس المبدأ لكن الفكرة مختلفة

الفرق هو أنني أريد تغير المدة من 1 ساعة الى 6 ساعات بواسطة زرين أو ثلات أزرار وشاشة LCD

أما في دالك الموضوع لديه زمن تابت في ساعتين

شكرا لك أستاد حيدر


محمد القادري
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2011
المشاركات: 101
نشاط [ محمد القادري ]
قوة السمعة:0
قديم 15-05-2016, 06:45 AM المشاركة 4   
افتراضي


السلام عليكم

البرنامج التالي يقوم بحساب الوقت بالثواني والدقائق والساعات وعرضها على شاشة lcd ...

بنفس الوقت يقوم بقلب حالة موتور كل دقيقتين بمعنى كل دقيقتين يقوم بتغيير حالة الموتور من الايقاف الى التشغيل ومن التشغيل الى الايقاف على حسب حالة الموتور

بامكانك توظيف البرنامج بالشكل المناسب ...

المتحكم المستخدم PIC16F877A والكريستال 4MHz ويجب ان تكون قيمة الكريستال 4MHz لانه حسابات التايمر في هذا البرنامج معتمدة على قيمة الكريستال ...

كود:


sbit LCD_RS at RD0_bit;
sbit LCD_EN at RD1_bit;
sbit LCD_D4 at RD4_bit;
sbit LCD_D5 at RD5_bit;
sbit LCD_D6 at RD6_bit;
sbit LCD_D7 at RD7_bit;

sbit LCD_RS_Direction at TRISD0_bit;
sbit LCD_EN_Direction at TRISD1_bit;
sbit LCD_D4_Direction at TRISD4_bit;
sbit LCD_D5_Direction at TRISD5_bit;
sbit LCD_D6_Direction at TRISD6_bit;
sbit LCD_D7_Direction at TRISD7_bit;






unsigned int CNT=0,SECONDS=0,MINUTES=0,HOURS=0,COUNTER=0,MS=0;

char *MOTORSTATE[]={"MOTOR OFF","MOTOR ON"};
char X[9];
void TOGGLE_MOTORON(){PORTC.F0=PORTC.F0^1;MS=MS^1;}

void interrupt(void){
 if(PIR1.TMR1IF==1){
   CNT++;
   if(CNT==20){SECONDS++;CNT=0;}                            //THIS STATEMENT EXCUTES EVERY SECOND
    if(SECONDS==60){MINUTES++;SECONDS=0;COUNTER++;}         //THIS STATEMENT EXCUTES EVERY MINUTE
    if(MINUTES==60){HOURS++;MINUTES=0;}                   //THIS STATEMENT EXCUTES EVERY HOUR
     if(HOURS==24){HOURS=0;}                             //THIS STATMENT EXCUTES EVERY DAY
     


   TMR1L=176;TMR1H=60;
     PIR1.TMR1IF=0;
 }

}







void main() {
   ADCON1=0X0F;
 T1CON=0x00;TRISC.F0=0;PORTC.F0=0;
INTCON.GIE=1;INTCON.PEIE=1;PIE1.TMR1IE=1;PIR1.TMR1IF=0;

TMR1L=176;TMR1H=60;
 T1CON.TMR1ON=1;
 Lcd_Init();
 Lcd_Cmd(_LCD_CLEAR);
 Lcd_Cmd(_LCD_CURSOR_OFF);
 
 while(1){
  Lcd_Cmd(_LCD_CLEAR);
  
  if(COUNTER==2) {TOGGLE_MOTORON();COUNTER=0;}  //this statement excutes every two minutes
  
   sprinti(X,"%02u:%02u:%02u",HOURS,MINUTES,SECONDS);
    Lcd_Out(1,5,X);
   sprinti(X,"%s",MOTORSTATE[MS]);
    Lcd_Out(2,5,X);
    DELAY_MS(1000);
 }
}







التعديل الأخير تم بواسطة : محمد القادري بتاريخ 15-05-2016 الساعة 07:22 AM
احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً ardino160 ( شكر العضو على هذه المشاركة )
اعجاب ardino160 ( أعجبته المشاركة )

ardino160
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2014
المشاركات: 134
نشاط [ ardino160 ]
قوة السمعة:0
قديم 15-05-2016, 09:54 AM المشاركة 5   
افتراضي


شكرا لك أخي الكريم محمد القادري
سأحاول تعديله


محمد القادري
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2011
المشاركات: 101
نشاط [ محمد القادري ]
قوة السمعة:0
قديم 16-05-2016, 07:29 AM المشاركة 6   
افتراضي


شكرا لك أخي الكريم محمد القادري
سأحاول تعديله
بالتوفيق دائما

إضافة رد

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

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

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


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

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