PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

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
Prev Previous Post   Next Post Next
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
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 12:08 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam