Thông báo

Collapse
No announcement yet.

ADC của PIC. Cao thủ nào đủ sức giúp.

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

  • ADC của PIC. Cao thủ nào đủ sức giúp.

    Em có 1 đề tài là đo điện áp dùng ADC của PIC
    Và cụ thể. Khi +4.5v < U <+5V thì PORTB=0b10000000
    Mong các cao thủ giúp đề tài này cái.

  • #2
    Nguyên văn bởi gaby_boy Xem bài viết
    Em có 1 đề tài là đo điện áp dùng ADC của PIC
    Và cụ thể. Khi +4.5v < U <+5V thì PORTB=0b10000000
    Mong các cao thủ giúp đề tài này cái.
    mình chẳng phải là cao thủ nhưng vẫn đủ sức giúp bạn vấn đề này.
    Code:
    //=================================================================== ==========
    // Ten chuong trinh: Do dien ap
    // Nguoi thuc hien : Cao Van Huong
    // Email           : caovanhuong@webdien.com
    // Cell phone      : 01672754113
    // Ngon ngu        : CCS-C 4.114
    // Ngay thuc hien  : 22/2/2010
    //******************************************************************************
    // MCU             : PIC16F877A
    // Crystal         : 20MHz
    // Display         : LCD 2x16
    //******************************************************************************
    // Ngay hoan thanh : 22/2/2010
    // Ky ten          : Cao Van Huong
    //=================================================================== ==========
    #include <16F877A.h>
    #include <def_877a.h>
    #fuses NOWDT,HS,PUT,NOLVP,NOPROTECT
    #device *=16 adc=10
    #use delay(clock=20000000)
    #include <lcd_lib.c>
    float a,volt;
    void main()
    {
    trisa=0x01;
    trisb=0x00;
    trisc=0x00;
    trisd=0x00;
    portc=0x00;
    lcd_init();
    setup_ADC_ports(AN0_AN1_AN3);
    setup_ADC(adc_clock_internal);
    set_ADC_channel(0);
    delay_us(10);
    while(1)
    {
    a=read_adc();
    volt=(a*4.88)/1000;
    lcd_putcmd(0x83);
    lcd_putchar("CAO VAN HUONG");
    lcd_putcmd(0xc0);
    printf(lcd_putchar,"Dien ap:%fV",volt);
    if(volt>4.5)
    portc=0x80;
    else
    portc=0x00;
    }
    }
    - code này viết mình thay portb= portc vì portb mình dùng nó hiển thị LCD để thấy rõ sử thay đổi điện áp và dữ liệu xuất ra portc. nếu không hiển thị LCD thì bạn xóa portc đi và thay vào đó là portb=0x80;
    - mình không biết là giá tri điện áp bạn cho vào ADC là bao nhiêu nên lấy điện áp 5V là điện áp lớn nhất đưa vào ADC
    Attached Files
    Last edited by caovanhuong; 23-02-2011, 07:40.

    Comment


    • #3
      Thanks mình tự làm dc rồi he he

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X