Thông báo

Collapse
No announcement yet.

đề tài về LM35

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • đề tài về LM35

    Mình đang làm đồ án về LM35...đề tài là sử dụng LM35 để điều khiển tốc độ quạt bằng PWM..
    mình làm và viết code mô phỏng thì chạy nhưng làm mạch thực tế thì không chạy...các bạn giúp mình kiểm tra với....
    ý tưởng của bài này là LM35 > ADC > PWM > FAN > xuất thêm ra LCD tốc độ quạt và nhiệt độ nữa....
    #include "E:\Learning\Do An\oo\lm35.h"
    #include "E:\Learning\Do An\oo\lcd_new.h"
    #include "E:\Learning\Do An\oo\MH_16F877A.h"
    #INT_EXT
    float read,t = 0.0f;
    int8 x,y,k;
    void main(void)
    {
    set_tris_a(0xFF);
    set_tris_d(0x00);
    //khoi tao ngat ngoai
    enable_interrupts(INT_EXT);
    ext_int_edge(H_TO_L);
    enable_interrupts(GLOBAL);
    //Khoi tao ADC
    setup_adc_ports(AN0);
    setup_adc(ADC_CLOCK_INTERNAL);
    set_adc_channel(0);
    delay_ms(50);
    // PWM dieu che xung
    output_low(PIN_C1);
    setup_ccp1(CCP_PWM);
    setup_timer_2(T2_DIV_BY_16, 255, 1);
    while(TRUE)
    {
    lcd_init();
    read=read_adc();
    t=read*0.48828125; //adc 10 bit
    //dien ap ra(mV) = nhietdo * 0.01
    //5V dien ap = 1024 ADC
    //(read ADC *5/1024) / 0.01 = nhietdo
    printf(lcd_putc "Nhiet Do: %0.0f C\n",t);
    delay_us(20);
    x = ((read-21)*100)/102; // 123----100%
    // 52----30%
    //(52-k)--30% =>k =>start point=52-k
    if (t<61)
    if (t>25)
    {
    y=x*2.55;
    }
    else y=0;
    if (t>60){y=255;}
    k=y/2.55;
    printf(lcd_putc "Toc Do: %u",k);
    set_pwm1_duty(y);
    };
    }

    Đây là toàn bộ những ji mình làm đk: http://www.mediafire.com/download/ap...k8rh/lm+35.rar
    Last edited by iljimae223; 05-08-2014, 18:43.

Về tác giả

Collapse

iljimae223 Tìm hiểu thêm về iljimae223

Bài viết mới nhất

Collapse

Đang tải...
X