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





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









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









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





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

نمایش نتایج: از 1 به 3 از 3
  1. #1
    2010/05/23
    211
    30

    اندازه گیری ولتاژ DC در رنج 0 الی 100 ولت DC

    با سلام ، من برنامه ای نوشتم که ولتاژ 0 الی 100 ولت رو بتونم نمایش بدم
    برای اندازه گیری ولتاژ 0 الی 30 ولت مشکلی پیش نمی یاد و ولتاژ نمایش می دم ولی زمانی که برنامه رو به رنج ولتاژ 0 الی 100 تغییر می دم اعداد بی ربطی نمایش می ده ، از دوستانی که در این زمینه تخصص دارن درخواست راهنمایی دارم

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    1-مردان بزرگ اراده مي کنند و مردان کوچک آرزو
    2-افراد بزرگ، هميشه به دنبال ايده هاي بزرگند و افراد کوچک به دنبال افراد بزرگ
    3-هميشه سعي کن آنقدر کامل باشي که بزرگترين تنبيه تو براي ديگران گرفتن خودت از آنها باشد.
  2. #2
    2017/03/26
    1,089
    488

    پاسخ : اندازه گیری ولتاژ DC در رنج 0 الی 100 ولت DC

    نقل قول نوشته اصلی توسط kazemihossein33

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    با سلام ، من برنامه ای نوشتم که ولتاژ 0 الی 100 ولت رو بتونم نمایش بدم
    برای اندازه گیری ولتاژ 0 الی 30 ولت مشکلی پیش نمی یاد و ولتاژ نمایش می دم ولی زمانی که برنامه رو به رنج ولتاژ 0 الی 100 تغییر می دم اعداد بی ربطی نمایش می ده ، از دوستانی که در این زمینه تخصص دارن درخواست راهنمایی دارم
    سلام برای اینکه کسی بتونه کمک کنه برنامتون رو قرار بدین
  3. #3
    2010/05/23
    211
    30

    پاسخ : اندازه گیری ولتاژ DC در رنج 0 الی 100 ولت DC

    سلام ، ممنونم مشکل حل شده
    اینم برنامه گفتم شاید کسی بخواد استفاده کنه ، البته من به دلیل نیاز خودم مقداری تغییرات در برنامه دادم





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

    /* ------------------ Define List ------------------ */

    //#define ADC_VREF_TYPE 0x40
    #define ADC_VREF_TYPE 0xC0
    #define n1 PORTD.0
    #define n2 PORTD.1
    #define n3 PORTD.2
    #define n4 PORTD.3

    /* ------------------------------------------------- */

    void startup();
    void seven_sho(unsigned int seven_time);
    void Hex2Dec(unsigned int Convert);
    void slide(unsigned int slid_time,unsigned char slid_num);
    float V_sens(unsigned char V_sens_input,unsigned char V_sens_mod);

    /* ------------------ Data Types ------------------ */

    unsigned char a0=9,a1=9,a2=9,a3=9,slid_cont=0;
    unsigned int cont_main_loop=0,seven_cont=0,volt_Measured=0;
    int volt_Measured_temp=0;
    float V_sens_temp=0;

    unsigned char seg[]= {
    0xc0,0xf9,0xa4,
    0xb0,0x99,0x92,
    0x82,0xf8,0x80,
    0x90
    };

    unsigned char sega[]= {
    0xfe,0xfd,0xfb,
    0xf7,0xef,0xdf,
    0xbf,0x7f
    };

    /* ----------- Analog To Digital Function ---------- */

    unsigned int read_adc(unsigned char adc_input)
    {
    ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
    delay_us(10);
    ADCSRA|=0x40;
    while ((ADCSRA & 0x10)==0);
    ADCSRA|=0x10;
    return ADCW;
    }

    /* ------------------ Main Loop ------------------ */

    void main(void)
    {
    startup();
    slide(100,5);
    while (1)
    {
    cont_main_loop++;
    if(cont_main_loop==10)
    {
    cont_main_loop=0;
    volt_Measured_temp =( 10*((unsigned int)V_sens(0,2)))-600;
    if(volt_Measured_temp > 0)
    {
    volt_Measured = (unsigned int)volt_Measured_temp;
    }
    if(0 > volt_Measured_temp)
    {
    volt_Measured = 0;
    }

    }

    seven_sho(5);
    Hex2Dec(volt_Measured*2);
    delay_ms(1);
    }
    }

    void Hex2Dec(unsigned int Convert)
    {
    a0 = (Convert%10);
    a1 = (Convert/10)%10;
    a2 = (Convert/100)%10;
    a3 = (Convert/1000)%10;

    }

    void seven_sho(unsigned int seven_time)
    {

    n1=1; n2=0; n3=0; n4=0;
    PORTC=0;
    PORTC=seg[a3];

    delay_ms(seven_time);
    n1=0; n2=1; n3=0; n4=0;
    PORTC=0;
    PORTC=seg[a2];
    delay_ms(seven_time);
    n1=0; n2=0; n3=1; n4=0;
    PORTC=0;
    PORTC=seg[a1];
    PORTC.7=0;
    delay_ms(seven_time);
    n1=0; n2=0; n3=0; n4=1;
    PORTC=0;
    PORTC=seg[a0];
    delay_ms(seven_time);

    }

    float V_sens(unsigned char V_sens_input,unsigned char V_sens_mod)
    {
    return (((read_adc(V_sens_input)*5.11)/1023)*23.904);
    }

    void startup()
    {
    PORTC=0x00;
    DDRC=0xFF;
    PORTD=0x00;
    DDRD=0xFF;

    ADMUX=ADC_VREF_TYPE & 0xff; // ADC initialization
    ADCSRA=0x86; // ADC Clock frequency: 15.625 kHz
    // ADC Voltage Reference: AVCC pin
    }
    ویرایش توسط kazemihossein33 : 2019/01/22 در ساعت 20:01

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    1-مردان بزرگ اراده مي کنند و مردان کوچک آرزو
    2-افراد بزرگ، هميشه به دنبال ايده هاي بزرگند و افراد کوچک به دنبال افراد بزرگ
    3-هميشه سعي کن آنقدر کامل باشي که بزرگترين تنبيه تو براي ديگران گرفتن خودت از آنها باشد.
نمایش نتایج: از 1 به 3 از 3

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

  1. کمک در اندازه گیری ولتاژ ac
    توسط amiri630 در انجمن میکروکنترلرهای PIC
    پاسخ: 15
    آخرين نوشته: 2016/01/03, 09:04
  2. اندازه گیری ولتاژ ac با ترانس ولتاژ zmpt101B
    توسط safir1387 در انجمن خانواده Arduino
    پاسخ: 3
    آخرين نوشته: 2015/11/10, 14:15
  3. اندازه گیری ولتاژ برق شهر
    توسط mohsen68sh در انجمن میکروکنترلرهای PIC
    پاسخ: 4
    آخرين نوشته: 2015/10/27, 15:44
  4. نمونه گیری و اندازه گیری rms ولتاژ برق شهر
    توسط 2012rostami در انجمن مدارهای آنالوگ و مدارهای مجتمع
    پاسخ: 11
    آخرين نوشته: 2015/05/03, 19:27
  5. اندازه گیری ولتاژ برق شهر
    توسط pesson در انجمن مدارهای آنالوگ و مدارهای مجتمع
    پاسخ: 8
    آخرين نوشته: 2015/04/29, 22:22

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

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

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

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

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