Serwis Edukacyjny w I-LO w Tarnowie ![]() Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej Autor artykułu: mgr Jerzy Wałaszek |
©2023 mgr Jerzy Wałaszek |
https://www.microchip.com/about-us/legal-information/copyright-usage-guidelines
Rdzeń AVR zawiera bogaty zbiór instrukcji z 32 roboczymi rejestrami ogólnego przeznaczenia oraz rejestrami systemowymi. Wszystkie rejestry są bezpośrednio połączone z Jednostką Arytmetyczno Logiczną JAL (ang. Arithmetic Logic Unit ALU), umożliwiając jednoczesny dostęp do dwóch niezależnych rejestrów w pojedynczej instrukcji wykonywanej w ciągu jednego cyklu zegarowego. Wynikowa architektura jest bardziej efektywna, a jednocześnie osiąga wydajność do dziesięciu razy większą od typowych mikrokontrolerów CISC (ang. Complex Instruction Set Computer – komputer o liście złożonych rozkazów).
ATtiny25/45/85 udostępnia następujące cechy:2/4/8KB pamięci FLASH programowanej poprzez ISP, 128/256/512 bajtów EEPROM, 128/256/512 bajtów SRAM, 6 linii we/wy ogólnego przeznaczenia, 32 robocze rejestry ogólnego przeznaczenia, jeden 8-bitowy timer/licznik z trybami porównań, jeden 8-bitowy timer/licznik o dużej prędkości, uniwersalny interfejs szeregowy, przerwania wewnętrzne i zewnętrzne, a 4-kanałowy, 10-bitowy przetwornik A/C, programowalny licznik zegarowy z wewnętrznym oscylatorem oraz trzy wybierane programowo tryby oszczędzania energii. Tryb bezczynny (ang. Idle Mode) zatrzymuje mikroprocesor, pozwalając jednak na pracę pamięci SRAM, timera/licznika, przetwornika A/C, komparatora analogowego oraz systemu przerwań. Tryb wyłączenia zasilania (ang. Power-down Mode) zachowuje zawartość rejestrów, wyłączając wszystkie funkcje układu aż do momentu następnego przerwania lub sprzętowego resetu. Tryb zmniejszania zakłóceń dla przetwornika A/C (ang. ADC Noise Reduction Mode) zatrzymuje mikroprocesor i wszystkie moduły we/wy za wyjątkiem przetwornika A/C w celu zminimalizowania szumu od przełączeń w sieciach logicznych mikrokontrolera podczas przetwarzania napięć wejściowych w przetworniku A/C.
Układ mikrokontrolera jest wytwarzany z wykorzystaniem technologii wysokiej gęstości pamięci nieulotnej, którą opracowała firma ATMEL. Wewnętrzna, programowalna poprzez ISP pamięć FLASH pozwala na zaprogramowanie w systemie za pomocą zwykłego programatora pamięci nieulotnych lub za pomocą wbudowanego kodu startowego uruchomionego na rdzeniu AVR.
Mikrokontrolery AVR ATtiny25/45/85 są wspierane przez komplet narzędzi do tworzenia systemów oraz ich oprogramowywania, łącznie z makroasemblerami, kompilatorami języka C oraz zestawami uruchomieniowymi.
Firma Atmel, oryginalny producent mikrokontrolerów AVR, została wykupiona w roku 2016 przez Microchip Technology, producenta mikrokontrolerów PIC. Pomimo przejęcia mikrokontrolery AVR są wciąż produkowane i dostępne w handlu. Oryginalne zasoby internetowe Atmela są teraz dostępne w witrynie firmy Microchip:
Do programowania mikrokontrolerów AVR stosowane jest kilka pakietów IDE. Szczególnie polecam Atmel Studio 7, które umożliwia programowanie w języku C oraz w asemblerze. Opis instalacji tego środowiska znajdziesz w tym rozdziale:
Równie popularnym środowiskiem programowania jest Eclipse z uwagi na to, iż może pracować w systemie Linux. Zaletą tego rozwiązania jest to, iż Eclipse pozwala na wykorzystanie tanich programatorów USBasp:
Również środowisko MPLAB X firmy Microchip posiada możliwość programowania mikrokontrolerów AVR:
https://www.microchip.com/mplab/mplab-x-ide/avr-support
Ta dokumentacja zawiera proste przykłady kodów programów, które krótko pokazują sposób użycia różnych elementów mikrokontrolera. W przykładach tych zakłada się, iż do programu zostały dołączone odpowiednie pliki nagłówkowe przed kompilacją. Bądź jednak świadomy faktu, iż nie wszyscy producenci kompilatorów języka C dołączają definicje bitów w plikach nagłówkowych, a obsługa przerwań zależy od wybranego kompilatora C. Więcej szczegółów znajdziesz w dokumentacji swojego kompilatora.
Dla rejestrów we/wy znajdujących się w rozszerzonej pamięci we/wy należy zastąpić instrukcje IN, OUT, SBIS, SBIC, CBI i SBI instrukcjami, które umożliwiają dostęp do rozszerzonej pamięci we/wy. Zwykle oznacza to instrukcje LDS i STS połączone z SBRS, SBRC, SBR i CBR. Nie wszystkie mikrokontrolery AVR zawierają rozszerzoną pamięć we/wy.
Wykrywanie dotyku (ang. touch sensing) można w prosty sposób dołączyć do dowolnej aplikacji przez połączenie z jej kodem biblioteki QTouch i użycie funkcji interfejsu API udostępnianego przez tę bibliotekę w celu zdefiniowania kanałów dotykowych i czujników dotyku. Aplikacja następnie wywołuje funkcje API do pobrania informacji z kanałów i określania stanu czujnika dotyku.
Biblioteka QTouch jest bezpłatna i można ją pobrać z witryny Microchip'a (w 2016 firma Microchip przejęła swojego konkurenta Atmel i obecnie udostępnia wszystkie materiały pierwotnie udostępniane w sieci przez Atmela), na której znajdziesz również dokumentację oraz przewodniki dla użytkownika.
Wyniki badania niezawodności pokazują, że dane są tracone z częstotliwością dużo mniejszą od 1 PPM (ang. parts per million – części na milion) przez 20 lat w temperaturze 85°C lub przez 100 lat w temperaturze 25°C.
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2023 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.