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





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









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





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

صفحه 1 از 4 1234 آخرین
نمایش نتایج: از 1 به 10 از 38

موضوع: DS18S20

  1. #1
    2011/05/24
    138
    1

    DS18S20

    سلام
    دوستان میخوام جندتا DS18S20 رو باهم وصل کنم به 16F877Aراهنمایی لطفا
  2. #2
    2011/04/26
    68
    1

    پاسخ : DS18S20

    سخت افزارش آماده است ؟ با چه کامپايلري ميخوايد انجام بديد؟
    گل سرخ گل سرخ است و خار , خار . نه خار بد است و نه گل سرخ خوب . اگر انسان از روي زمين محو شود , گلها آنجا خواهند بود و خارها نيز آنجا . اما ديگر كسي نيست كه بگويد گلهاي سرخ خوبند و خارها بد !
  3. #3
    2011/05/24
    138
    1

    پاسخ : DS18S20

    نه اگه میشه کلا یه راهنمایی کنید و اینکه از کامپایلر ccs استفاده میکنم
  4. #4
    2006/08/16
    867
    17

    پاسخ : DS18S20

    ابتدا عبارت زیر را در گوگل سرچ میکنیم. این عبارت از گوگل می خواهد که عبارت "DS1820" را در سایت ccsinfo جستجو کند.
    کد:
    DS1820 site:ccsinfo.com
    روی نتیجه دوم که به نظر مناسب می آید کلیک میکنیم. CCS :: View topic - DS18S20 & DS18B20 Codes
    در این تاپیک کد لازم برای راه اندازی یک سنسور آمده است.
    ابتدا یک سنسور را راه اندازی میکنیم. سپس با مطالعه دیتاشیت چند سنسور را اضافه میکنیم.

    موفق باشید.

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

    عضویت

  5. #5
    2011/05/24
    138
    1

    پاسخ : DS18S20

    سلام
    دوست عزیز من اینارو مطالعه کردم اما کدهایی که تو نت هست رو نمیدونم چطور تو ccs ازشون تست بگیرم

    اضافه شده در تاریخ :
    برای مثال این کد که گفته واسه بیشتر از یکی کار نمیکنه.میشه راهنمایی کنید با ccs v14.130 چطور از این کد استفاده کنم ؟من تاپیکهای ساخت پروزه رو خوندم اما مراحلش فرق داره تو این ورژن
  6. #6
    2006/08/16
    867
    17

    پاسخ : DS18S20

    کد هایی که در

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

    عضویت

    داده رو در فایل های جداگانه در یک پوشه ذخیره کنید. فایل main رو با IDE باز کنید و کامپایل کنید. بعدسخت افزار رو ببندید و تست کنید. از پروتیوس هم میتونید استفاده کنید ولی زیاد بهش اعتماد نکنید.

    برای آشنایی با اصول برنامه نویسی در CCS

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

    عضویت

    رو یه نگاهی بندازید.(از تاپیک

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

    عضویت

    در بالای انجمن)

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

    عضویت

  7. #7
    2011/05/24
    138
    1

    پاسخ : DS18S20

    دوست عزیز من با CCS کار میکنم اگه میشه تو این محیط راهنمایی کنید
    [code=c]#include <main.h>
    #define ONE_WIRE_PIN PIN_A0
    #USE RS232(BAUD=9600, XMIT=PIN_c7, RCV=PIN_c6)

    int8 tH,tL,Conf;
    void onewire_reset(void);
    void onewire_write(int data);
    int onewire_read();
    float ds1820_read();


    void main()
    {
    printf("Temperature"
    float temperature;
    //for 10 bit resolution mod
    onewire_write(0xCC);
    onewire_write(0x4E);

    onewire_write(125);
    onewire_write(-55); //this should be done for proper working of DS18B20
    onewire_write(127);

    onewire_reset();
    onewire_write(0xCC);
    onewire_write(0x48);
    delay_ms(15);

    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1|RTCC_8_bit) ; //102 us overflow


    //Example blinking LED program
    while(true)
    {
    temperature = ds1820_read();
    printf("Temperature= %3.1f\n\r",temperature);
    output_low(LED);
    delay_ms(DELAY);
    output_high(LED);
    delay_ms(DELAY);
    }

    }





    /*******************1-wire communication functions********************/


    void onewire_reset() // OK if just using a single permanently connected device
    {output_low(ONE_WIRE_PIN);
    delay_us( 500 ); // pull 1-wire low for reset pulse
    output_float(ONE_WIRE_PIN); // float 1-wire high
    delay_us( 500 ); // wait-out remaining initialisation window.
    output_float(ONE_WIRE_PIN);
    }

    /*********************** onewire_write() ********************************/

    void onewire_write(int data)
    {
    int count;

    for (count=0; count<8; ++count)
    {
    output_low(ONE_WIRE_PIN);
    delay_us( 2 ); // pull 1-wire low to initiate write time-slot.
    output_bit(ONE_WIRE_PIN, shift_right(&data,1,0)); // set output bit on 1-wire
    delay_us( 60 ); // wait until end of write slot.
    output_float(ONE_WIRE_PIN); // set 1-wire high again,
    delay_us( 2 ); // for more than 1us minimum.
    }
    }

    /*********************** read1wire() *********************************/
    int onewire_read()
    {
    int count, data;

    for (count=0; count<8; ++count)
    {
    output_low(ONE_WIRE_PIN);
    delay_us( 2 ); // pull 1-wire low to initiate read time-slot.
    output_float(ONE_WIRE_PIN); // now let 1-wire float high,
    delay_us( 8 ); // let device state stabilise,
    shift_right(&data,1,input(ONE_WIRE_PIN)); // and load result.
    delay_us( 120 ); // wait until end of read slot.
    }

    return( data );
    }
    //*********************** ds1820_read() *********************************/

    float ds1820_read()
    {
    int8 busy=0, temp1, temp2;
    signed int16 temp3;
    float result;

    onewire_reset();
    onewire_write(0xCC);
    onewire_write(0x44);
    delay_ms(200);
    while (busy == 0)
    busy = onewire_read();

    onewire_reset();
    onewire_write(0xCC);
    onewire_write(0xBE);
    temp1 = onewire_read();
    temp2 = onewire_read();
    tH=onewire_read();
    tL=onewire_read();
    Conf=onewire_read();
    temp3 = make16(temp2, temp1);

    //result = (float) temp3 / 2.0; // 0.5 deg C resolution
    result = (float) temp3 / 16.0; //0.1 deg C resolution
    delay_ms(200);
    return(result);
    } [/code]

    این هم کد برنامم اول اینکه تو پروتئوس کار نمیکنه و اینکه جندتا DS18S20 میخوام باشه تو مدارم

    اضافه شده در تاریخ :
    سوال دیگه اینکه چطور میشه 1WIREرو فعال کنم تو کدم؟
  8. #8
    2006/08/16
    867
    17

    پاسخ : DS18S20

    نقل قول نوشته اصلی توسط asmira
    سوال دیگه اینکه چطور میشه 1WIREرو فعال کنم تو کدم؟
    فعال کردن معنی نداره. PIC ماجول 1Wire نداره که بخواد فعال بشه. باید بصورت نرم فزاری سیگنال داده بشه که توی کد شما موجوده.
    در ضمن ورژن ccs v14.130 نداریم. احتمالا 4.130 هست.

    XMIT=PIN_c7 به نظر غلط میاد. پایه ارسال C6 هست. اینجوری بنویسید:
    کد:
    #USE RS232(BAUD=9600,uart1,errors)
    1- آیا کدتون رو از تاپیکی که من لینک دادم تدوین کردید؟
    2- وقتی میگید کار نمیکنه یعنی چی؟ توی ترمینال چیزی نشون نمیده؟ LED چشمک نمیزنه؟ دما رو درست نشون نمیده؟ یا چی؟
    3- محتویات فایل main.h رو ارسال کنید.
    4- فایل شبیه سازی پروتیوس رو ارسال کنید.
    5- مقاومت پول پ گزاشتید روی خط دیتا؟


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

    عضویت

  9. #9
    2011/05/24
    138
    1

    پاسخ : DS18S20

    با سلام و خسته نباشید.
    دوست عزیز من کد رو که کامپایل میکنم error نمیده و اینکه نه روی سریال چیزی نشون میده نه ledروشن میشه هیچ عکس العملی نداره.بله همون کدی که شما فرمودید و اینکه مقاومت puulup هم گذاشتم.[code=c]#include <main.h>
    #define ONE_WIRE_PIN PIN_A0
    #USE RS232(BAUD=9600, XMIT=PIN_c7, RCV=PIN_c6)

    int8 tH,tL,Conf;
    void onewire_reset(void);
    void onewire_write(int data);
    int onewire_read();
    float ds1820_read();


    void main()
    {
    printf("Temperature"
    float temperature;
    //for 10 bit resolution mod
    onewire_write(0xCC);
    onewire_write(0x4E);

    onewire_write(125);
    onewire_write(-55); //this should be done for proper working of DS18B20
    onewire_write(127);

    onewire_reset();
    onewire_write(0xCC);
    onewire_write(0x48);
    delay_ms(15);

    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1|RTCC_8_bit) ; //102 us overflow


    //Example blinking LED program
    while(true)
    {
    temperature = ds1820_read();
    printf("Temperature= %3.1f\n\r",temperature);
    output_low(LED);
    delay_ms(DELAY);
    output_high(LED);
    delay_ms(DELAY);
    }

    }





    /*******************1-wire communication functions********************/


    void onewire_reset() // OK if just using a single permanently connected device
    {output_low(ONE_WIRE_PIN);
    delay_us( 500 ); // pull 1-wire low for reset pulse
    output_float(ONE_WIRE_PIN); // float 1-wire high
    delay_us( 500 ); // wait-out remaining initialisation window.
    output_float(ONE_WIRE_PIN);
    }

    /*********************** onewire_write() ********************************/

    void onewire_write(int data)
    {
    int count;

    for (count=0; count<8; ++count)
    {
    output_low(ONE_WIRE_PIN);
    delay_us( 2 ); // pull 1-wire low to initiate write time-slot.
    output_bit(ONE_WIRE_PIN, shift_right(&data,1,0)); // set output bit on 1-wire
    delay_us( 60 ); // wait until end of write slot.
    output_float(ONE_WIRE_PIN); // set 1-wire high again,
    delay_us( 2 ); // for more than 1us minimum.
    }
    }

    /*********************** read1wire() *********************************/
    int onewire_read()
    {
    int count, data;

    for (count=0; count<8; ++count)
    {
    output_low(ONE_WIRE_PIN);
    delay_us( 2 ); // pull 1-wire low to initiate read time-slot.
    output_float(ONE_WIRE_PIN); // now let 1-wire float high,
    delay_us( 8 ); // let device state stabilise,
    shift_right(&data,1,input(ONE_WIRE_PIN)); // and load result.
    delay_us( 120 ); // wait until end of read slot.
    }

    return( data );
    }
    //*********************** ds1820_read() *********************************/

    float ds1820_read()
    {
    int8 busy=0, temp1, temp2;
    signed int16 temp3;
    float result;

    onewire_reset();
    onewire_write(0xCC);
    onewire_write(0x44);
    delay_ms(200);
    while (busy == 0)
    busy = onewire_read();

    onewire_reset();
    onewire_write(0xCC);
    onewire_write(0xBE);
    temp1 = onewire_read();
    temp2 = onewire_read();
    tH=onewire_read();
    tL=onewire_read();
    Conf=onewire_read();
    temp3 = make16(temp2, temp1);

    //result = (float) temp3 / 2.0; // 0.5 deg C resolution
    result = (float) temp3 / 16.0; //0.1 deg C resolution
    delay_ms(200);
    return(result);
    } [/code]

  10. #10
    2006/08/16
    867
    17

    پاسخ : DS18S20

    نقل قول نوشته اصلی توسط freedom_truth
    3- محتویات فایل main.h رو ارسال کنید.
    4- فایل شبیه سازی پروتیوس رو ارسال کنید.

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

    عضویت

صفحه 1 از 4 1234 آخرین
نمایش نتایج: از 1 به 10 از 38

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

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

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

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

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