Ðề tài: ADC nhiều kênh
View Single Post
Old 15-04-2013, 11:07 AM   #1
nupakachi
Đệ 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.
nupakachi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn