![]() |
|
Tài trợ cho PIC Vietnam |
PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#3 |
Đệ tử 5 túi
Tham gia ngày: Oct 2005
Bài gửi: 117
: |
Tại một thời điểm bạn chỉ có thể đọc được một kênh ADC vì trong PIC có một bộ ADC mà thồi, việc có nhiều kênh chẳng qua là PIC dùng thêm bộ MUX tương tự để lấy dữ liệu từ các kênh khác nhau đưa vào ADC và đo. Để đọc nhiều kênh ADC liên tiếp nhau, bạn có thể code như sau:
Khai báo biến Code:
#define MAX_CH_ADC 8 int8 adc_buffer[MAX_CH_ADC]; // Hàm đọc nhiều kênh ADC void read_mult_adc(int8 Num_Ch){ int8 i; for(i=0;i< Num_Ch;i++){ set_adc_channel(i); //kênh adc thứ i delay_us(10); // Sau khi set kênh thì cần đợi 10us, đọc help CCS phần về adc adc_buffer[i]= read_adc(); } } Khi không đọc các kênh liên tiếp nhau, bạn dùng hàm set_adc_channel(ten_kenh_adc); delay_us(10); để chuyển đổi đến kênh adc cần đo và gọi hàm read_adc() để lấy giá trị kênh đó về, lưu vào buffer.
__________________
CallerID, Ethernet-RS232, PICWEB, Cảnh báo BTS Giải pháp toàn diện giám sát - điều khiển từ xa qua GSM/Internet 0988006696 http://linhnc308.blogspot.com linhnc308@gmail.com |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|