PDA

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



imported_fateme
11-08-2009, 11:20
سلام دوستان
یه برنامه می خواستم تو کدویژن با atmega32 واسه تعیین فرکانس محیط
کسی اگه میدونه لطفا منو راهنمایی کنه

1nafar
12-08-2009, 13:05
سلام

#include <mega16.h>
#include <delay.h>
#include <stdio.h>
#include <lcd.h>

#asm
.equ __lcd_port=0x1B ;PORTA
#endasm

unsigned long int timer0_ov;
unsigned long int in_freq;
unsigned char lcd_buff[20];

interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
timer0_ov ++;
}

void main(void)
{

// Timer/Counter 0 initialization
// Clock source: T0 pin Falling Edge
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCNT0=0x00;
OCR0=0x00;
TCCR0=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x01;

// LCD module initialization
lcd_init(16);

while (1)
{
TCCR0=0x06; // Start Timer T0 pin Falling Edge
#asm("sei") // Global enable interrupts
delay_ms(1000);
#asm("cli"); // Global disable interrupts
in_freq = timer0_ov * 256 + TCNT0;
sprintf(lcd_buff,"Freqency=%d",in_freq);
lcd_clear();
lcd_puts(lcd_buff);
TCCR0=0x00; //Stopt Timer0
timer0_ov=0; //Prepare for next count
TCNT0=0; //Clear Timer0
};
}
برای نوشتن برنامه فرکانس متر نیاز به راه اندازی تایمر و کانتر هست ، شما باید زمان یک ثانیه رو ایجاد کنید و در این مدت تعداد پالس های اعمالی رو بشمرید .