140 likes | 323 Views
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.
E N D
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-CyfrowyWstę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 multiplexowanychkanałó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
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-licznikoweTIMERY • 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. 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).