عضویت     ورود  انسان عاقل همیشه از بدگوییهایی که از او می‌شود استفاده می‌کند . ژرژ بانه جمعه، 22 آذر ماه ، 1398

کانال تلگرام


تبلیغات متنی


منوی سایت


جست و جو در بانك مقالات




مقالات جدید
تعداد شاخه ها: 30 عدد
تعداد مقالات: 758 عدد 1: آزمايشگاه الكترونيك - استاد محرري 
[دفعات مشاهده : 5927 بار]
 2: جزوه درس مخابرات 1 - دانشگاه فردوسي مشهد 
[دفعات مشاهده : 5944 بار]
 3: كتاب مهندسي تاسيسات / دكتر كلهر 
[دفعات مشاهده : 5763 بار]
 4: مجموع اعوجاج هارمونیک T.H.D 
[دفعات مشاهده : 5787 بار]
 5: كتاب "روش طراحي و تحليل مدارهاي الكترونيك" 
[دفعات مشاهده : 12428 بار]
 6: ادوات نوري 
[دفعات مشاهده : 5690 بار]
 7: كتاب اصول تلويزيون رنگي 
[دفعات مشاهده : 7481 بار]
 8: پروژه دزد گیر با سنسور تشخیص حرکت pir با قفل رمز الکترونیکی 
[دفعات مشاهده : 6969 بار]
 9: جزوه اندازه گیری الکتریکی 
[دفعات مشاهده : 6233 بار]
 10: سوالات کنکور کارشناسی ارشد 90 / گروه مهندسی برق 
[دفعات مشاهده : 8009 بار]
 11: آرشيو پروژه هاي 8051 
[دفعات مشاهده : 6851 بار]
 12: آرشيو پروژه هاي AVR‌ (ـ‌ 126 پروژه ) 
[دفعات مشاهده : 14783 بار]
 13: آموزش برنامه نويسي و كار با ماژول Sim300CZ با ميكروكنترلر AVR 
[دفعات مشاهده : 10886 بار]
 14: سوالات كنكور كارشناسي ناپيوسته 89 - گروه برق 
[دفعات مشاهده : 8268 بار]
 15: ارتباط میکروهای PIC با کمک پروتکل سریال I2C و نکات تکمیلی ماژول MSSP 
[دفعات مشاهده : 6378 بار]
 16: ساعت تقویم با کمک میکروکنترلر PIC و DS1307 
[دفعات مشاهده : 6977 بار]
 17: تایمرهای چند زمانه ( ساعت مرکزی ) با میکرو PIC 
[دفعات مشاهده : 6324 بار]
 18: ساعت تقویم شمسی مجهز به آلارم روزانه و هفتگی 
[دفعات مشاهده : 7216 بار]
 19: صفحه کلید وقفه ای با میکروکنترلر PIC 
[دفعات مشاهده : 6048 بار]
 20: کرنومتر دیجیتال با میکروکنترلر PIC با قابلیت ثبت 3 زمان 
[دفعات مشاهده : 6139 بار]
 21: طراحی و ساخت مدارات انتقال دیتا به وسیله ماژول های HMTR + پروژه چت متنی بیسیم 
[دفعات مشاهده : 9639 بار]
 22: سنسورهای حرارت 
[دفعات مشاهده : 8311 بار]
 23: کنترل وسایل برقی از طریق خط تلفن با میکروکنترلر PIC 
[دفعات مشاهده : 8309 بار]
 24: ارتباط سریال UART بین دو میکروکنترلر PIC 
[دفعات مشاهده : 6635 بار]
 25: گزارش کار آموزی : ماشین های ابزار کنترل عددی CNC 
[دفعات مشاهده : 6903 بار]
 26: کنترل وسایل به کمک ماژول HM-TR و میکرو AVR 
[دفعات مشاهده : 9476 بار]
 27: طراحی و ساخت کنترل از راه دور 1 کانال با کمک ماژول های ASK و آی سی های سری PT 
[دفعات مشاهده : 7929 بار]
 28: مجموعه رفرنس های آموزشی میکروکنترلرهای سری dsPIC 
[دفعات مشاهده : 7322 بار]
 29: مجموعه پروژه های میکروکنترلر AVR با کامپایلر بسکام 
[دفعات مشاهده : 12596 بار]
 30: طراحی و ساخت مدارات انتقال دیتا به وسیله ماژول های HM-T و HM-R با میکرو AVR 
[دفعات مشاهده : 10384 بار]


آخرين مطالب ارسال شده
· روش طراحي و تحليل مدارهاي الكترونيك[ 1 نظر شما چيه؟ - 40149 مشاهده ]
· اصول تلويزيون رنگي[ 0 نظر شما چيه؟ - 18634 مشاهده ]
· نرم افزار DigSilent[ 2 نظر شما چيه؟ - 21782 مشاهده ]
· AVR Tech Lib 2011[ 1 نظر شما چيه؟ - 25305 مشاهده ]
· مجموعه كنفرانس هاي سالينه ميكروچيپ / سال 2009 /[ 2 نظر شما چيه؟ - 23038 مشاهده ]
· آموزش كار با ماژول SIM300CZ با ميكرو AVR[ 4 نظر شما چيه؟ - 25447 مشاهده ]
· مجموعه فيلم هاي آموزشي نرم افزار Altium Designer[ 0 نظر شما چيه؟ - 39531 مشاهده ]
·  سوالات كنكور كارشناسي ناپيوسته 89 - گروه برق[ 0 نظر شما چيه؟ - 20393 مشاهده ]
· لينك دانلود مجله October 2010 / SERVO[ 0 نظر شما چيه؟ - 17401 مشاهده ]
· Catalog CA 01 (10/2009) / International version[ 0 نظر شما چيه؟ - 21775 مشاهده ]

[ موارد بیشتر در بخش اخبار و تازه ها ]


زبان
انتخاب زبان نمایش :



مطالب جديد
· 1: A New Simde and Accurate Formula for Microstrip Radial Stub
· 2: بررسي و مقايسه روش هاي نوين جهت بررسي كيفيت و پايش بر قگيرها
· 3: MULTI-OBJECTIVE SECURITY CONSTRAINED OPTIMAL REACTIVE DISPATCH APPLIED
· 4: Self-Integrating Rogowski Coil for High-Impulse Current Measurement
· 5: برنامه ارسال و دريافت پيامك با ميكرو
· 6: IEEE Std 336-2010
· 7: طرح جامع الکتریکی بافت مرکزی مشهد جهت برآورد بار و جایابی بهینه پست ها
· 8: انرژي هاي نو: پیش بینی و بررسی وضعیت جهانی
· 9: آموزش راه اندازی ماژول بلوتوث HC05 + کتاب
· 10: IEEE Std 1375-1998
· 11: Membrane Proteins Embedded in Supported Lipid Bilayers Employed in Field Effect Electronic Devices
· 12: ISO/IEC 13213 : 1994
· 13: A New Technique for Setting Distance Protection and Fault Location by Measurement
· 14: IEEE Std 1547.2™-2008
· 15: استخراج پارامترهاي حركت پرتابي با رديابي تصويري پرتابه و ساخت دستگاه كمك آموزشي آن
· 16: Adaptive Sensing Technique to Maximize Spectrum Utilization in Cognitive Radio
· 17: MEMS Technology for Timing and Frequency Control
· 18: نقاط قوت و ضعف استفاده از ترکیب آنالیز مولفه های مستقل و تبدیل ویولت به منظورحذف خودکار آرتیفکت چشمی
· 19: مقاله تهيه ربات هوشمند با كمترين هزينه
· 20: Spectrum Sensing in Wideband OFDM Cognitive Radios

[ آخرين مقالات ]


ارسال مقاله به سايت

 



...::: Ir-Micro.Com :::... :: View topic - مشکل در real time داخلی AVR


مشکل در real time داخلی AVR

 
Post new topic   Reply to topic    ...::: Ir-Micro.Com :::... Forum Index -> برنامه نویسی و مباحث مربوط به AVR Printable Version
View previous topic :: View next topic  
Author Message
mohammad_m
کاربر تازه وارد
کاربر تازه وارد

Joined: May 11, 2008
Posts: 6




Location: mashhad
233.10 امتیاز

Items

Status: Offline

PostPosted: شنبه، 28 دي ماه ، 1387 12:40:41 Reply with quote Scroll Down to Next postGo to last Post of Page

سلام دوستان
من از تایمر 2 AVR به عنوان real time(ساعت دقیق) استفاده کردم و زمان رو روی سون سگمنت نمایش دادم.
مشکل اینجاست که زمانی که روی سگمنت ها نمایش داده میشه دقیق نیست و تقریباً در هر 10 دقیقه حدود 30 ثانیه جلو میافته. Question
باید بگم که من عمل رفرش سگمنت ها رو توی شاخه اصلی برنامه انجام میدم.
نمیدونم مشکل کجاست شاید RTC داخلی میکرو اون دقت لازم رو نداره؟
در ضمن من این برنامه رو هم با بسکام نوشتم و هم با codevision
دستم به دامنتون کمکم کنید...... crybaby

Back to top
View user's profile Send private message
shahre_ghashang
کاربر نیمه فعال
کاربر نیمه فعال

Joined: Dec 22, 2008
Posts: 70





2562.04 امتیاز

Items

Status: Offline

PostPosted: شنبه، 28 دي ماه ، 1387 14:21:27 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

یا هو

دوست عزیز من هم دقیقا مشکل شما رو داشتم ac)

Back to top
View user's profile Send private message
Arash_em
مدیر سایت - Site Admin
مدیر سایت - Site Admin

Joined: Mar 12, 2006
Posts: 2230




Location: ايران
282074.08 امتیاز

Items

Status: Offline

PostPosted: شنبه، 28 دي ماه ، 1387 18:05:49 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام.
دوستان عزیز برنامه تون را اینجا قرار دهید...
و نکته بعد اینکه شما یک تست بفرمایید و سون سگمنتها را به روش سرکشی مولتی پلکس کنید و اینتراپت تایمر استفاده نکنید و نتیجه را اعلام بفرمایید...
موفق و پیروز باشید.

Back to top
View user's profile Send private message Send e-mail Visit poster's website
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2583




Location: مشهد
3054267.20 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 29 دي ماه ، 1387 01:08:36 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
Quote:

تقریباً در هر 10 دقیقه حدود 30 ثانیه جلو میافته.


این خارق العاده ست ! Shocked چطوری تونستین این کارو بکنین ؟! Laughing
ببخشید ... ببخشید ... شوخی کردم .

خوب من که ابدا مشکلی از همون اول نداشتم . به نظرم تایمر هم مشکلی نداره . عزیزم سورس رو بذار تا کالبد شکافی کنیمش .

ممنون
زنده باد

Back to top
View user's profile Send private message Send e-mail Visit poster's website
shahre_ghashang
کاربر نیمه فعال
کاربر نیمه فعال

Joined: Dec 22, 2008
Posts: 70





2562.04 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 29 دي ماه ، 1387 22:43:31 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

به نام خدا

سلام صالح جون اصلا بگین چه جوری میشه یک ثانیه صاف و رگوله تولید کرد که نه جلو بیفته نه عقب

من یه ساعت نیاز دارم که اگر بگین چه جوری این ساعت داخلی میکرو راه میفته شاید مشکلم حل بشه.

البته هر دوتاشو یاد بگیریم بد نیستا؟
هم تولید یک ثانیه دقیق
هم استفاه از ساعت داخلی

ممنون ازت صالح جون

Back to top
View user's profile Send private message
ahmadk
کاربر نمونه
کاربر نمونه

Joined: Jul 08, 2008
Posts: 313




Location: تهران
12487.82 امتیاز

Items

Status: Offline

PostPosted: دوشنبه، 30 دي ماه ، 1387 17:43:04 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

بدون استفاده از قسمت RTC‌هم مي تونيد زمان دقيق بسازيد.
كافيه تايمر رو در مدي قرار بديد كه Auto-Reload بشه. يعني تايمر در انتهاي شمارش بصورت سخت افزاري به مقدار اوليه برگرده. نه نرم افزاري
در AVR وقتي اين صادقه كه مقدار اوليه شما صفر باشه. يعني مثلا اگه شما مقدار اوليه تايمر رو 10000 قرار بديد كه تا 56535 بشمره بايد در روتين اينتراپت دوباره اين 1000 رو لود كنيد و اين دقت رو خراب مي كنه.
پس همه ي مدهايي كه تايمر بايد تا FFFF بشمره رو بايد بي خيال بشيد.

اما AVR حتما نبايد تا FFFF بشمره . مد ديگه اي هم هست كه تايمر را مكلف مي كنه تا رجيستر OCR بشمره.
اينجاست كه خطاي شما به صفر مي رسه و مي بينيد نبايد تقصير رو به گردن كريستال بيچاره بندازيد.

Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
shahre_ghashang
کاربر نیمه فعال
کاربر نیمه فعال

Joined: Dec 22, 2008
Posts: 70





2562.04 امتیاز

Items

Status: Offline

PostPosted: سه شنبه، 1 بهمن ماه ، 1387 14:36:36 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

به نام خدا

احمد جون اگر براتون مقدوره یه نیمچه دستوری پیشنهاد بدین که مثلا یه یک ثانیه رو به این روش ایجاد کنه

با تشکر ازشما

Back to top
View user's profile Send private message
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2583




Location: مشهد
3054267.20 امتیاز

Items

Status: Offline

PostPosted: سه شنبه، 1 بهمن ماه ، 1387 22:08:26 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
راستش بهترین گزینه برای این انتظار بالا و دقیق شما همون RTC داخلی هست . البته من خودم واسه ی ساعت از همون روش ریلود نرم افزاری به قول احمد خان هست ولی برای RTC داخلی که معمولا روی تایمر 2 موجوده ( البته اگه میکرو این امکان رو داشته باشه ) کافیه تایمر رو توی اون مد تنظیم کنی . البته یه کریستال 32678 هرتزی باید به پایه های tosc1 , tosc2 وصل کنی . در تنظیمات هم میشه وقفه ایجاد کنی واسه ی هم ثانیه و هم می تونی یه پالس در پایه ی oc2 ایجاد کنی .
زنده باد

Back to top
View user's profile Send private message Send e-mail Visit poster's website
ahmadk
کاربر نمونه
کاربر نمونه

Joined: Jul 08, 2008
Posts: 313




Location: تهران
12487.82 امتیاز

Items

Status: Offline

PostPosted: چهارشنبه، 2 بهمن ماه ، 1387 06:26:49 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page




Code:
// Timer 1 output compare A interrupt service routine
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
// يك ثانيه

}

// Declare your global variables here

Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
shahre_ghashang
کاربر نیمه فعال
کاربر نیمه فعال

Joined: Dec 22, 2008
Posts: 70





2562.04 امتیاز

Items

Status: Offline

PostPosted: چهارشنبه، 2 بهمن ماه ، 1387 23:47:36 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

به نام خدا

سلام احمد جون دستتون درد نکنه نمونه برنامه ای برای بیسکام هم هست اینو میزارم تا با زبون سی یه خورده بیشتر آشنا بشم

Back to top
View user's profile Send private message
saleh_chz
مدیر انجمن
مدیر انجمن

Joined: Jan 10, 2008
Posts: 2583




Location: مشهد
3054267.20 امتیاز

Items

Status: Offline

PostPosted: شنبه، 5 بهمن ماه ، 1387 16:15:40 Reply with quote Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

سلام
شاید به درد دوستمون نخوره ولی خوب بهترین جایی که میشد اینو نوشت همینجا بود .

من یه راه پیدا کردم که میشه تا حدودی شیفت زمانی مربوط به ریلود نرم افزاری رو اصلاح کرد مخصوصا زمانی که نیاز باشه رجیستر تایمر با عددی اعشاری ریلود بشه !

مثلا قراره عدد 3.38 ریلود بشه . اما شما بهتر می دونین که نمیشه اعداد اعشاری رو ریلود کرد و این موجب خطا میشه مخصوصا در دراز مدت .
حالا راه حل چیه ؟

ببینید عدد 3.38 برابره با :
3.38=3+0.3+0.08
یا به عبارتی :
3.38=3+0.2+0.1+0.08
یا :
3.38=3+1/5+1/10+2/25

حالا اینا چه معنی میده :
توی روتین وقفه ی تایمر کافیه چند خط کد بعد از ریلود عدد 3 اضافه کنید و اون هم اینه که ، به ازای هر 10 بار ریلود یکبار عدد 1 به 3 اضافه بشه ؛ به ازای هر 5 بار ریلود یکبار عدد 1 به 3 اضافه بشه ؛ به ازای 25 بار ریلود یکبار عدد 2 به 3 اضافه بشه .
اینطوری شیفت زمانی تصحیح میشه .
و دو ایراد هم داره :
1- اصلاح زمانی نوسان داره ینی فواصلی که از وقفه ها بدست میاد یکی نیست .
2- خطایی در زمان به اندازه ی سیکل دستوراتی که این تصحیح رو ایجاد می کنند موجود است .

و این هم یه شبه کد :
Code:

unsigned char dec=0,snt=0,mil=0;

void isr (void){
   timer_reg=3;
   dec++;
   snt++;
   mil++;
   if(dec==5){
      timer_reg++;
      dec=0;
   }
   if(snt==10){
      timer_reg++;
      snt=0;
   }
   if(mil==25){
      timer_reg+=2;
      mil=0;
   }

   //----------------------
   // other codes
   //----------------------
}


خوب این هم یه ترفنده ...
زنده باد

Back to top
View user's profile Send private message Send e-mail Visit poster's website
shahre_ghashang
کاربر نیمه فعال
کاربر نیمه فعال

Joined: Dec 22, 2008
Posts: 70





2562.04 امتیاز

Items

Status: Offline

PostPosted: يكشنبه، 6 بهمن ماه ، 1387 14:39:31 Reply with quote Go to Top of PageScroll Up to Previous post

saleh_chz wrote:
سلام
شاید به درد دوستمون نخوره ولی خوب بهترین جایی که میشد اینو نوشت همینجا بود .

من یه راه پیدا کردم که میشه تا حدودی شیفت زمانی مربوط به ریلود نرم افزاری رو اصلاح کرد مخصوصا زمانی که نیاز باشه رجیستر تایمر با عددی اعشاری ریلود بشه !

مثلا قراره عدد 3.38 ریلود بشه . اما شما بهتر می دونین که نمیشه اعداد اعشاری رو ریلود کرد و این موجب خطا میشه مخصوصا در دراز مدت .
حالا راه حل چیه ؟

ببینید عدد 3.38 برابره با :
3.38=3+0.3+0.08
یا به عبارتی :
3.38=3+0.2+0.1+0.08
یا :
3.38=3+1/5+1/10+2/25

حالا اینا چه معنی میده :
توی روتین وقفه ی تایمر کافیه چند خط کد بعد از ریلود عدد 3 اضافه کنید و اون هم اینه که ، به ازای هر 10 بار ریلود یکبار عدد 1 به 3 اضافه بشه ؛ به ازای هر 5 بار ریلود یکبار عدد 1 به 3 اضافه بشه ؛ به ازای 25 بار ریلود یکبار عدد 2 به 3 اضافه بشه .
اینطوری شیفت زمانی تصحیح میشه .
و دو ایراد هم داره :
1- اصلاح زمانی نوسان داره ینی فواصلی که از وقفه ها بدست میاد یکی نیست .
2- خطایی در زمان به اندازه ی سیکل دستوراتی که این تصحیح رو ایجاد می کنند موجود است .

و این هم یه شبه کد :
Code:

unsigned char dec=0,snt=0,mil=0;

void isr (void){
   timer_reg=3;
   dec++;
   snt++;
   mil++;
   if(dec==5){
      timer_reg++;
      dec=0;
   }
   if(snt==10){
      timer_reg++;
      snt=0;
   }
   if(mil==25){
      timer_reg+=2;
      mil=0;
   }

   //----------------------
   // other codes
   //----------------------
}


خوب این هم یه ترفنده ...
زنده باد


بسم الله الرحمن الرحیم

صالح جون ممنون و جالب بود
و خوشم اومد aa)

Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ...::: Ir-Micro.Com :::... Forum Index -> برنامه نویسی و مباحث مربوط به AVR All times are GMT + 3.5 Hours
Page 1 of 1
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum

 
 Jump to:   

Related topics
 Topics   Replies   Author   Views   Last Post 
No new posts راه اندازي تريستور با AVR 12 sips65 27598 چهارشنبه، 28 آبان ماه ، 1393 14:41:07
hossein13731373 View latest post
No new posts کمک فوری در مورد تغذیه avr 15 ahmd110 21198 پنجشنبه، 7 دي ماه ، 1391 00:48:42
m_khoshbaten View latest post
No new posts برنامه اسکن کیبورد کامپیوتر در AVR 18 etrmodern 26793 دوشنبه، 5 مرداد ماه ، 1388 10:24:27
a1s1b0 View latest post
No new posts ساعت با AVR (همراه با آلارم) ؟؟؟؟؟ 6 saeid_p9 18664 دوشنبه، 5 مرداد ماه ، 1388 10:10:28
a1s1b0 View latest post
No new posts اتصال کی بورد کامپیوتر به نرم افزار AVR 0 k1elia30 13136 شنبه، 16 شهريور ماه ، 1387 13:30:53
k1elia30 View latest post
 


Powered by phpBB © 2001, 2008 phpBB Group

Ported to Platinum 7.6.b.4 V2 by sadeghkhafan

فروشگاه تخصصی برق و الکترونیک ایران میکرو
www.iran-micro.com
PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL.
Powered by Platinum 7.6.b.4 v2
Powered by Platinum 7.6.b.4 v2 Persian

مدت زمان ایجاد صفحه : 1.15 ثانیه