هنا امر مهم جدا اذا استخدمت مكتبة x=adc_read(0); في الميكروسي هو يعمل كل setting والكنفقريشن انت فقط تكتب العبارة. وهذا امر يسهل كثيرا ولكن اخي ثق تماما انه تعمل setting بنفسك في الريجسترات الداخلية هو امر بسيط وسهل وايضا مهم واسرع و اوثق لانه يساعدك على تحديد الدقة وعلى تحديد sampling ومتى تبدا...
لكن اولا اتعامل مع المكتبة الجاهزة افضل. هذا مثال من Library Example تبع mikroC وهو قراءة قيمة تناظرية من قناة 2 ADC ومن ثم اظهار القيم الرقمية على portb , portc على شكل ليد او اضاءة.
كود:
unsigned int temp_res;
void main() {
ANSEL = 0x04; // Configure AN2 pin as analog
ANSELH = 0; // Configure other AN pins as digital I/O
C1ON_bit = 0; // Disable comparators
C2ON_bit = 0;
TRISA = 0xFF; // PORTA is input
TRISC = 0; // PORTC is output
TRISB = 0; // PORTB is output
do {
temp_res = ADC_Read(2); // Get 10-bit results of AD conversion
PORTB = temp_res; // Send lower 8 bits to PORTB
PORTC = temp_res >> 8; // Send 2 most significant bits to RC1, RC0
} while(1);
}