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

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

rigbi
:: مهندس ::
تاريخ التسجيل: Nov 2016
المشاركات: 36
نشاط [ rigbi ]
قوة السمعة:0
قديم 28-11-2016, 01:04 PM المشاركة 1   
افتراضي مساعدة بخصوص التايمر TIMER0 PIC 16F84A Twitter FaceBook Google+



السلام عليكم لقد قمت بعمل مشروع بسيط وهو عمل عداد بسيط بالاعتماد على التايمر لاكن للاسف التايمر دائما يكون متاخر عن الوقت الحقيقي ب 10 دقائق و لا اعلم ما هو السبب
هذا هو الكود


int num,x,y,sec;
char sev[10]={64,121,36,176,25,146,2,120,0,16};
void interrupt(){
if(intcon.f2){
sec++;
if(sec==63){sec=0; num++; }
TMR0=0;
intcon.f2=0;
}
}

void main() {
intcon=0b10100000;
option_reg=0b11000101;
TMR0=0;
trisa=0b00000000; trisb=0b00000000;
porta=0b00000000; portb=0b00000000;
loop:
x=num/10;
y=num-(x*10);
porta=0b10; portb=sev[y]; delay_us(200);
porta=0b01; portb=sev[x]; delay_us(200);
goto loop;
}


اعلانات

الصورة الرمزية ياسين الحانوتي
ياسين الحانوتي
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2013
المشاركات: 164
نشاط [ ياسين الحانوتي ]
قوة السمعة:0
قديم 28-11-2016, 09:06 PM المشاركة 2   
افتراضي


وعليكم السلام
كم تردد الكوارتز؟
انت قسمت التردد الاساسي عل 64 على ما يبدو ,, ربما يكون الخطأ هنا

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

rigbi
:: مهندس ::
تاريخ التسجيل: Nov 2016
المشاركات: 36
نشاط [ rigbi ]
قوة السمعة:0
قديم 28-11-2016, 10:56 PM المشاركة 3   
افتراضي


وعليكم السلام
كم تردد الكوارتز؟
انت قسمت التردد الاساسي عل 64 على ما يبدو ,, ربما يكون الخطأ هنا
تردد 4 mHz
و انا متاكد من ان جميع حساباتي صحيحة و الله اعلم ارجوكم ساعدوني


الصورة الرمزية ياسين الحانوتي
ياسين الحانوتي
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2013
المشاركات: 164
نشاط [ ياسين الحانوتي ]
قوة السمعة:0
قديم 29-11-2016, 12:26 AM المشاركة 4   
افتراضي


تردد 4 mHz
و انا متاكد من ان جميع حساباتي صحيحة و الله اعلم ارجوكم ساعدوني
اولا لا داعي لكتابة
كود:
TMR0=0;
نعم تردد المؤقت هو 1/64 ميغا هيرتز
يعني ان المدة الزمنية بين كل num++ هي 1,032 ثانية

لا أدري ماذا تقصد بتأخر 10 دقائق، تأكد من قيمة الكريستال ,, أنا جربت في isis ووجدت الوقت مظبوط تقريبا ..
الا أنه هناك تأخير طفيف يتراكم ، بعد كل 30 ثانية يتأخر ثانية واحدة وهذا بسبب 0,032 ثانية إضافة إلى مدة تنفيذ التعليمات...

أفضل لو قسمت التردد على 32 ثم اجعل الحلقة تتكرر 122 مرة بدلا من 63 هذا يعطي دقة افضل ..

تحياتي,,,

إضافة رد

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

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

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


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

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