PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : تایمر یک ثانیه



pswin
10-07-2013, 21:18
سلام دوستان

ازکجا میتونم تست کنم که تایمری که ساختم دقیقا یک ثانیه تیک میزنه؟

من از کریستال یک مگ داخلی استفاده کردم و تنظیماتم به صورت زیر است:


// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 0.977 kHz
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x05;
TCNT0=0x00;
OCR0=0xF5;

و کد وقفه هم به صورت زیر هست:


interrupt [TIM0_COMP] void timer0_comp_isr(void)
{
// Place your code here

t++ ;
if ( t == 4 )
{
t = 0;
PORTD.6 = !PORTD.6;
}
}

میکرو هم atmega16 هست.

wantedboy
10-07-2013, 21:58
سلام دوست عزیز تقربیا هر شمارشت 977 میکرو ثانیه است که با یک ساعت از بیرون میتونی تستش کنی اگه هم زمان مهم برات تقسیم فرکانسی بزار یک که هر شمارش بشه یک میرو ثانیه بعد دقیق تر میتونی درست کنی.

saeed210
11-07-2013, 02:34
سلام مهندسین عزیز
مهندس اگه فرکانست پایینه می تونی با Counter Timer پروتئوس اندازه بگیری
پایه خروجی تایمر رو وصل کن به پایه CE و RST بعد توی تنظیمات counter timer اینجوری بزار
operating mode====>time(secs
count enable polarity=======>low
reset edge polarity========>LOW-High

بعد بجای play با step اجرا کن وقتی تایمر به حداکثرش رسید پریود رو بهت میده که فرکانس رو بدست میاری
البته توی operating mode میتونی فرکانس رو انتخاب کنی ولی به صورت صحیح اندازه میگیره نه اعشاری

البته به جز این میتونی با یک حساب کتاب ساده از روی رجیستر های میکرو که تنظیم کردید فرکانس رو بدست بیارید
موفق باشید

saeed210
11-07-2013, 02:38
راستی توی پروتوس چطوری فرکانس رو با چند رقم اعشار اندازه می گیرند؟

pswin
11-07-2013, 11:26
راستی توی پروتوس چطوری فرکانس رو با چند رقم اعشار اندازه می گیرند؟
من از پروتئیوس استفاده نمی کنم. من برد زدم