Przykład algorytmu obsługi wielokanałowego przetwornika A/C z wyzwalaniem sprzętowym serii pomiarów (sygnał wyzwalający STADC - przepełnienie 16-bitowe modułu zegara/licznika L2). Obsługa przetwornika, rejestm kontrolno sterującego ADCON - w trybie przeglądania, zastosowano również uproszczony sposób konwersji wyników przy zastosowaniu źródła napięcia referencyjnego AVRef=5.12V. Wyniki konwersji przekazywane są kanałem transmisji szeregowej do zewnętrznego odbiornika .
Moduł: adc_pol.c
Aplikacja: Programu demonstracyjny obsługi przetwornika ADC
mikrokontroler typu: 8xC552 Obsługa przetwornika w trybie przeglądania
łłdefine ADEX 0x20
tłdefine ADCI 0x10
#define ADCS 0x08
*ptr, unsigned i
.teJJART (ur n(void)
ned char ADC Chan
TMOD=0x20;
TR1=1;
TM2CON=OxODj
RTE=0x80;
■ źródło sygn. zegarowego T2: osc/96 1/
/1 okres przepełnień: 0.569ms
P4.7 zmienia stan na przeciwny c ADC konwersja narastającym zbocz P4.7/STADC: 1.14ms szybkość konw
C 8; !
Z Char
el++)
ADCON=0;
ADCON=ADC_Channel; if (ADC_Channel==0) ADCON=ADEX;
przed wybraniem numeru kanału ADC 1/
* ADC0: zewnętrzny start konwersji T2 1/
CS; /1 ADC1..ADC7: programowy start '
esult_ADC[ADC_Channel]=51(
write_UART(Sresult_ADC, conversion++); /1 Wyprowadzenie rezulatu do modułu UART 1/
if (conversion==10000)