Ta strona wykorzystuje pliki cookies. Korzystając ze strony, zgadzasz się na ich użycie. OK Polityka Prywatności Zaakceptuj i zamknij X

SZTUKA PROGRAMOWANIA MIKROKONTROLERÓW AVR PODSTAWY

28-03-2015, 7:01
Aukcja w czasie sprawdzania nie była zakończona.
Cena kup teraz: 62 zł     
Użytkownik Ksiazki_Bielsko
numer aukcji: 5128822841
Miejscowość Bielsko-Biała
Wyświetleń: 5   
Koniec: 28-03-2015 07:04:44

Dodatkowe informacje:
Stan: Nowy
Okładka: twarda
Kondycja: bez śladów używania
info Niektóre dane mogą być zasłonięte. Żeby je odsłonić przepisz token po prawej stronie. captcha

SZTUKA PROGRAMOWANIA MIKROKONTROLERÓW AVR

PODSTAWY

A. PAWLUCZUK  

INFORMACJE:



Wydawnictwo - BTC

Rok - 2006

Stron - 353

Oprawa - TWARDA LAKIEROWANA

Format - B5


STAN - NOWA




Książka stanowi źródło wiedzy na temat technik programowania w asemblerze mikrokontrolerów z rodziny AVR produkowanych przez firmę Atmel. W książce zawarto informacje dotyczące budowy mikrokontrolerów AVR (opis m.in. rdzenia, pamięci programu, pamięci danych, rejestrów specjalnych mikrokontrolera), opis języka asembler (m.in. kompletna lista rozkazów, opis najważniejszych dyrektyw kompilatora) oraz prezentację podstawowych narzędzi do tworzenia i symulacji oprogramowania. W części praktycznej poruszono wybrane zagadnienia z arytmetyki mające zastosowanie w programowaniu oraz przedstawiono podstawowe algorytmy rozwiązujące typowe zagadnienia spotykane w technice mikroprocesorowej.


Książka dla wszystkich elektroników, którzy chcą poznać budowę mikrokontrolerów AVR i sposób ich programowania w asemblerze.

 

 

ZASADY:

Dane do przelewu:



* wszelkie pytania proszę kierować PRZED podjęciem decyzji o kupnie

* NIE WYSYŁAMY ZA POBRANIEM KUPUJĄCYM O WĄTPLIWEJ REPUTACJI ALLEGRO

* wysyłka odbywa się w ciągu MAX. 2 dni roboczych od momentu zaksięgowania wpłaty na koncie

* wszystkie książki wysyłamy w kopertach ochronnych (istnieje możliwość odbioru osobistego po wcześniejszym umówieniu się


Więcej informacji na stronieO MNIE

REAL FOTO- wszystkie fotografie przedstawiają rzeczywisty stan książek

WYSTAWIAMY
FAKTURY VAT


Opis:

 

Od autora         9

Wstęp  10

 

1.         Struktura urządzeń z wykorzystaniem mikrokontrolerów           13

 

2.         Jak jest zbudowany mikrokontroler AVR         15

 

2.1.      Pamięć programu          16

2.2.      Pamięć danych              16

2.3.      Rejestry mikrokontrolera          17

2.4.      Rejestry wejścia-wyjścia           18

2.5.      Wskaźniki         20

 

3.         Organizacja pamięci w mikrokontrolerach AVR           23

 

4.         Jak działa mikrokontroler          27

 

4.1.      Łączność ze światem zewnętrznym        27

4.2.      Istota stosu       28

4.3.      Przyjęcie przerwania     30

4.4.      System watchdog          33

4.5.      Programowanie mikrokontrolerów        34

4.6.      Bity zabezpieczające i konfiguracyjne    35

 

5.         Kody stosowane w mikrokontrolerach             37

 

6.         Rejestry sterujące mikrokontrolera        41

 

6.1.      Rejestry portów            41

6.1.1.   Rejestry portu A           41

6.1.2.   Rejestry portu B           42

6.1.3.   Rejestry portu C           44

6.1.4.   Rejestry portu D           44

6.1.5.   Rejestry portu E            46

 

6.2.      Rejestry układu transmisji szeregowej USART             47

6.2.1.   UCSRA – rejestr sterujący A oraz statusów USART  47

6.2.2.   UCSRB – rejestr sterujący B USART              48

6.2.3.   UCSRC – rejestr sterujący C USART             49

6.2.4.   UBRRH i UBRRL – rejestry podzielnika prędkości transmisji  50

6.2.5.   UDR – rejestr danych USART             51

 

6.3.      Rejestry zegara/licznika 0          51

6.3.1.   TCCR0 – rejestr sterujący zegara/licznika 0      52

6.3.2.   TCNT0 – rejestr zliczający zegara/licznika 0     53

6.3.3.   OCR0 – rejestr wzorca porównania zegara/licznika 0  53

 

6.4.      Rejestry zegara/licznika 1          54

6.4.1.   TCCR1A – rejestr sterujący A zegara/licznika 1           54

6.4.2.   TCCR1B – rejestr sterujący B zegara/licznika 1           54

6.4.3.   TCNT1H i TCNT1L – rejestry danych zegara/licznika 1          55

6.4.4.   OCR1AL i OCR1AH – rejestry porównania zegara/licznika 1             56

6.4.5.   OCR1BH i OCR1BL – rejestry porównania zegara/licznika 1              57

6.4.6.   ICR1L i ICR1H – rejestry przechwytywania zegara/licznika 1              57

 

6.5.      Rejestry pamięci EEPROM      58

6.5.1.   EEARH i EEARL – para rejestrów adresowych pamięci EEPROM     58

6.5.2.   EEDR – rejestr danych pamięci EEPROM       58

6.5.3.   EECR – rejestr sterujący dostępem do pamięci EEPROM       59

 

6.6.      Rejestr komparatora analogowego        60

 

6.7.      Rejestry interfejsu szeregowego SPI     61

6.7.1.   SPCR – rejestr sterujący SPI    62

6.7.2.   SPSR – rejestr statusów SPI    62

6.7.3.   SPDR – rejestr danych SPI      63

 

6.8.      Rejestry kontrolera przerwań    63

6.8.1.   TIMSK – rejestr maskowania przerwań licznika/zegara            64

6.8.2.   TIFR – rejestr wskaźników przerwań licznika/zegara    64

6.8.3.   GICR – rejestr sterujący kontrolera przerwań  65

6.8.4.   GIFR – rejestr wskaźników przerwań  66

 

6.9.      Rejestry pozostałe         66

6.9.1.   MCUCR – rejestr sterujący mikrokontrolerem             66

6.9.2.   EMCUCR – rozszerzony rejestr sterujący mikrokontrolerem    67

6.9.3.   MCUCSR – rejestr sterujący i statusów mikrokontrolera         68

6.9.4.   WDTCR – rejestr sterujący watchdoga            69

6.9.5.   SFIOR – rejestr określający funkcje rejestrów IO        70

6.9.6.   SPMCR – rejestr sterujący zapisem kodu programu     71

6.9.7.   SPH, SPL – rejestr wskaźnika stosu     71

6.9.8.   SREG – rejestr statusów           72

 

7.         Lista instrukcji mikrokontrolera             73

 

7.1.      Tryby adresowania       74

7.2.      Sumaryczne zestawienie instrukcji         77

 

Instrukcje arytmetyczne i logiczne         77

Instrukcje skoków        78

Instrukcje przesyłania danych    79

Instrukcje operacji bitowych     80

Instrukcje kontroli pracy jednostki centralnej    81

7.3.      Opis działania instrukcji mikrokontrolera AV R             81

ADC – suma zawartości rejestrów z uwzględnieniem przeniesienia        82

ADD – suma zawartości rejestrów        83

ADIW – suma zawartości słowa i wartości stałej          84

AND – iloczyn logiczny zawartości rejestrów    85

ANDI – iloczyn logiczny zawartości rejestru i wartości stałej     86

ASR – arytmetyczne przesunięcie zawartości rejestru w prawo             87

BCLR – zerowanie bitu w rejestrze statusowym SREG            88

BLD – przepisanie wskaźnika T do bitu rejestru           89

BRBC – skok warunkowy (jeżeli bit w SREG jest wyzerowany)          90

BRBS – skok warunkowy (jeżeli bit w SREG jest ustawiony)  91

BRCC – skok warunkowy (jeżeli wskaźnik C jest wyzerowany)          92

BRCS – skok warunkowy (jeżeli wskaźnik C jest ustawiony)  93

BREAK – zatrzymanie CPU     94

BREQ – skok warunkowy (jeżeli wskaźnik Z jest ustawiony)  95

BRGE – skok warunkowy (dla warunku większy lub równy)    96

BRHC – skok warunkowy (jeżeli wskaźnik H jest wyzerowany)          97

BRHS – skok warunkowy (jeżeli wskaźnik H jest ustawiony)  98

BRID – skok warunkowy (jeżeli wskaźnik I jest wyzerowany)             99

BRIE – skok warunkowy (jeżeli wskaźnik I jest ustawiony)      100

BRLO – skok warunkowy (dla warunku mniejszy)       101

BRLT – skok warunkowy (dla warunku mniejszy)        102

BRMI – skok warunkowy (jeżeli wartość jest ujemna)             103

BRNE – skok warunkowy (jeżeli wskaźnik Z jest wyzerowany)           104

BRPL – skok warunkowy (jeżeli wartość jest dodatnia)           105

BRSH – skok warunkowy (dla większy lub równy)      106

BRTC – skok warunkowy (jeżeli wskaźnik T = 0)        107

BRTS – skok warunkowy (jeżeli wskaźnik T = 1)        108

BRVC – skok warunkowy (jeżeli wskaźnik V = 0)       109

BRVS – skok warunkowy (jeżeli wskaźnik V = 1)       110

BSET – ustawienie bitu w rejestrze statusowym SREG             111

BST – przepisanie bitu z rejestru do wskaźnika T         112

CALL – instrukcja wywołania procedury          113

CBI – zerowanie wskazanego bitu w rejestrze wejścia/wyjścia             114

CBR – zerowanie wskazanych bitów w rejestrze          115

CLC – zerowanie wskaźnika C w rejestrze SREG        116

CLH – zerowanie wskaźnika H w rejestrze SREG        117

CLI – zerowanie wskaźnika I w rejestrze SREG           118

CLN – zerowanie wskaźnika N w rejestrze SREG       119

CLR – zerowanie rejestru         120

CLS – zerowanie wskaźnika S w rejestrze SREG         121

CLT – zerowanie wskaźnika T w rejestrze SREG         122

CLV – zerowanie wskaźnika V w rejestrze SREG        123

CLZ – zerowanie wskaźnika Z w rejestrze SREG         124

COM – negacja logiczna          125

CP – porównanie          126

CPC – porównanie z uwzględnieniem wskaźnika przeniesienia              127

CPI – porównanie zawartości rejestru z wartością stałej           128

CPSE – porównanie zawartości rejestrów i warunkowe

pominięcie wykonania następnej instrukcji         129

DEC – zmniejszenie zawartości rejestru o 1      130

ELPM – rozszerzone pobranie bajtu z pamięci programu          131

EOR – suma logiczna Exclusive OR      132

FMUL – mnożenie ułamkowe liczb bez znaku  133

FMULS – mnożenie ułamkowe liczb ze znakiem           134

FMULSU – mnożenie ułamkowe liczby ze znakiem przez liczbę bez znaku       135

ICALL – instrukcja pośredniego wywołania procedury            136

IJMP – instrukcja pośredniego skoku bezwarunkowego           137

IN – przesłanie zawartości rejestru I/O do rejestru roboczego              138

INC – zwiększenie zawartości rejestru o 1        139

JMP – instrukcja bezpośredniego skoku bezwarunkowego       140

LD – przepisanie do rejestru zawartości komórki pamięci adresowanej pośrednio        141

LDD – przepisanie do rejestru zawartości komórki pamięci adresowanej

pośrednio z przesunięciem         143

LDI – bezpośrednie wpisanie do rejestru wartości stałej           144

LDS – przepisanie do rejestru zawartości komórki pamięci

adresowanej bezpośrednio        145

LPM – pobranie bajtu z pamięci programu       146

LSL – logiczne przesunięcie zawartości rejestru w lewo            147

LSR – logiczne przesunięcie zawartości rejestru w prawo         148

MOV – przepisanie zawartości rejestru do rejestru       149

MOVW – przepisanie zawartości pary rejestrów do innej pary rejestrów         150

MUL – mnożenie liczb bez znaku          151

MULS – mnożenie liczb ze znakiem      152

MULSU – mnożenie liczby ze znakiem z liczbą bez znaku         153

NEG – negacja arytmetyczna    154

NOP – instrukcja pusta            155

OR – suma logiczna zawartości rejestrów         156

ORI – suma logiczna zawartości rejestru i wartości stałej          157

OUT – przesłanie zawartości rejestru roboczego do rejestru I/O          158

POP – pobranie zawartości rejestru ze stosu     159

PUSH – odłożenie zawartości rejestru na stosie            160

RCALL – instrukcja wywołania procedury lub funkcji              161

RET – powrót z procedury lub funkcji              162

RETI – powrót z procedury obsługi przerwania            163

RJMP – instrukcja bezpośredniego skoku bezwarunkowego    164

ROL – obrót cykliczny zawartości rejestru w lewo       165

ROR – obrót cykliczny zawartości rejestru w prawo     166

SBC – różnica zawartości rejestrów z uwzględnieniem wskaźnika C     167

SBCI – różnica zawartości rejestru i wartości stałej z uwzględnieniem wskaźnika C      168

SBI – ustawienie wskazanego bitu w rejestrze wejścia/wyjścia             169

SBIC – warunkowe pominięcie następnej instrukcji (jeżeli bit w rejestrze wejścia/wyjścia jest wyzerowany)    170

SBIS – warunkowe pominięcie następnej instrukcji (jeżeli bit w rejestrze wejścia/wyjścia jest ustawiony)         171

SBIW – różnica zawartości słowa i wartość stałej         172

SBR – ustawienie bitów w rejestrze      173

SBRC – warunkowe pominięcie wykonania następnej instrukcji (jeżeli bit w rejestrze roboczym jest wyzerowany)      174

SBRS – warunkowe pominięcie wykonania następnej instrukcji (jeżeli bit w rejestrze roboczym jest ustawiony)           175

SEC – ustawienie wskaźnika C w rejestrze SREG        176

SEH – ustawienie wskaźnika H w rejestrze SREG        177

SEI – ustawienie wskaźnika I w rejestrze SREG           178

SEN – ustawienie wskaźnika N w rejestrze SREG       179

SER – ustaw wszystkie bity w rejestrze roboczym        180

SES – ustawienie wskaźnika S w rejestrze SREG         181

SET – ustawienie wskaźnika T w rejestrze SREG         182

SEV – ustawienie wskaźnika V w rejestrze SREG        183

SEZ – ustawienie wskaźnika Z w rejestrze SREG         184

SLEEP – przejście w tryb uśpienia        185

SPM – zapis do pamięci programu       186

ST – zapisanie zawartości rejestru w pamięci

RAM adresowanej pośrednio  187

STD – zapisanie zawartości rejestru w pamięci adresowanej pośrednio z przesunięciem           188

STS – zapisanie zawartości rejestru w pamięci

RAM adresowanej bezpośrednio          189

SUB – różnica zawartości rejestrów     190

SUBI – różnica zawartości rejestru i wartości stałej      191

SWAP – zamiana półbajtów w rejestrze           192

TST – test zawartości rejestru  193

WDR – zerowanie licznika watchdog    194

 

8.         Opis języka asembler    195

 

8.1.      Elementy języka            196

 

8.2.      Dyrektywy        197

8.2.1.   Dyrektywy segmentowe            198

8.2.2.   Dyrektywa BYTE         200

8.2.3.   Dyrektywa DB i DW    201

8.2.4.   Dyrektywa DEVICE     203

8.2.5.   Dyrektywa DEF           204

8.2.6.   Dyrektywa EQU           204

8.2.7.   Dyrektywa ORG          205

8.2.8.   Dyrektywa MACRO    206

 

8.3.      Funkcje i operatory występujące w wyrażeniach           206

8.4.      Instrukcje asemblera     209

8.5.      Kompilacja warunkowa            212

8.6.      Pierwszy program         215

 

9.         Instalacja programów narzędziowych    227

 

10.       Zasady arytmetyki         233

 

10.1.    Dodawanie liczb           235

10.2.    Negacja liczb ze znakiem          236

10.3.    Mnożenie liczb przez 2              238

10.4.    Mnożenie liczb przez 10            240

10.5.    Mnożenie liczb dwubajtowych              243

10.6.    Dzielenie liczb przez 2  250

10.7.    Dzielenie liczb przez 10             252

10.8.    Dzielenie liczb  254

10.9.    Porównywanie liczb jednobajtowych    257

10.10.  Porównywanie liczb wielobajtowych     264

10.11.  Badanie stanu bitów      266

10.12.  Obsługa tekstów           267

 

11.       Asembler a język wysokiego poziomu  269

 

11.1.    Typy i zmienne              269

11.2.    Instrukcja podstawienia            280

11.3.    Instrukcja warunkowa  283

11.4.    Instrukcje pętli              287

11.5.    Instrukcje wyboru         293

11.6.    Instrukcje wywołania procedury           295

11.7.    Instrukcje wywołania funkcji     298

11.8.    Rozważania końcowe  301

 

12.       Wybrane algorytmy i ich użycie             303

 

12.1.    Obsługa przerwań od upływu czasu      303

12.2.    Obsługa klawiatury       323

 

13.       Programowanie najprostszych mikrokontrolerów          345

 

Dodatek: znaki ASCII              347

Literatura          349





PRZED PODJĘCIEM DECYZJI PROSZĘ O ZAPOZNANIE SIĘ ZE STRONĄ ,,O MNIE"


ZAPRASZAM NA INNE NASZE AUKCJE

POZDRAWIAM