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





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









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









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





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

نمایش نتایج: از 1 به 3 از 3
  1. #1
    2013/12/15
    کاشان
    142
    11

    راهنمایی در مورد راه اندازی ماژول max6675(ترموکوپل)

    سلام دوستان
    کسی تا حالا تونسته با avr و زبان سی، دما رو از ماژول max6675 دریافت کنه؟؟
    میشه یه نمونه کد قرار بدید؟؟
    ممنون میشم از کمکتون
    سُبُّوحٌ قُدُّوسٌ رَبُّ الْمَلَائِکَةِ وَ الرُّوحِ

    (SMART DESIGN....(POWERFUL & QUICK

    موفقیت اتفاقی نیست......بابای پولدار میخواد
  2. #2
    2007/08/02
    1,483
    935

    پاسخ : راهنمایی در مورد راه اندازی ماژول max6675(ترموکوپل)

    [code=c]
    #define SCK 5 //SCK (serial clock) pin number
    #define CS 2 //CS (chip select) pin number
    #define SO 4 //SO (serial out, also MISO) pin number

    #define SCK_Port PORTB //SCK port name
    #define CS_Port PORTB //CS port name
    #define SO_Pin PINB //SO pin name
    #define SO_Port PORTB //so pin name

    #define SCK_DDR DDRB //SCK DDR name
    #define CS_DDR DDRB //CS DDR name
    #define SO_DDR DDRB //SO DDR name



    int gettemp(void);
    void init_6675(void);
    //char getTC(void);

    int gettemp(void){ //Temperatur holen.
    char bite = 0, bitnr = 12; //Variablen
    char foo1 = 0;
    int so_data = 0;

    CS_Port &= ~(1 << CS);
    for(foo1 = 0 ; foo1 < 16 ; foo1++){
    bite = 15 - foo1;
    SCK_Port |= (1 << SCK);
    if((bite <= 14) && (bite >= 3)){
    if((SO_Pin & (1 << SO))){ //WENN SO 1 ist, dann...
    bitnr--; //zählen wir runter...
    so_data |= (1 << bitnr); // und schieben eine 1 an bit x
    }else{ //WENN dem NICHT so ist, dann...
    bitnr--; //zählen wir runter...
    so_data &= ~(1 << bitnr); //und schieben eine 0 an bit x
    }
    }else{ //weis au nimmer, was das soll.
    bitnr = 12;
    }
    SCK_Port &= ~(1 << SCK); //SCK LO
    }
    CS_Port |= (1 << CS);
    return so_data*0.25; //Das ist doch mal was ;D
    }


    // getTC() returns 0 if Thermocouple is not connected, 255 if thermocuple is connected
    // (to enable this feature T- must be connected to GND)
    //char getTC(void){ //Temperatur holen. //Variablen
    // char TC = 0;
    // char foo1 = 0;
    // CS_Port &= ~(1 << CS); //Chip select anlegen
    // for(foo1 = 0 ; foo1 < 16 ; foo1++){ //16 Bits einlesen //Die Aktuelle Bitnr berechnen.
    // SCK_Port |= (1 << SCK); //SCK hi
    // if(foo1 == 2){ //das 3. bit ist für uns relevant.
    // if((SO_Pin & (1 << SO))){ //WENN SO 1 ist, dann...
    // TC = 0;
    // }else{ //WENN dem NICHT so ist, dann...
    // TC = 255;
    // }
    // }
    // SCK_Port &= ~(1 << SCK); //SCK LO
    // }
    // CS_Port |= (1 << CS); //CS HI //Alles auf Standardkonfig.
    // return TC; //Das ist doch mal was ;D
    //}
    //

    //Initiates the MAX6675 and IO-pins
    void init_6675(void){ //AVR initialisieren

    SO_DDR &= ~(1 << SO);
    CS_DDR |= (1 << CS);
    SCK_DDR |= (1 << SCK); //IOs setzen

    SO_Port |= (1<<SO); //Pullups an. (Wichtig für MAX6675, der kann nicht anders, hab ich festgestellt...

    CS_Port |= (1 << CS); //CS HI //Alles auf Standardkonfig.
    SCK_Port &= ~(1 << SCK); //SCK LO
    }



    [/code]

    100% جواب میده
    اگه کسی کتاب قدیمی الکترونیک عملی برای جوانان بخت آور داره لطفا پیام بده Hidden Content
  3. #3
    2016/02/01
    1
    0

    پاسخ : راهنمایی در مورد راه اندازی ماژول max6675(ترموکوپل)

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

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

    عضویت

    [code=c]
    #define SCK 5 //SCK (serial clock) pin number
    #define CS 2 //CS (chip select) pin number
    #define SO 4 //SO (serial out, also MISO) pin number

    #define SCK_Port PORTB //SCK port name
    #define CS_Port PORTB //CS port name
    #define SO_Pin PINB //SO pin name
    #define SO_Port PORTB //so pin name

    #define SCK_DDR DDRB //SCK DDR name
    #define CS_DDR DDRB //CS DDR name
    #define SO_DDR DDRB //SO DDR name



    int gettemp(void);
    void init_6675(void);
    //char getTC(void);

    int gettemp(void){ //Temperatur holen.
    char bite = 0, bitnr = 12; //Variablen
    char foo1 = 0;
    int so_data = 0;

    CS_Port &= ~(1 << CS);
    for(foo1 = 0 ; foo1 < 16 ; foo1++){
    bite = 15 - foo1;
    SCK_Port |= (1 << SCK);
    if((bite <= 14) && (bite >= 3)){
    if((SO_Pin & (1 << SO))){ //WENN SO 1 ist, dann...
    bitnr--; //zählen wir runter...
    so_data |= (1 << bitnr); // und schieben eine 1 an bit x
    }else{ //WENN dem NICHT so ist, dann...
    bitnr--; //zählen wir runter...
    so_data &= ~(1 << bitnr); //und schieben eine 0 an bit x
    }
    }else{ //weis au nimmer, was das soll.
    bitnr = 12;
    }
    SCK_Port &= ~(1 << SCK); //SCK LO
    }
    CS_Port |= (1 << CS);
    return so_data*0.25; //Das ist doch mal was ;D
    }


    // getTC() returns 0 if Thermocouple is not connected, 255 if thermocuple is connected
    // (to enable this feature T- must be connected to GND)
    //char getTC(void){ //Temperatur holen. //Variablen
    // char TC = 0;
    // char foo1 = 0;
    // CS_Port &= ~(1 << CS); //Chip select anlegen
    // for(foo1 = 0 ; foo1 < 16 ; foo1++){ //16 Bits einlesen //Die Aktuelle Bitnr berechnen.
    // SCK_Port |= (1 << SCK); //SCK hi
    // if(foo1 == 2){ //das 3. bit ist für uns relevant.
    // if((SO_Pin & (1 << SO))){ //WENN SO 1 ist, dann...
    // TC = 0;
    // }else{ //WENN dem NICHT so ist, dann...
    // TC = 255;
    // }
    // }
    // SCK_Port &= ~(1 << SCK); //SCK LO
    // }
    // CS_Port |= (1 << CS); //CS HI //Alles auf Standardkonfig.
    // return TC; //Das ist doch mal was ;D
    //}
    //

    //Initiates the MAX6675 and IO-pins
    void init_6675(void){ //AVR initialisieren

    SO_DDR &= ~(1 << SO);
    CS_DDR |= (1 << CS);
    SCK_DDR |= (1 << SCK); //IOs setzen

    SO_Port |= (1<<SO); //Pullups an. (Wichtig für MAX6675, der kann nicht anders, hab ich festgestellt...

    CS_Port |= (1 << CS); //CS HI //Alles auf Standardkonfig.
    SCK_Port &= ~(1 << SCK); //SCK LO
    }



    [/code]

    100% جواب میده
    سلام . ببخشید میشه روند کد رو توضیح بدین ؟
نمایش نتایج: از 1 به 3 از 3

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

  1. کار با ماژول max6675
    توسط peyman.electron در انجمن میکروکنترلرهای AVR
    پاسخ: 11
    آخرين نوشته: 2020/11/23, 17:40
  2. راه اندازی max6675 + ترموکوپل
    توسط par3eh در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2017/08/07, 00:52
  3. پاسخ: 3
    آخرين نوشته: 2014/04/15, 11:09
  4. راهنمایی در مورد راه اندازی ماژول sim900
    توسط balandeh.r در انجمن سیستمهای مخابراتی
    پاسخ: 1
    آخرين نوشته: 2013/07/13, 15:12
  5. پاسخ: 4
    آخرين نوشته: 2010/09/10, 22:11

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

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

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

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

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