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

کانال تلگرام


تبلیغات متنی


منوی سایت


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




مقالات جدید
تعداد شاخه ها: 30 عدد
تعداد مقالات: 758 عدد 1: آزمايشگاه الكترونيك - استاد محرري 
[دفعات مشاهده : 5645 بار]
 2: جزوه درس مخابرات 1 - دانشگاه فردوسي مشهد 
[دفعات مشاهده : 5663 بار]
 3: كتاب مهندسي تاسيسات / دكتر كلهر 
[دفعات مشاهده : 5518 بار]
 4: مجموع اعوجاج هارمونیک T.H.D 
[دفعات مشاهده : 5512 بار]
 5: كتاب "روش طراحي و تحليل مدارهاي الكترونيك" 
[دفعات مشاهده : 12123 بار]
 6: ادوات نوري 
[دفعات مشاهده : 5458 بار]
 7: كتاب اصول تلويزيون رنگي 
[دفعات مشاهده : 7188 بار]
 8: پروژه دزد گیر با سنسور تشخیص حرکت pir با قفل رمز الکترونیکی 
[دفعات مشاهده : 6699 بار]
 9: جزوه اندازه گیری الکتریکی 
[دفعات مشاهده : 5951 بار]
 10: سوالات کنکور کارشناسی ارشد 90 / گروه مهندسی برق 
[دفعات مشاهده : 7787 بار]
 11: آرشيو پروژه هاي 8051 
[دفعات مشاهده : 6625 بار]
 12: آرشيو پروژه هاي AVR‌ (ـ‌ 126 پروژه ) 
[دفعات مشاهده : 14495 بار]
 13: آموزش برنامه نويسي و كار با ماژول Sim300CZ با ميكروكنترلر AVR 
[دفعات مشاهده : 10583 بار]
 14: سوالات كنكور كارشناسي ناپيوسته 89 - گروه برق 
[دفعات مشاهده : 8019 بار]
 15: ارتباط میکروهای PIC با کمک پروتکل سریال I2C و نکات تکمیلی ماژول MSSP 
[دفعات مشاهده : 6133 بار]
 16: ساعت تقویم با کمک میکروکنترلر PIC و DS1307 
[دفعات مشاهده : 6756 بار]
 17: تایمرهای چند زمانه ( ساعت مرکزی ) با میکرو PIC 
[دفعات مشاهده : 6073 بار]
 18: ساعت تقویم شمسی مجهز به آلارم روزانه و هفتگی 
[دفعات مشاهده : 6990 بار]
 19: صفحه کلید وقفه ای با میکروکنترلر PIC 
[دفعات مشاهده : 5841 بار]
 20: کرنومتر دیجیتال با میکروکنترلر PIC با قابلیت ثبت 3 زمان 
[دفعات مشاهده : 5906 بار]
 21: طراحی و ساخت مدارات انتقال دیتا به وسیله ماژول های HMTR + پروژه چت متنی بیسیم 
[دفعات مشاهده : 9117 بار]
 22: سنسورهای حرارت 
[دفعات مشاهده : 8057 بار]
 23: کنترل وسایل برقی از طریق خط تلفن با میکروکنترلر PIC 
[دفعات مشاهده : 8090 بار]
 24: ارتباط سریال UART بین دو میکروکنترلر PIC 
[دفعات مشاهده : 6371 بار]
 25: گزارش کار آموزی : ماشین های ابزار کنترل عددی CNC 
[دفعات مشاهده : 6645 بار]
 26: کنترل وسایل به کمک ماژول HM-TR و میکرو AVR 
[دفعات مشاهده : 9204 بار]
 27: طراحی و ساخت کنترل از راه دور 1 کانال با کمک ماژول های ASK و آی سی های سری PT 
[دفعات مشاهده : 7640 بار]
 28: مجموعه رفرنس های آموزشی میکروکنترلرهای سری dsPIC 
[دفعات مشاهده : 7090 بار]
 29: مجموعه پروژه های میکروکنترلر AVR با کامپایلر بسکام 
[دفعات مشاهده : 12304 بار]
 30: طراحی و ساخت مدارات انتقال دیتا به وسیله ماژول های HM-T و HM-R با میکرو AVR 
[دفعات مشاهده : 10080 بار]


آخرين مطالب ارسال شده
· روش طراحي و تحليل مدارهاي الكترونيك[ 1 نظر شما چيه؟ - 39814 مشاهده ]
· اصول تلويزيون رنگي[ 0 نظر شما چيه؟ - 18403 مشاهده ]
· نرم افزار DigSilent[ 2 نظر شما چيه؟ - 21560 مشاهده ]
· AVR Tech Lib 2011[ 1 نظر شما چيه؟ - 25103 مشاهده ]
· مجموعه كنفرانس هاي سالينه ميكروچيپ / سال 2009 /[ 2 نظر شما چيه؟ - 22797 مشاهده ]
· آموزش كار با ماژول SIM300CZ با ميكرو AVR[ 4 نظر شما چيه؟ - 25195 مشاهده ]
· مجموعه فيلم هاي آموزشي نرم افزار Altium Designer[ 0 نظر شما چيه؟ - 39229 مشاهده ]
·  سوالات كنكور كارشناسي ناپيوسته 89 - گروه برق[ 0 نظر شما چيه؟ - 20188 مشاهده ]
· لينك دانلود مجله October 2010 / SERVO[ 0 نظر شما چيه؟ - 17195 مشاهده ]
· Catalog CA 01 (10/2009) / International version[ 0 نظر شما چيه؟ - 21510 مشاهده ]

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


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



مطالب جديد


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

 



...::: 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 27159 چهارشنبه، 28 آبان ماه ، 1393 14:41:07
hossein13731373 View latest post
No new posts کمک فوری در مورد تغذیه avr 15 ahmd110 20776 پنجشنبه، 7 دي ماه ، 1391 00:48:42
m_khoshbaten View latest post
No new posts برنامه اسکن کیبورد کامپیوتر در AVR 18 etrmodern 26363 دوشنبه، 5 مرداد ماه ، 1388 10:24:27
a1s1b0 View latest post
No new posts ساعت با AVR (همراه با آلارم) ؟؟؟؟؟ 6 saeid_p9 18423 دوشنبه، 5 مرداد ماه ، 1388 10:10:28
a1s1b0 View latest post
No new posts اتصال کی بورد کامپیوتر به نرم افزار AVR 0 k1elia30 12980 شنبه، 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.32 ثانیه