Микросхема ADC0832 представляет собой двухканальный 8-разрядный аналого-цифровой преобразователь
последовательных приближений. Благодаря простому трехпроводному последовательному интерфейсу
NSC MICROWIRE(tm) позволяет создавать недорогие приложения, в которых необходимо
измерение аналоговых величин, используя минимальное количество портов микроконтроллера.
  Выпускается National Semiconductor
 Подробнее об ADC0832....
  Ниже приведена подпрограмма для работы ADC0832 совместно с PIC-
микроконтроллером, написанная на ассемблере и встроенная в код для С-компиллятора
С2С.
  Схема включения АЦП:
выводы PORTA
RA0 - DATA OUT ADC
RA1 - CS ADC
RA2 - DATA IN ADC
RA3 - CLOCK ADC
  Подключениe DATA OUT критично по отношению к алгоритму (см. asm)
/*-------------начало примера------------
требуется 3 байта ОЗУ:
cfg - конфигурация АЦП
cfg=0 - измерение разницы CH0-CH1
cfg=1 - измерение разницы CH1-CH0
cfg=2 - измерение CH0
cfg=3 - измерение CH1
result - результат измерения;
tmp - счетчик, используемый в цикле;
char readADC(char cfg) {
char result;
asm {
bcf STATUS, RP0; CLK DI CS DO
movlw b'10100'; setting up initial
movwf PORTA;
bsf PORTA, 3; CLK - up; enter start bit
bcf PORTA, 3; CLK - down
bsf PORTA, 2; DI -> 1
btfss param00_readADC, 1; 1 ?
bcf PORTA, 2; no, DI -> 0
bsf PORTA, 3; CLK - up
bcf PORTA, 3; CLK - down
bsf PORTA, 2; DI -> 1
btfss param00_readADC, 0; 1 ?
bcf PORTA, 2; no, DI -> 0
bsf PORTA, 3; CLK - up
bcf PORTA, 3; CLK - down
bsf PORTA, 3;
movlw 0x09; CLK DI CS DO
movwf _tmp
get_ADC bsf PORTA, 3; CLK - up
bcf PORTA, 3; CLK - down
movfw PORTA;
andlw 0x01;
rlf _result_readADC, F;
addwf _result_readADC;
decfsz _tmp
goto get_ADC;
movlw b'10110'; CS - up - reset ADC
movwf PORTA;
movfw _result_readADC;
}
}
/*-----------окончание примера------------*/
  Функция возвращает байт - результат измерения.
  Далее приведен пример использования функции.
/*-----------начало примера------------*/
.
.
.
while (1) {
adc = readADC(2) // измеряем напряжение на CH0
.
. // делаем что-то с adc...
.
}
/*-----------окончание примера------------*/