Wykład 4 Przetwornik Analogowo-Cyfrowy (Analog to Digital Converter – ADC) oraz Jednostki Czasowo-licznikowe (Timery) SAB80C537 dr inż. Andrzej Przybył Katedra Inżynierii Komputerowej Politechnika Częstochowska
Przetwornik Analogowo-Cyfrowy Wstęp Zadaniem przetwornika analogowo-cyfrowego jest konwersja wartości napięcia elektrycznego na wartość liczbową w formacie binarnym Sygnał analogowy w postaci napięcia elektrycznego z zakresu 0..5V (występujący na wybranych nóżkach procesora) jest konwertowany na liczbę z zakresu 0..(2n) -1. Im większa liczba bitów (n) przetwornika tym przetwornik jest dokładniejszy (ma większą rozdzielczość). Przykładowo dla przetwornika 8-bitowego (występującego w systemie SAB80C537) n=8 a zakres wynosi odpowiednio 0..255.
Podstawowe parametry przetwornika ADC 12 multiplexowanych kanałów wejściowych współdzielonych ze standardowymi (GPIO) funkcjami portów P7, P8
Podstawowe parametry przetwornika ADC, cd. Programowalne wewnętrzne poziomy referencyjne (zakres przetwarzania może być zawężony). Możliwe ustawienie 16-poziomów każdego (górnego i dolnego) z napięć referencyjnych z zakresu 0..5V 8-bitowa rozdzielczość przetwarzania zakresu napięć referencyjnych Wybieralny zewnętrzny lub wewnętrzny start konwersji
Rejestr ADCON0 i ADCON1
Wybór kanału do przetwarzania
Programowanie zakresów konwersji Rejestr DAPR
Przykładowa procedura Odczyt kanału nr 7 (port P7.7) odczytaj_AD1: CLR ADEX ;konwersja uruchamiana wewnętrznie ;(przez program) CLR ADM ;pojedyncza konwersja MOV ADCON1,#7 ;numer kanału wg tabeli mov DAPR,#0 ;ustawienie zakresu ;przetwarzania 0..5V, i wystartowanie ;konwersji czekaj1: jb BSY, czekaj1 ;oczekiwanie na koniec przetwarzania mov A,ADDAT ;odczyt wyniku z rejestru wynikowego ret ;powrót do programu wywołującego
Jednostki czasowo-licznikowe TIMERY Procesor SAB80C537 posiada kilka jednostek czasowo-licznikowych, tzw. timerów: T0, T1 – uniwersalne timery identyczne jak we wszystkich procesorach z rodziny 80C51 T2 i Compare Timer – są dodatkowymi timerami dostosowanymi do zadań pomiaru i generacji przebiegów impulsowych takich jak Modulacja Szerokości Impulsu (ang. PWM) itp.
Timery T0 i T1, tryby pracy i konfiguracja, REJESTR TMOD (89h SFR)
Timery T0 i T1, tryby pracy i konfiguracja
Timery T0 i T1. Tryb 1 – 16-bitowy TH0, TL0 (TH1, TL1) są połączone kaskadowo tworząc timer 16-bitowy Timer jest napędzany zegarem o częstotliwości OSC/12 Przepełnienie timera powoduje wyzerowanie TL0, TH0 i ustawienie TF0 (TF1)
Timery T0 i T1. Tryb 2 – 8-bitowy z automatycznym przeładowywaniem TL0 tworzy 8-bitowy timer Przy przepełnieniu (oprócz ustawienia TF0) PRZEŁADOWYWANA jest zawartość TL0 wartością początkową zawartą w TH0 (TH0 nie ulega zmianie)
Pytania kontrolne Podać i wyjaśnić zależność rozdzielczości od liczby bitów przetwornika analogowo-cyfrowego (AC) Wyjaśnić pojęcia multipleksowania kanałów wejściowych przetwornika AC Opisać w punktach procedurę odczytu przetwornika AC Podać podstawowe dane (rozdzielczości, tryby pracy itp.) jednostek czasowo licznikowych (tzw. timerów) T0 i T1 mikrokontrolera SAB80C537 Opisać zjawisko przepełniania się liczników (funkcjonowanie flag przepełnienia, pojemność licznika a jego liczba bitów, możliwości wpływania na szybkość przepełniania się licznika w systemie z mikrokontrolerem).