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





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









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









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





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

نمایش نتایج: از 1 به 2 از 2
  1. #1
    2014/07/12
    1
    0

    اندازه گيري شيب با avr

    سلام دوستان.من تازه کار با ميکرو رو شروع کردم.يه برنامه نوشتم که ولتاژ مثلثي ورودي رو بخونه و شيب رو پيدا کنه و به صورت باينري شيب رو در 10 ميلي ثانيه بده.تقريبا درس کار ميکنه ولي من ميخوام حداکثر شيب رو نشون بده و با عوض شدن نمودار و کاهش شيب عدد عوض نشه ولي با کاهش شيب عدد کاهش پيدا ميکنه.عيبشو نميتونم پيدا کنم.اگه کمکم کنين ممنون ميشم. :question:
    /************************************************** ***
    کد:
    This program was produced by the
    CodeWizardAVR V2.05.3 Standard
    Automatic Program Generator
    © Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
    http://www.hpinfotech.com
    
    Project : 
    Version : 
    Date  : 9/2/2014
    Author : WWW.PARANDCO.COM
    Company : PARAND
    Comments: 
    
    
    Chip type        : ATmega8
    Program type      : Application
    AVR Core Clock frequency: 8.000000 MHz
    Memory model      : Small
    External RAM size    : 0
    Data Stack size     : 256
    *****************************************************/
    
    #include <mega8.h>
    
    #include <delay.h>
    #include <math.h>
    #define ADC_VREF_TYPE 0x60
    
    // Read the 8 most significant bits
    // of the AD conversion result
    unsigned char read_adc(unsigned char adc_input)
    {
    ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
    // Delay needed for the stabilization of the ADC input voltage
    delay_us(10);
    // Start the AD conversion
    ADCSRA|=0x40;
    // Wait for the AD conversion to complete
    while ((ADCSRA & 0x10)==0);
    ADCSRA|=0x10;
    return ADCH;
    }
    
    // Declare your global variables here
    
    void main(void)
    {float adc_1;
    float adc_2,s0,s1,s3;
    int v1,v2,s=0,s2,s4;
    // Declare your local variables here
    
    // Input/Output Ports initialization
    // Port B initialization
    // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out 
    // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 
    PORTB=0x00;
    DDRB=0xFF;
    
    // Port C initialization
    // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // 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
    TCCR0=0x00;
    TCNT0=0x00;
    
    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer1 Stopped
    // Mode: Normal top=0xFFFF
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer1 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: Timer2 Stopped
    // Mode: Normal top=0xFF
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;
    
    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    MCUCR=0x00;
    
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;
    
    // USART initialization
    // USART disabled
    UCSRB=0x00;
    
    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;
    
    // ADC initialization
    // ADC Clock frequency: 125.000 kHz
    // ADC Voltage Reference: AVCC pin
    // Only the 8 most significant bits of
    // the AD conversion result are used
    ADMUX=ADC_VREF_TYPE & 0xff;
    ADCSRA=0x86;
    
    // SPI initialization
    // SPI disabled
    SPCR=0x00;
    
    // TWI initialization
    // TWI disabled
    TWCR=0x00;
    
    while (1)
       { 
        adc_1=read_adc(0);
        v1=adc_1*0.01953;
        delay_us(1250);
        adc_2=read_adc(0);
        v2=adc_2*0.01953;
        s0=(v2-v1);
        
        s3 = Math.Round(s0, 2, MidpointRounding.ToEven);
        s4=s3/0.01;
        if(s4>s)
        {
         s=s4;
        }
        PORTB=s;
        
        
    
       }
    }
  2. #2
    2011/12/30
    420
    20

    پاسخ : اندازه گيري شيب با avr

    ببخشيد. مطمئنيد اين کدويژنه!!!!!

    Math.Round!!!!!!!

    اين جور تابع مال زبان هاي شيئ گرا مثل C++ و C# هست.

    اصلا اين توي کامپايلر من ترجمه نميشه.

    اول تکليف اين را مشخص کنيد.
نمایش نتایج: از 1 به 2 از 2

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

  1. اندازه گيري سلف
    توسط محمد نبي در انجمن مفاهیم پایه برق و الکترونیک
    پاسخ: 1
    آخرين نوشته: 2015/09/01, 18:46
  2. اندازه گيري ارت
    توسط sorosh1368 در انجمن تاسيسات الكتريكي
    پاسخ: 0
    آخرين نوشته: 2014/10/09, 11:43
  3. اندازه گيري ولتاژ
    توسط mostafa6369 در انجمن میکروکنترلرهای AVR
    پاسخ: 18
    آخرين نوشته: 2014/07/15, 19:08
  4. اندازه گيري سلف؟
    توسط ramin-hosseini در انجمن مباحث دیگر علم الکترونیک
    پاسخ: 3
    آخرين نوشته: 2008/01/02, 16:04
  5. اندازه گيري اندوكتانس
    توسط mehdi_electronic در انجمن مباحث دیگر علم الکترونیک
    پاسخ: 9
    آخرين نوشته: 2007/10/09, 01:48

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

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

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

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

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