ADC واحد آنالوگ به دیجیتال یک واحد پرکاربد میباشد که در تمامی میکروها وجود دارد و کار آن تبدیل سیگنال آنالوگ به دیجیتال میباشد چطور؟ به این صورت که یک بازه ولتاژی را به قسمتهای کوچکتر تقسیم کرده و به آن بازههای کوچک یک مقدار دیجیتال تخصیص میدهد به عنوان مثال بازه صفر تا پنج ولت در حالت عادی دیجیتال دو سطح دارد ۵ ولت برابر با ۱ و ۰ ولت برابر صفر و برای ولتاژهای این وسط جز این دو عدد نمیتوانیم تخصیص دهیم، حال اگر بخواهیم با یک ADC ۲ بیتی به دیجیتال تبدیل کنیم، ۲ به توان ۲ تعداد جایگشت با ۲ بیت را میدهد که ۴ میشود (۰۰.۰۱، ۱۰.۱۱) که برمبنای ده این اعداد (۰.۱، ۲.۳) میشود.
بنابراین ۰ تا ۵ را به چهار قسمت تقسیم کرده که میشود (۰تا ۱.۲۵ – ۱.۲۵ تا ۲.۵ – ۲.۵ تا ۳.۷۵ و ۳.۷۵ تا ۵) و به هر بازه یک عدد تخصیص میدهیم یعنی اگر ولتاژ بین ۰ تا ۱.۲۵ بود به آن ۰ یا مقدار باینری ۰۰ و اگر بین ۱.۲۵ تا ۲.۵ بود عدد ۱ یا بایندی ۰۱ و اگر بین ۲.۵ تا ۳.۷۵ بود عدد ۲ یا باینری ۱۰ و اگر بین ۳.۷۵ تا ۵ بود عدد ۳ یا باینری ۱۱ را تخصیص میدهیم و به این صورت اعداد را از آنالوگ و پیوسته به دیجیتال یا گسسته تبدیل میکنیم بدیهی است که هر چه تعداد بیتهای ADC بیشتر باشد میتوان بازهها را کوچکتر و دقیقتر کرد، معمولا ADCها ۸.۱۰، ۱۲.۱۶ بیتی میباشند که مثلا در ۱۶ بیتی میتوان بازه بین ۰ تا ۵ را به ۶۵۵۳۵ تبدیل کرد که رزولوشن به شدت بالا میرود و دقت در حدود ۷۵ میکرو ولت میشود.
بسیاری از سنسورها خروجی ولتاژ آنالوگ و پیوسته دارند، همچنین برای کار با مقاومتها پیوسته به عنوان سنسور یا ولومها، میکروفون و… نیاز به تبدیل از آنالوگ به دیجیتال داریم.
اکثر میکروها یک واحد ADC دارند که تعداد زیادی کانال دارد و میتوان هر کانال را که روی یک پایه مجزاست را به یک منبع آنالوگ متصل نمود و هر لحظه یکی از این کانالها را اندازه گیری کرد چون سرعت تغییر ولتاژهای آنالوگی که ما با آن هاسر وکار داریم زیاد نیست و این تعویض کانال در کسری از ثانیه اتفاق میافتد میتوان با یک ADC تمام آنها را اندازه گیری کرد البته برخی از مدلهای میکروها دو واحد ADC و یا بیشتر هم دارند که در مصارف خاصی کاربرد دارند PIC، AVR و ARMها تفاوت چندانی در ADC با هم ندارند.