![]() |
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. |
Múi giờ GMT. Hiện tại là 05:05 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam