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





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









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









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






جهت تبلیغ در وب سایت ECA کلیک کنید.

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

نمایش نتایج: از 1 به 3 از 3
  1. #1
    2018/06/30
    15
    1

    Lightbulb مشکل با dht11 در کدویژن و سون سگمنت

    سلام دوستان عزیز و مهندسین بزرگوار
    خسته نباشید
    بنده در کد ویژن برنامه نویسی کردم در محیط پروتئوس کار میکنه ولی وقتی رو مدار مینزم 0 نشون میده البته صفر هم نشون نمیده پایه f سگمنت روشن نمیشه ،
    لازم به ذکر هست دوستان بزرگوار سگمنت من 4 دجیت هست و اند مشترک
    لطفا راهنمایی کنید مشکل بنده در چه هست

    بنده پروژه کد ویژن رو + پی دی اف پروتئوس را در لینک های زیر قرار داده ام

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

    عضویت


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

    عضویت



    کد پروژه

    /************************************************** *****
    This program was created by the
    CodeWizardAVR V3.12 Advanced
    Automatic Program Generator
    © Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.

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

    عضویت



    Project :
    Version :
    Date : 7/13/2018
    Author :
    Company :
    Comments:


    Chip type : ATmega328P
    Program type : Application
    AVR Core Clock frequency: 8.000000 MHz
    Memory model : Small
    External RAM size : 0
    Data Stack size : 512
    ************************************************** *****/

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

    عضویت

    <mega328p.h>

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

    عضویت

    <io.h>
    // delay

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

    عضویت

    <delay.h>
    // convert bit to number

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

    عضویت

    <stdlib.h>

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

    عضویت

    <stdio.h>
    unsigned int Num;
    unsigned char Serial_Number[20]={0};
    unsigned int Ashar=0;
    unsigned int i=1;
    unsigned int seg7=0;
    unsigned int rt1;
    unsigned int rt2;
    unsigned int dm1;
    unsigned int dm2;
    // count bit
    unsigned char bit_count = 0;
    // feedback count bit return
    unsigned char c = 0;
    // temperature and humidity value
    unsigned char i_rh, d_rh, i_temp, d_temp, check;
    // loop count
    unsigned char cl = 0;

    void request(void)
    {
    // DDRC.0 = 1;
    DDRC |= (1<<0);

    // PORTC.0 = 0;
    PORTC &= ~(1<<0);

    // delay_ms(18);
    delay_ms(18);

    // PORTC.0 = 1;
    PORTC |= (1<<0);
    }
    void response()
    {
    // PINC
    DDRC &= ~(1<<0);

    while(PINC & (1<<0))
    {
    delay_us(1);
    cl++;
    if (cl > 80) break;
    }

    cl = 0;
    while((PINC & (1<<0))==0)
    {
    delay_us(40);
    cl++;
    if (cl > 2) break;
    }

    cl = 0;
    while(PINC & (1<<0))
    {
    delay_us(40);
    cl++;
    if (cl > 2) break;
    }
    }
    unsigned char recive()
    {
    while(bit_count<8)
    {
    bit_count++;

    while((PINC & (1<<0))==0);

    delay_us(30);

    if(PINC & (1<<0))
    {
    c=(c<<1)|(0x01);
    } else {
    c=c<<1;
    }
    while(PINC & (1<<0));
    }

    bit_count=0;

    return c;
    }


    // Declare your global variables here

    void main(void)
    {
    unsigned char cathode_seg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x9 0};
    unsigned char data[5];
    // Declare your local variables here

    // Crystal Oscillator division factor: 1

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

    عضویت

    optsize-
    CLKPR=(1<<CLKPCE);
    CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);

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

    عضویت

    _OPTIMIZE_SIZE_

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

    عضویت

    optsize+

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

    عضویت



    // Input/Output Ports initialization
    // Port B initialization
    // Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
    DDRB=(1<<DDB7) | (1<<DDB6) | (1<<DDB5) | (1<<DDB4) | (1<<DDB3) | (1<<DDB2) | (1<<DDB1) | (1<<DDB0);
    // State: Bit7=0 Bit6=0 Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=0 Bit0=0
    PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

    // Port C initialization
    // Function: Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
    DDRC=(0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);
    // State: Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
    PORTC=(0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

    // Port D initialization
    // Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
    DDRD=(1<<DDD7) | (1<<DDD6) | (1<<DDD5) | (1<<DDD4) | (1<<DDD3) | (1<<DDD2) | (1<<DDD1) | (1<<DDD0);
    // State: Bit7=0 Bit6=0 Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=0 Bit0=0
    PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);

    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    // Mode: Normal top=0xFF
    // OC0A output: Disconnected
    // OC0B output: Disconnected
    TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00);
    TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (0<<CS00);
    TCNT0=0x00;
    OCR0A=0x00;
    OCR0B=0x00;

    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer1 Stopped
    // Mode: Normal top=0xFFFF
    // OC1A output: Disconnected
    // OC1B output: Disconnected
    // 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=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
    TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);
    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
    // OC2A output: Disconnected
    // OC2B output: Disconnected
    ASSR=(0<<EXCLK) | (0<<AS2);
    TCCR2A=(0<<COM2A1) | (0<<COM2A0) | (0<<COM2B1) | (0<<COM2B0) | (0<<WGM21) | (0<<WGM20);
    TCCR2B=(0<<WGM22) | (0<<CS22) | (0<<CS21) | (0<<CS20);
    TCNT2=0x00;
    OCR2A=0x00;
    OCR2B=0x00;

    // Timer/Counter 0 Interrupt(s) initialization
    TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0);

    // Timer/Counter 1 Interrupt(s) initialization
    TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1);

    // Timer/Counter 2 Interrupt(s) initialization
    TIMSK2=(0<<OCIE2B) | (0<<OCIE2A) | (0<<TOIE2);

    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // Interrupt on any change on pins PCINT0-7: Off
    // Interrupt on any change on pins PCINT8-14: Off
    // Interrupt on any change on pins PCINT16-23: Off
    EICRA=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00);
    EIMSK=(0<<INT1) | (0<<INT0);
    PCICR=(0<<PCIE2) | (0<<PCIE1) | (0<<PCIE0);

    // USART initialization
    // USART disabled
    UCSR0B=(0<<RXCIE0) | (0<<TXCIE0) | (0<<UDRIE0) | (0<<RXEN0) | (0<<TXEN0) | (0<<UCSZ02) | (0<<RXB80) | (0<<TXB80);

    // Analog Comparator initialization
    // Analog Comparator: Off
    // The Analog Comparator's positive input is
    // connected to the AIN0 pin
    // The Analog Comparator's negative input is
    // connected to the AIN1 pin
    ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);
    ADCSRB=(0<<ACME);
    // Digital input buffer on AIN0: On
    // Digital input buffer on AIN1: On
    DIDR1=(0<<AIN0D) | (0<<AIN1D);

    // ADC initialization
    // ADC disabled
    ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);

    // SPI initialization
    // SPI disabled
    SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);

    // TWI initialization
    // TWI disabled
    TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);

    while (1)
    {
    delay_ms(1000);
    request();
    response();

    i_rh = recive();
    d_rh = recive();
    i_temp = recive();
    d_temp = recive();
    check = recive();
    if ((i_rh + d_rh + i_temp + d_temp) != check)
    {

    } else
    {
    itoa(i_rh, data);
    Num = (int)data;





    itoa(i_temp, data);
    dm1=i_temp/10;
    dm2=i_temp%10;

    PORTD.0 = 1;
    PORTD.1 = 0;
    PORTB=cathode_seg[dm1];
    delay_ms(1000);
    PORTD.0 = 0;
    PORTD.1 = 1;
    PORTB=cathode_seg[dm2];
    delay_ms(1000);


    }
    delay_ms(1000);

    }
    }
  2. #2
    2018/01/27
    تهران
    56
    33

    پاسخ : مشکل با dht11 در کدویژن و سون سگمنت

    سلام دوست عزیز,
    تو عمل باید مقدار delay برای نمایش رو سون سگمنت رو کم کنید ( در حد 1 میلی ثانیه)
    (بعد از کم کردن delay , تو پروتئوس هم برای این که درست نشون بده,, زمانی که کد هگز میکرو رو میخواین Load کنید, اون قسمت پایین, کلاک رو تنظیم کنید و با کلاک میکرو ست کنید.)
    ترتیب برنامه تون هم تو حلقه while برای نمایش به صورت زیر مرتب کنید:



    PORTD.0 = 1;
    PORTB=cathode_seg[dm1];
    delay_ms(1);
    PORTD.0 = 0;


    PORTD.1 = 1;
    PORTB=cathode_seg[dm2];
    delay_ms(1);
    PORTD.1 = 0;


  3. #3
    2018/06/30
    15
    1

    پاسخ : مشکل با dht11 در کدویژن و سون سگمنت

    نقل قول نوشته اصلی توسط Hamidreza.BRZ

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

    عضویت

    سلام دوست عزیز,
    تو عمل باید مقدار delay برای نمایش رو سون سگمنت رو کم کنید ( در حد 1 میلی ثانیه)
    (بعد از کم کردن delay , تو پروتئوس هم برای این که درست نشون بده,, زمانی که کد هگز میکرو رو میخواین Load کنید, اون قسمت پایین, کلاک رو تنظیم کنید و با کلاک میکرو ست کنید.)
    ترتیب برنامه تون هم تو حلقه while برای نمایش به صورت زیر مرتب کنید:



    PORTD.0 = 1;
    PORTB=cathode_seg[dm1];
    delay_ms(1);
    PORTD.0 = 0;


    PORTD.1 = 1;
    PORTB=cathode_seg[dm2];
    delay_ms(1);
    PORTD.1 = 0;


    سلام ممنون برادر ولی مشکل اینکه کلا دیتا 0 هست (یعنی dht11 عدد 0 رو به عنوان دیتا میفرسته)
نمایش نتایج: از 1 به 3 از 3

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

  1. [آموزشی] راه اندازی سنسورهای DHT11 و DHT22 با کدویژن
    توسط سید رضا باباتبار در انجمن ماژول و سنسورهای دما و رطوبت
    پاسخ: 45
    آخرين نوشته: 2019/10/05, 22:07
  2. نمایش دما بر روی سون سگمنت با سنسور ds18b20 در کدویژن
    توسط kazemihossein33 در انجمن میکروکنترلرهای AVR
    پاسخ: 5
    آخرين نوشته: 2017/02/26, 13:09
  3. کمک در برنامه dht11
    توسط hamid324 در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2015/07/25, 23:12
  4. راه اندازی سنسور DHT11
    توسط ircaspianhero در انجمن میکروکنترلرهای AVR
    پاسخ: 10
    آخرين نوشته: 2015/07/25, 14:34
  5. مشکل با سنسور DHT11
    توسط ahmad6870 در انجمن میکروکنترلرهای AVR
    پاسخ: 50
    آخرين نوشته: 2014/10/04, 18:55

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

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

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

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

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