اطلاعیه

Collapse
No announcement yet.

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

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

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

    ُسلام دوستان
    من پروژه دما سنج دیجیتال رو انتخاب کردم ولی از برنامه نویسی به زبان C هیچی سر در نمیارم... می خواستم ببینم از دوستان کسی هست تا برنامه نوشته شده رو برام توضیح بده؟

    اینم برنامه ای که دارم:
    http://www.4shared.com/file/15525263...moproject.html

    و مدار:



    و اینکه منظور از خاص بودن کلید sw1 چیه؟
    و همینطور At89s8252 توی کتابخانه پروتیوس و پروتل نییست... باید پچیکار کنم؟



    ممنون میشم جوبمو بدین خیلی حیاتیه :sad: :sad:


    اگه نتونستید برنامه رو دانلود کنید اینجا می زارم:


    #include <reg52.h>
    #include <stdio.h>

    void timer0int(void);
    char *Puts(char* str);

    float read_temp1(void);
    float read_temp1_filter(void);


    char cputick;
    char buffer[24];
    char pulseE;

    char timer3;
    char temp;
    char vout;
    int x1,x2,x3,x4,x5;

    sbit RS=P1^6;
    sbit E =P1^4;
    sbit RW=P1^5;

    sbit CLK=P1^2;
    sbit Data=P1^1;
    sbit CS=P1^3;

    sbit CHG=P3^0;

    int readADC(char n)
    {
    int k;
    char i,channel;
    k=0;

    CS=0;

    if(n==0) channel= 0x0d;
    else channel=0x0f;

    for (i=0;i<4;i++)
    {
    CLK = 0;

    if(channel&8) Data =1;
    else Data = 0;
    CLK =1;
    channel <<=1;
    }

    Data = 1;
    CLK =0;

    for(i=0; i<12;i++)
    {
    k<<=1;
    CLK =1;
    CLK=0;
    if(Data) k|=1;
    else k &=~1;
    }
    CS =1;

    return k&=0xfff;
    }


    void timer0int(void) interrupt 1 using 1

    {
    TH0 |=0xdc;
    cputick++;
    }


    pause(int j)
    { int i;
    for (i=0;i<j;i++)
    continue;
    }


    pulesE()
    {
    E =1;
    ;
    E =0;
    }


    void delay(int m)
    {
    int j;
    for(j=0;j<=m;j++)
    continue;
    }

    LCDWI (char n)
    {
    RW =0;
    RS=0;
    E =0;
    P0=n;
    E =1;
    E =0;
    pause(50);
    }


    LCDWD(char n)
    {
    RW=0;
    RS=1;
    E=0;
    P0=n;
    E=1;
    E=0;
    pause(50);
    }

    print_LCD(char a,char *s)
    {
    LCDWI(a);
    while(*s != 0)
    LCDWD(*s++);
    }


    i_LCD()
    {
    RS=0;
    E=0;
    P0=0x30;pulesE();delay(10);pulesE();delay(1);pules E();delay(1);
    P0=0x20;pulesE();pulesE();pulesE();
    LCDWI(0x38);
    LCDWI(0x0c);
    LCDWI(0x06);
    LCDWI(1);
    delay(50);
    }

    print_ADC()
    {
    char buffer[20];
    if(++timer3<50)
    {
    timer3=0;
    sprintf(buffer,"%0.1fC %0.1fF",read_temp1_filter(),read_temp1_filter ()*9/5+32);
    print_LCD(0xc0,buffer);
    }
    }

    int low_pass_filter1(void)
    {
    x5=x4;
    x4=x3;
    x3=x2;
    x2=x1;
    x1=readADC(0);
    return(x1+x2+x3+x4+x5)/5;
    }

    float read_temp1_filter(void)
    {
    return(0.0323*low_pass_filter1()-15.615);
    }


    void main()
    {
    i_LCD();
    print_LCD(0x80,"LCD Thermometer"
    TMOD |= 0x01;
    TR0 = 1;
    cputick = 0;
    EA = 1;
    ET0 = 1;

    for(;
    {
    while(!TF0)
    continue;
    TF0=0;
    print_ADC();
    }
    }



    #2
    پاسخ : کمک در برنامه ی دماسنج دیجتال لطفآ کمک کنید..

    fek konam sade taram mishe sakht
    ba ye A/D converter va ye sensore dama mishe in caro anjam dad va baghiye madar ro ba ye madare nemayesh dahande ye cod mishe sakht

    دیدگاه


      #3
      پاسخ : کمک در برنامه ی دماسنج دیجتال لطفآ کمک کنید..

      خوب من این مدار و انتخاب کردم و به استاد معرفی کردو دیگه نمیشه عوض کنم :cry2:

      دیدگاه


        #4
        پاسخ : کمک در برنامه ی دماسنج دیجتال لطفآ کمک کنید..

        نوشته اصلی توسط mo0r1
        خوب من این مدار و انتخاب کردم و به استاد معرفی کردو دیگه نمیشه عوض کنم :cry2:
        مگه شما مدار رو انتخاب میکنیین یا موضوع رو؟؟؟؟؟؟؟؟؟ عجیبه
        این یغنی دیکتاتوری که نتونی مدارو هر جور می خوای بسازی

        دیدگاه


          #5
          پاسخ : کمک در برنامه ی دماسنج دیجتال لطفآ کمک کنید..

          دوست من
          من تو همین مدار هم موندم
          چه برسه به اینکه مدار و بخوام تغییر بدم
          اگه میتونید کمککنید :nice:

          دیدگاه


            #6
            پاسخ : کمک در برنامه ی دماسنج دیجتال لطفآ کمک کنید..

            سلام
            اگه شما فقط میخواهی دماسنج دیجیتال بسازی خیلی خیلی کار را سخت کردی با این مدار ببین من یه برنامه با lm35 میزارو ببین به کارت میآد
            http://www.4shared.com/file/157800155/ae556c29/termo_meter.html
            فرزندم در راه است

            دیدگاه


              #7
              پاسخ : کمک در برنامه ی دماسنج دیجتال لطفآ کمک کنید..

              دوست عزیز من تو برنامه مشکل دارم
              من از برنامه نویسی C هیچ نمی دونم....
              در مورد مدار هم خیلی لطف کردین .. مدارتون خیلی خوبه
              ولی مدار و نمیشه عوضش کنم
              ممنون

              دیدگاه

              لطفا صبر کنید...
              X