ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 3 از 3
  1. #1
    2009/09/09
    24
    0

    برنامه فرکانس مترم درست کار نمیکنه لطفا کمکم کنیدلطفففففا

    با سلام
    من یه برنامه تو کدویژن نوشتم واسه تشخیص فرکانس محیط که برای این کار از وقفه استفاده کردم و در تابع وقفه بدین ترتیب پیش رفتم:
    ریختم و با فرمول زیر زمان Mرا در متغیر TCNT0از یک لبه تا لبه ی بعدی تایمر را فعال کردم و مقدار
    را بدست اوردم و بعد هم فرکانس

    TIME=(N*(M+1))/F
    ولی مشکل اینجاست که تو پروتئوس با کلاکای مختلف یک فرکانس نشون میده
    لطفا به من کمک کنید و بگید اشتباهم کجاست؟
    اینم برنامه:
    /************************************************** ***
    Chip type : ATmega32
    Program type : Application
    Clock frequency : 8.000000 MHz
    Memory model : Small
    External RAM size : 0
    Data Stack size : 512
    ************************************************** ***/

    #include <mega32.h>
    #include <stdlib.h>
    #include <delay.h>
    #asm
    .equ __lcd_port=0x18 ;PORTB
    #endasm
    #include <lcd.h>
    static int i=0;
    long int M;
    int F;
    char*str;
    // External Interrupt 0 service routine
    interrupt [EXT_INT0] void ext_int0_isr(void)
    {
    i=i+1;
    // Place your code here
    TCNT0=0x03;
    //TCNT0=0B10010011;
    if(i==2)
    {

    i=0;
    TCNT0=M;
    TCNT0=0X00;

    }
    }

    // Declare your global variables here

    void main(void)
    {
    // Declare your local variables here

    // Input/Output Ports initialization
    // Port A initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTA=0x00;
    DDRA=0xFF;

    // Port B initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTB=0x00;
    DDRB=0xFF;

    // Port C initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTC=0x00;
    DDRC=0x00;

    // Port D initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTD=0x00;
    DDRD=0x00;

    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    // Mode: Normal top=FFh
    // OC0 output: Disconnected
    TCCR0=0x00;
    TCNT0=0x00;
    OCR0=0x00;

    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer 1 Stopped
    // Mode: Normal top=FFFFh
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer 1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;

    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer 2 Stopped
    // Mode: Normal top=FFh
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;

    // External Interrupt(s) initialization
    // INT0: On
    // INT0 Mode: Rising Edge
    // INT1: Off
    // INT2: Off
    GICR|=0x40;
    MCUCR=0x03;
    MCUCSR=0x00;
    GIFR=0x40;

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

    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;
    lcd_init(16);
    // Global enable interrupts
    #asm("sei&quot

    while (1)
    {
    F=125000/(1+M);
    itoa(F,str);
    lcd_clear();
    lcd_puts(str);
    //delay_ms(100);
    // PORTA=F;
    // Place your code here

    };
    }
  2. #2
    2009/04/18
    84
    11

    پاسخ : برنامه فرکانس مترم درست کار نمیکنه لطفا کمکم کنیدلطفففففا

    سلام .
    اول اینو بگم که دنیای مجازی با دنیای واقعی تفاوتشون از زمین تا آسمون من چندتا پروژه توی پرتئوس بستم نتیجه با ساخت توی دنیای واقعی به کلی فرق داشت پس این توصیه از من که به پرتئوس اعتماد نکن.پس این اولین اشکالی که به برنامت وارده .
    این برنامه تقریبا بهم جواب داده و کمی با مال شما فرق داره ببین کارتو راه میندازه:
    //Project :
    //Version :
    //Date : 2007/01/25
    //Author : applecoinc
    //Company : avr
    //Comments:


    //Chip type : ATmega16
    //Program type : Application
    //Clock frequency : 8.000000 MHz
    //Memory model : Small
    //External SRAM size : 0
    //Data Stack size : 256
    //************************************************** ***/

    #include <mega32.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&quot // 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
    };
    }
    علم و عمل پیوند نزدیک دارند , و کسی که دانست باید به آن عمل کند. چرا که علم عمل را فرا خواند, اگر پاسخش داد میماند و گر نه کوچ میکند. امام علی (ع)
  3. #3
    2008/01/12
    9
    0

    پاسخ : برنامه فرکانس مترم درست کار نمیکنه لطفا کمکم کنیدلطفففففا

    یا از کریستال خارجی استفاده کن و یا اینکه فیوزبیت مربوط به کلاکت رو تصحیح کن .
    موفق باشید .
    misagh_hi@yahoo.com
نمایش نتایج: از 1 به 3 از 3

موضوعات مشابه

  1. پاسخ: 23
    آخرين نوشته: 2013/11/21, 22:50
  2. چرا در مگا 8 تایمر کانتر2 درست کار نمیکنه
    توسط ramin20007 در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2012/02/08, 09:15
  3. چرا در مگا 8 تایمر کانتر2 درست کار نمیکنه
    توسط ramin20007 در انجمن مدار هاي ديجيتال
    پاسخ: 0
    آخرين نوشته: 2012/02/06, 20:20
  4. فیلتر تابع فرکانس (لطفا کمکم کنید)
    توسط behroz.r در انجمن مدارهاي مخابراتي
    پاسخ: 1
    آخرين نوشته: 2010/07/01, 20:43
  5. پاسخ: 1
    آخرين نوشته: 2009/09/10, 00:48

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •