ADC nhiều kênh

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • nupakachi
    Đệ tử 1 túi
    • Jan 2013
    • 21

    #1

    ADC nhiều kênh

    Các anh ơi cho em hỏi bấy giờ em muốn đọc adc nhiều kênh thì làm thế nào.E đã viết 2 cái hàm chon kênh rồi nhét vào vòng xử lý ngắt mà nó chỉ hiện ra 1 kênh thôi:
    code của em như thế này:
    void adc_3(void)
    {
    unsigned int ADC_result,temp;
    ADCON0bits.DONE=1;
    // chon kenh 3
    ADCON0bits.CHS3=0;
    ADCON0bits.CHS2=0;
    ADCON0bits.CHS1=1;
    ADCON0bits.CHS0=1;
    ADC_result = (ADRESH<<8)|ADRESL;
    temp = ADC_result/2.048; //ta co 10mV/(5mV/1024)= 2,048
    SetDDRamAddr( SECOND_LINE);hien thi len dong 2
    LCD_IN_INTER(temp);
    }
    void adc_4(void)
    {
    unsigned int ADC_result1,temp1;
    ADCON0bits.DONE=1;
    // chon kenh 4
    ADCON0bits.CHS3=0;
    ADCON0bits.CHS2=1;
    ADCON0bits.CHS1=0;
    ADCON0bits.CHS0=0;
    ADC_result1 = (ADRESH<<8)|ADRESL;
    temp1 = ADC_result1/2.048; //ta co 10mV/(5mV/1024)= 2,048
    SetDDRamAddr(0);
    LCD_IN_INTER(temp1);
    }
    #pragma code interrupt_vector=0x08
    void interrupt_vector(void)
    {
    _asm
    goto ADC_isr
    _endasm
    }
    #pragma code
    #pragma interrupt ADC_isr
    void ADC_isr(void)
    {
    adc_3();
    adc_4();
    //flag=1;
    PIR1bits.ADIF = 0; //Clear ADC Interrupt Flag
    }

    Anh nào có code c18 cho em xin luôn.
    Em xin cảm ơn.
Working...