plik


ÿþ2014-12-04 yródBa " www.atmel.com " http://www.atmel.com/Images/doc8155.pdf Podstawy techniki " http://www.atmel.com/tools/STUDIOARCHIVE.aspx mikroprocesorowej Cz[ 1. Wprowadzenie dr in|. Marcin Pawlak Kontakt: Pokój 320 bud. A10 Tel. 320 3253 marcin.pawlak@pwr.wroc.pl ATmega32  gBówne cechy ATmega32 - obudowy Peryferia: " architektura RISC " 32 rejestry R0-R31 " 32 linie I/O " prdko[ do 16MIPS @16MHz " 2 liczniki 8-bitowe " 1 licznik16-bitowy " pami programu: 32kB Flash " zegar RTC " pami S-RAM: 2kB " 4 kanaBy PWM " pami EEPROM: 1kB " 8-kan., 10-bitowy " programowanie przez SPI oraz przetwornik A/C JTAG " komparator analog. " wbudowany oscylator RC " Two Wire SI (I2C) " 6 trybów u[pienia " UART " zasilanie 2,7  5,5V " interfejs SPI " taktowanie 0  16MHz " watchdog Zestaw uruchomieniowy ATmega32 - CPU 1 2014-12-04 Mikroprocesory AVR  programowanie pamici Programowanie równolegBe Flash i EEPROM Podstawowym sposobem programowania mikrokontrolera jest u|ycie Firma ATMEL zapewnia, |e pami flash stosowana w interfejsu równolegBego. Pozwala on na osignicie krótkich czasów mikroprocesorach AVR posiada trwaBo[ min. 10.000 cykli zapisu, zapisu i weryfikacji, a za jego pomoc mo|na przeprogramowa za[ pami typu EEPROM a| 100.000 cykli! wszystko, co w mikrokontrolerze jest programowalne. Metody programowania pamici mikrokontrolerów Niestety, programowanie równolegBe AVR: wymusza konieczno[ zastosowania " Programowanie równolegBe programatorów, które s skomplikowane i wymagaj " Programowanie szeregowe w systemie (ISP) doprowadzenia dodatkowego napicia " Programowanie za pomoc interfejsu JTAG zasilania (+12V). " Programowanie przy pomocy interfejsu debugWIRE Programowanie szeregowe SPI Interfejs JTAG Najbardziej popularnym sposobem programowania mikrokontrolerów Interfejs JTAG jest nowoczesnym interfejsem AVR jest wykorzystanie szeregowego interfejsu programujcego SPI. uruchomieniowym, w który wyposa|one s niektóre Programatory tego typu umo|liwiaj programowanie ukBadu w mikrokontrolery rodziny AVR. Interfejs JTAG umo|liwia: urzdzeniu docelowym (tryb ISP), co stanowi du|e udogodnienie. " Sprawdzenie poprawno[ci monta|u mikrokontrolera w obwodzie (boundary Interfejs SPI wykorzystuje nastpujce scan) linie sygnaBowe: " Dostp do podukBadów mikrokontrolera " SCK (sygnaB zegarowy) w trakcie jego pracy (OCD  On-Chip Debug) " MOSI (szeregowe wej[cie) " MISO (szeregowe wyj[cie) " Programowanie pamici i bitów sterujcych (z wykorzystaniem emulatora " RESET (przej[cie do trybu SPI) JTAG-ICE) ATmega32  wewntrzna pami danych Interfejs debugWIRE Interfejs debugWIRE jest prostszym odpowiednikiem interfejsu JTAG, który wystpuje w najnowszych mikrokontrolerach rodziny AVR. Zastosowanie interfejsu 1-przewodowego umo|liwiBo jego implementacj w najmniejszych mikrokontrolerach (8-PIN). ProtokóB interfejsu zostaB opracowany 1,8  5,5V przez firm ATMEL i obecnie jest prawnie chroniony i niedostpny dla Vcc ogóBu. Poprzez ten interfejs mo|na uzyska dostp do wikszo[ci funkcji dW dW (RESET) OCD, które oferuje JTAG. Podstawow ró|nic jest brak GND brzegowej [cie|ki obserwujco - sterujcej, która umo|liwia testowanie poprawno[ci monta|u. 2 2014-12-04 Organizacja stosu w mikrokontrolerach AVR UkBad detekcji spadku napicia zasilajcego Pami danych Adres 0x0060 Miejsce dla zmiennych LDI R16, high(RAMEND) programowych Brown-Out Detector OUT SPH, R16 LDI R16, low(RAMEND) OUT SPL, R16 Obszar  zasmiecony Vcc Wskaznik stosu VBOT+ VBOT- PUSH WierzchoBek RESET stosu POP CALL tTOUT RET INTERNAL RETI RESET Podstawa stosu RAMEND Porty wej[cia-wyj[cia Porty wej[cia-wyj[cia  c.d. Rejestry sterujce prac portów umieszczone s w najni|szej W mikrokontrolerach rodziny AVR wbudowano bardzo mocno przestrzeni adresowej wej[cia-wyj[cia (0x00-0x1F) rozbudowany moduB wej[cia-wyj[cia. Maksymalna liczba portów Dedykowane rejestry funkcyjne: PORTx, PINx, DDRx mikrokontrolerów rodziny ATmega wynosi 9 (ATmega3250/6450). Instrukcje dostpu do portów: SBI, CBI, OUT, IN Do najciekawszych wBa[ciwo[ci moduBu we/wy zaliczy mo|na: Instrukcje testujce: SBIS, SBIC " dwukierunkowo[ Mo|liwe ustawienia n-tej linii wej[cia-wyj[cia portu x-tego: " trójstanowo[ PORTxn DDRxn PUD Kierunek portu Komentarz " opcjonalny pull-up 0 0 X wej[cie stan wysokiej impedancji 1 0 1 wej[cie stan wysokiej impedancji " du|a wydajno[ prdowa stopni wyj[ciowych 1 0 0 wej[cie wewntrzne podciganie do zasilania (20...50kW) " symetryczna charakterystyka wyj[ciowa 0 1 X wyj[cie wyj[cie w stanie L " mo|liwo[ konfiguracji bitowej 1 1 X wyj[cie wyj[cie w stanie H AVR Studio 4 Kompilator C  WinAVR 3 2014-12-04 Kompilator GCC  opcje optymalizacji Program #1 #include <avr/io.h> unsigned char a; int main(void) { while (1) { a = 128; } } Program #2 Program #2 - disassembler #include <avr/io.h> zmienna = 0 zmienna = 1 zmienna = 2 zmienna = 3 register unsigned char zmienna asm("r0"); 0b00000000 0b00000001 0b00000010 0b00000011 int main(void) MOV R0,R31 { CLR R0 CLR R0 LDI R31,0x03 while (1) CLR R0 SET { INC R0 MOV R0,R31 BLD R0,1 zmienna = 0; //...=1, =2, =3 MOV R31,R0 } } Program #3 Program #4 #include <avr/io.h> unsigned char liczba1, liczba2, wynik; Obejrze ró|nice w asemblerze pomidzy dwoma int main(void) { dziaBaniami mno|enia: while (1) { liczba1 = 15; liczba1 = 15; liczba2 = 7; liczba2 = 7; wynik = liczba1 + liczba2; wynik = liczba1 * liczba2; //mno|ymy przez zmienn wynik = liczba1 - liczba2; wynik = liczba1 * 7; //mno|ymy przez warto[ wynik = liczba1 * liczba2; wynik = liczba1 / liczba2; liczba1++; liczba2--; liczba1 = 0xF0; liczba1 |= 3; liczba * 7 = (liczba * 8)  liczba = (liczba << 3)  liczba liczba1 &= 0x3F; liczba1 ^= 0xFF; } } 4 2014-12-04 Algorytm dzielenia 5

Wyszukiwarka

Podobne podstrony:
PTM materiały 5
PTM materiały 2
PTM materiały 4
PTM materiały 6
PTM materiały 3
CHEMIA materiały dodatkowe
Analiza samobójstw w materiale sekcyjnym Zakładu Medycyny Sądowej AMB w latach 1990 2003
1 Materiały tymczasowe
Materiały pomocnicze Krzysztof Żywicki
MaterialyWyklad6,7Geologia
materials
notatek pl dr in Jaros aw Chmiel, Nauka o materia ?h, Przemiany podczas odpuszczania
Nauka o materiałach 2 VI
12 Wykonywanie sterylizacji instrumentów, materiałów
exams materials?emstr tb05
material

więcej podobnych podstron