|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
15-04-2013, 11:07 AM | #1 |
Đệ tử 1 túi
Tham gia ngày: Jan 2013
Bài gửi: 21
: |
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. |
|
|