Mikrokontrolery AVR część 10 – transmisja szeregowa UART

 Po bardzo długiej przerwie postanowiłem wznowić pracę nad kursem programowania mikrokontrolerów AVR. Zmotywowało mnie to, że obserwując statystyki to jest to najpopularniejszy cykl na mojej stronie, więc warto go dalej rozwijać. Następne części będą poświęcone transmisją danych, a dzisiaj opiszę chyba najpopularniejszą transmisję UART. UART (Universal Asynchronous serial Receiver and Transmitter)  to metoda asynchronicznej transmisji […]

CZYTAJ WIĘCEJ

Mikrokontrolery AVR część 9 – Komparator analogowy

Komparator to układ, który ma za zadanie porównywać dwie wartości. W przypadku komparatora analogowego, który jest wbudowany w układ atmega8, porównuje on napięcia. Jego najważniejszym elementem, jest wzmacniacz operacyjny. Wzmacniacz ten pracuje w typowym układzie komparatora, czyli brak sprzężenia zwrotnego (jego rezystancja nieskończenie duża). Schemat komparatora analogowego przedstawiam na rysunku poniżej.   Lewa strona układu, […]

CZYTAJ WIĘCEJ

Mikrokontrolery AVR część 8 – timer2

Ostatnim z układów licznikowych w kontrolerze atmega8 jest licznik/czasomierz 2. Ma on architekturę 8 bitową, co oznacza, że może pomieścić 256 impulsów. Liczniki ten może pracować w czterech trybach. Te tryby to: normalny, PWM, PWM z poprawną fazą, oraz CTC. Tryb PWM jest tylko 8 bitowy.Schemat poniżej ilustruje budowę tego licznika. Na razie zajmijmy się […]

CZYTAJ WIĘCEJ

Mikrokontrolery AVR część 7 – tmier1

W poprzednim artykule zajmowaliśmy się timerem 0, który był stosunkowo prostym układem, w tej część będzie zawierała opis timera 1. Rysunek poniżej pomoże bardzo w zrozumieniu działania licznika, jednak co do szczegółów odsyłam do noty katalogowej, bo to zagadnienie jest z byt szerokie jak na ten artykuł. Postaram się jednak opisać podstawowe tryby pracy tego […]

CZYTAJ WIĘCEJ

Mikrokontrolery AVR część 6 – timer0

Ta część kursu będzie poświęcona najprostszemu z układów licznikowych w mikrokontrolerach atmega8. Będę mówiło liczniki/czasomierzu 0. Takie licznik/czasomierz to po prostu układ, którego celem jest zliczać przychodzące do niego impulsy. Tutaj już pojawia się problem kiedy mówimy że coś jest licznikiem, a kiedy czasomierzem. Generalnie to jest to dokładnie ten sam układ, ale zależnie od […]

CZYTAJ WIĘCEJ

Mikrokontrolery AVR część 5 – przerwania

Po dłuższej przerwie przystąpiłem do napisania kolejnej części mojego kursu. Ta część będzie poświęcona przerwaniom. Opisze podstawy pracy z przerwaniami, oraz przerwania zewnętrzne. Zacznijmy od tego co to w zasadzie są te przerwania. Jest to układ, który po pojawieniu się odpowiedniego sygnału powoduje skoku do konkretnego miejsca w programie. Skok ten następuje zaraz po wykonaniu […]

CZYTAJ WIĘCEJ

Mikrokontrolery AVR część 4 – Porty we/wy

Porty wejścia – wyjścia służą kontrolerowi do komunikacji się z otoczeniem. Normalnym trybem pracy portów jest wysyłanie lub czytanie ich stanu, porty te mają też swoje alternatywne funkcje, dzięki czemu kontroler może podawać lub odbierać sygnały od układów takich jak liczniki, przetworniki oraz moduły komunikacji, takie jak i2C, SPI czy RS-232. W tym artykule zajmę się […]

CZYTAJ WIĘCEJ

Mikrokontrolery AVR część 3 – wokół kontrolera

Kiedy już wiemy do czego służy każda z nóżek kontrolera, można w zasadzie przejść do tworzenia układu elektronicznego i programowania. Ale właśnie co podpiąć do kontrolera, żeby zaczął działać i żeby można było wgrać program do pamięci programu, czyli pamięci typu Flash? W tym artykule zajmę się właśnie tymi podstawowymi elementami potrzebnymi do pracy kontrolera […]

CZYTAJ WIĘCEJ

Mikrokontrolery AVR część 2 – podstawy

Bez zbędnego wstępu przejdę od razu do konkretów. Na początku muszę powiedzieć, że AVRy to kontrolery o 8 bitowej magistrali danych. Tak wiem, teraz pewnie zadajecie pytanie co to jest ta magistrala danych? Często słyszymy że jakiś procesor jest 8bitowy czy 32b. Ale co to znaczy? To właśnie określa szerokość magistrali danych, czyli ilość linii, po […]

CZYTAJ WIĘCEJ

Mikrokontrolery AVR część 1 – wprowadzenie

Przeglądając internet, zaobserwowałem, że nie ma artykułu opisującego dokładnie w szczegółach kontrolery z rodziny AVR. Postanowiłem zlikwidować tę dziurę w publikacjach internetowych i napisać kilkuczęściowy artykuł na temat tych kontrolerów. Postaram się przedstawić coś w stylu noty katalogowej kontrolera, wraz z prostymi przykładami w języku C. Artykuł będzie bazował na kontrolerze Atmega8A, który jest nową […]

CZYTAJ WIĘCEJ