RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

xin chỉ dẫn về code!

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • legolas_2801
    Nhập môn đệ tử
    • Apr 2012
    • 3

    #1

    xin chỉ dẫn về code!

    em mới tìm hiểu về PIC16F877A nên ko biết nhiều, mong các anh chị chỉ giùm em.
    e dùng lm35 và PIC16F877A! sườn bài như thế này:
    - nếu A5=mức cao => B0=mức cao (delay_ms (100))
    - nếu A5=mức thấp => B0=mức thấp (delay_ms(60000))
    - trong lúc chân B0 đang ở mức thấp mà LM35 lên đến nhiệt độ là 37c thì B0 lên mức cao.
    chương trình của em nếu chạy riêng 2 yêu cầu thì được nhưng nếu chạy chung thì LM35 có lên bao nhiêu độ chân B0 vẫn không lên mức cao được!
    đây là code của em:
    #include <16f877a.h>
    #use delay(clock=4000000)
    int i;
    unsigned char tVal;
    //+++++++++++++++++++++
    void nhietdo()
    {
    if(tVal<=37)
    {
    output_low(PIN_B0);
    delay_ms(1000);
    }
    else
    {
    output_high(PIN_B0);
    delay_ms(1000);
    }
    }

    //+++++++++++++++++++++
    #INT_RTCC
    void tuoi_theo_c()
    {
    nhietdo();
    }
    //+++++++++++++++++++++
    void main()
    {
    enable_interrupts(GLOBAL);
    enable_interrupts(INT_RTCC);
    setup_timer_0(RTCC_DIV_8);
    setup_adc(ADC_CLOCK_INTERNAL);
    setup_adc_ports( RA0_RA1_ANALOG_RA3_REF );
    while(TRUE)
    {
    set_adc_channel(0);
    delay_ms(10);
    tVal = (float)read_adc();
    if(input(pin_A5))
    { output_high(PIN_B0);
    delay_ms(100);
    output_low (PIN_B0);
    { for (i=1;i<=10;++i)
    delay_ms(6000);
    }
    }
    }
    }
    Mong các anh chị giúp em gấp!
    Last edited by legolas_2801; 28-04-2012, 10:09 PM. Lý do: viết thiếu
  • TRUNGBAOSPKT
    Đệ tử 2 túi
    • Sep 2011
    • 32

    #2
    Thay B0 bằng chân khác thử được không !

    Comment

    Working...