نحوه استفاده از ADC

مبدل آنالوگ به ديجيتال، يكي از مهمترين قابليت‌هايست كه اكثر ميكروكنترلر‌هاي خانواده‌ي AVR آن را دارند. در ميكروكنترلر‌هاي قديمي‌تر، براي اين كار، بايد يك آي سي به صورت جداگانه بر روي مدار تعبيه ميشد.
آموزش تعمیرات بردهای الکترونیکی
در ميکرو کنترلر ATMEGA16، 8 پايه اي به ADC اختصاص داده شده، ADC مخفف "Analog-Digital Converter" و به معناي مبدل آنالوگ به ديجيتال است. يعني شما مي توانيد به صورت همزمان، خروجيِ 8 سنسور يا مدار جانبي را به ميکروکنترلر خود وصل کنيد و اطلاعات آن ها را به وسيله  ADC دريافت کنيد.
اما اين 8 پايه کدام پايه ها هستند؟
اين 8 پايه، پايه مربوط به پورت A هستند که با فعال کردن ADC در CodeWizard، اين پايه ها در اختيار ADC قرار مي گيرند. دقت کنيد که براي استفده از ADC حتماً بايد قبلاً تنظيمات را در CodeWizard انجام داده باشيد.
اين 8 پايه طبق شکل زير از ADC0 تا ADC7 نام گذاري شده اند.
چگونه از ADC در برنامه استفاده کنيم؟
هنگاميکه شما تنظيمات اوليه را براي فعال سازي ADC در CodeWizard انجام مي دهيد، به شما اين امکان داده مي شود که در هر قسمت از برنامه، مقدار هر يک از 8 ADC را بخوانيد و از آن استفاده کنيد. عبارت" (شماره  ADC read_adc )" در هر قسمت از برنامه، حاوي مقدار ADC مورد نظر شماست. مثلاً اگر بخواهيم مقدار ADC0 را بررسي كنيم كه آيا از 100 بزرگتر است يا خير، به شكل زير عمل مي‌كنيم:
                                                                                                                                         if(read_adc(0) ) > 100
يا مثلاً اگر بخواهيم مقدار ADC1 را در داخل يك متغير نگه داري كنيم، به شكل زير عمل مي كنيم:
                                                                                                                                                                       ;  int a
                                                                                                                                                  ; (1)  a= read_adc