Код со кој може да направите прост волтметар кој мери напон од 0 до 5V
доколку сакате поголем напон мора да поставите напонски делите на влез
'************* Туториал - ADC **********
'********* Македонски Форум за Електроника********
'********* http://elektronika-mk.net **********
'********* Микроконтролер PIC16F887 @ 8MHz, Симулација ISIS 7
'************** DEVIL ****************
program ADC 'Име на програмата
dim promenliva, promenlivaa as word 'Promenliva- променлива вредност која во
txt as char[5] ' тек на програмата зазема некоја вредност
LCD_RS as sbit at RB4_bit 'Поставувања на пиновите за LCD дисплејот
LCD_EN as sbit at RB5_bit
LCD_D4 as sbit at RB0_bit
LCD_D5 as sbit at RB1_bit
LCD_D6 as sbit at RB2_bit
LCD_D7 as sbit at RB3_bit
LCD_RS_Direction as sbit at TRISB4_bit
LCD_EN_Direction as sbit at TRISB5_bit
LCD_D4_Direction as sbit at TRISB0_bit
LCD_D5_Direction as sbit at TRISB1_bit
LCD_D6_Direction as sbit at TRISB2_bit
LCD_D7_Direction as sbit at TRISB3_bit
main: 'Главна програма
ANSEL = 0x04 ' Порт А 2 (AN2) е аналоген влез
ANSELH = 0 'Останатите пинови се дигитални
C1ON_bit = 0 'компараторите се исклучени
C2ON_bit = 0
TRISA = 0xFF 'Поставување на порта А како влезна порта
TRISB = 0 'Поставување на порта Б како излезна порта
Delay_ms(200) 'Кратка пауза
txt = "0.0" 'Доколку нема ништо на влез ќе се појави 0.0
Lcd_Init() 'Поставување на LCD
Lcd_Cmd(_LCD_CLEAR) 'Бришење доколку се појави нешто несакано
Lcd_Cmd(_LCD_CURSOR_OFF) 'Исклучување на курсорот
Lcd_Out(1, 1, "Vrednost:") 'Текстот кој ќе се појави во I-та линија
Delay_ms(1000)
while TRUE 'Бескрајна проверка
promenliva = ADC_Read(2) 'Вредноста која ќе се прочита се запишува како променлива
promenlivaa = (promenliva * 5) div 1023 'Променливата која треба да се прикаже претходно
WordToStr(promenlivaa, txt) ' мора да биде претворена од дигитален 10 битен код
Lcd_Out(2,5, txt) ' во оддреден број кој подозна зазема одредено ниво
wend ' постапката за претворање од дигитален код
end. ' во аналогна вредност е Vout = (5*Vin)/ 1023
'Променливата која се добива се множи со 5 (напон на
' напојување) и после тоа добиената вредност се дели
' со 1023, тоа е поради тоа што се користи 10-битна
' резолуција на ADC конверзијата, односно од 0 до 1023
' (2^10 = 1024). Подоцна оваа вредност се впишува на
' LCD дисплејот во втората линија