Wstęp Architektura mikrokontrolerów 68HC08

Podobne dokumenty
Budowa linii asemblera

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

2. Architektura mikrokontrolerów PIC16F8x... 13

Wstęp Architektura... 13

2. Code Composer Studio v4 zintegrowane środowisko projektowe... 41

Mikrokontroler Motorola M68HC05. Technika mikroprocesorowa dr inż. Wiesław Madej

Szkolenia specjalistyczne

Systemy wbudowane. Paweł Pełczyński

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15

MIKROKONTROLERY I MIKROPROCESORY

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Mikrokontrolery. System dydaktyczny z mikrokontrolerem (μc) Freescale (MC68HC908QT4A)

Wykład Mikroprocesory i kontrolery

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

2. Budowa układów procesorowych rodziny TMS320C

rodzina MC9S08QGx Mikrokontrolery dla oszczędnych:

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Techniki mikroprocesorowe i systemy wbudowane

dokument DOK wersja 1.0

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

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

Systemy na Chipie. Robert Czerwiński

Układy czasowo-licznikowe w systemach mikroprocesorowych

Podstawy programowania sterowników SIMATIC S w języku LAD / Tomasz Gilewski. Legionowo, cop Spis treści

System mikroprocesorowy i peryferia. Dariusz Chaberski

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

1.2. Architektura rdzenia ARM Cortex-M3...16

1.1. Wymogi bezpieczeństwa Pomoc techniczna TIA Portal V13 instalacja i konfiguracja pakietu...18

WPROWADZENIE Mikrosterownik mikrokontrolery

Systemy wbudowane Mikrokontrolery

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

SYSTEMY MIKROPROCESOROWE W AUTOMATYCE. Projekt bariery świetlnej.

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

USB interface in 8-bit microcontrollers PIC18F family manufactured by Microchip.

HC05 DAWID PIOTROWSKI

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych


Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Wstęp Zagadnienia ogólne... 11

Technika Mikroprocesorowa

Procesory Blackfin. Część 1

Wstęp Podstawowe informacje o mikroprocesorach AT91SAM9...11

Opis efektów kształcenia dla modułu zajęć

PROGRAMOWALNE STEROWNIKI LOGICZNE

Architektura komputerów

Moduł uruchomieniowy mikrokontrolera MC68HC912B32

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Struktura i działanie jednostki centralnej

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Mikrokontroler AVR ATmega32 - wykład 9

ARCHITEKTURA PROCESORA,

MIKROPROCESORY architektura i programowanie

PRZEWODNIK PO PRZEDMIOCIE

Przerwania w systemie mikroprocesorowym. Obsługa urządzeo wejścia/wyjścia

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Mikrokontrolery AVR ATmega

NX70 PLC

NX700 PLC

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

3. Sygnały zegarowe i ich konfiguracja, mechanizmy bezpieczeństwa... 47

Elektronika i techniki mikroprocesorowe

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

SAIA PROGRAMOWALNY STEROWNIK PLC

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Inteligentny czujnik w strukturze sieci rozległej

Opracował: Jan Front

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Systemy Wbudowane. Arduino, AVR. Arduino. Arduino. Arduino. Oprogramowanie. Mikrokontroler. Mikrokontroler Platforma Arduino. Arduino IDE: Arduino C:

Kurs SIMATIC S7-300/400 i TIA Portal - Zaawansowany. Spis treści. Dzień 1

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

Kompilator języka C na procesor 8051 RC51 implementacja

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

SML3 październik

Wykład 2. Mikrokontrolery z rdzeniami ARM

E-TRONIX Sterownik Uniwersalny SU 1.2

Kurs programowania mikrokontrolerów ARM z rodziny Cortex-M3

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Spis treści. Dzień 1. I Rozpoczęcie pracy ze sterownikiem (wersja 1707) II Bloki danych (wersja 1707) ZAAWANSOWANY TIA DLA S7-300/400

Transkrypt:

3 Wstęp...10 1. Architektura mikrokontrolerów 68HC08...13 1.1. Architektura... 14 1.1.1. CPU: rdzeń 68HC08...14 1.1.1.1. Model 68HC08 dla programisty... 14 1.1.1.2. Podstawy: przeniesienie i przepełnienie... 17 1.1.1.3. Jednostka arytmetyczno-logiczna (ALU)... 17 1.1.1.4. Różnice między mikrokontrolerami 68HC05 i 68HC08... 17 1.1.2. Działanie CPU... 17 1.1.2.1. Przerwania... 19 1.1.2.2. Obsługa przerwania... 21 1.1.2.3. Wykrycie przerwania... 21 1.1.2.4. Zapamiętywanie stanu CPU... 21 1.1.2.5. Arbitraż przerwań... 22 1.1.2.6. Maskowanie przerwań... 23 1.1.2.7. Powrót z przerwania do programu głównego... 23 1.1.3. Obsługa przerwania w asemblerze... 24 1.1.4. Obsługa przerwania w C... 26 1.1.5. Obsługa przerwania w C++... 28 1.1.6. Przykład obsługi przerwań w C/C++... 28 1.1.7. Przerwania w trybach STOP i WAIT... 30 1.1.8. Przerwania zagnieżdżone... 31 1.2. Tryby adresowania i lista rozkazów mikrokontrolera 68HC08... 32 1.2.1. Tryby adresowania mikrokontrolera 68HC08... 32 1.2.1.1. Adresowanie proste... 32 1.2.1.2. Adresowanie natychmiastowe... 32 1.2.1.3. Adresowanie bezpośrednie... 34 1.2.1.4. Adresowanie rozszerzone...34 1.2.1.5. Adresowanie indeksowe...36 1.2.1.6. Adresowanie indeksowe poprzez wskaźnik stosu... 38 1.2.1.7. Adresowanie indeksowe poprzez wskaźnik stosu z przesunięciem 8-bitowym... 38 1.2.1.8. Adresowanie indeksowe poprzez wskaźnik stosu z przesunięciem 16-bitowym... 38 1.2.2. Lista rozkazów mikrokontrolera 68HC08... 40 ADC... 43 ADD... 44 AIS... 45 AIX... 48 AND... 49 ASL... 50 ASR... 51 BCC... 52 BCLR n... 52 BCS... 53 BEQ... 53 BGE... 54 BGT... 54 BHCC... 55 BHCS... 55

4 Spis treści BHI... 56 BHS... 56 BIH... 57 BIL... 57 BIT... 58 BLE... 59 BLO... 59 BLS... 60 BLT... 60 BMC... 61 BMI... 61 BMS... 62 BNE... 62 BPL... 63 BRA... 63 BRCLR n... 64 BRN... 64 BRSET n... 65 BSET n... 66 BSR... 67 CBEQ... 68 CLC... 69 CLI... 70 CLR... 71 CMP... 72 COM... 73 CPHX... 74 CPX... 75 DAA... 76 DBNZ... 77 DEC... 78 DIV... 79 EOR... 80 INC... 81 JMP... 82 JSR... 83 LDA... 84 LDHX... 85 LDX... 86 LSL... 87 LSR... 88 MOV... 89 MUL... 90 NEG... 91 NOP... 92 NSA... 92 ORA... 93 PSHA... 94

5 PSHH... 94 PSHX... 95 PULA... 95 PULH... 96 PULX... 96 ROL... 97 ROR... 98 RSP... 99 RTI... 99 RTS... 100 SBC... 101 SEC... 102 SEI... 102 STA... 103 STHX... 104 STOP... 105 STX... 106 SUB... 107 SWI... 108 TAP... 109 TAX... 109 TPA...110 TST...111 TSX...112 TXA...112 TXS...113 WAIT...114 1.3. Sygnał zegarowy...115 1.3.1. Praca z rezonatorem zewnętrznym...116 1.3.2. Wykorzystanie wewnętrznego układu PLL...117 1.3.3. Wykorzystanie generatora RC...118 1.3.4. Wykorzystanie generatora wewnętrznego...118 1.4. Tryby pracy...119 1.4.1. Tryb RUN...119 1.4.2. Tryb WAIT...119 1.4.3. Tryb STOP... 120 1.4.4. Tryb MONITOR... 120 1.5. Pewność działania mikrokontrolerów 68HC08... 122 1.5.1. Moduł COP... 122 1.5.2. Moduł LVI... 123 1.5.3. Zerowanie wywołane niedozwolonymi rozkazami i adresami... 124 2. Moduły peryferyjne mikrokontrolerów 68HC08...125 2.1. Timer teoria i przykłady zastosowań... 126 2.1.1. Funkcja porównywania wyjść (OC)... 127 2.1.2. Funkcja przechwytywania wejść (IC)... 128 2.1.3. Funkcja modulacji szerokości impulsu (PWM)... 128 2.1.4. Przykład zastosowania timera: obsługa impulsatora... 129 2.1.5. Przykładowy program obsługi czujnika obrotów... 131

6 Spis treści 2.2. Wejścia i wyjścia cyfrowe teoria i praktyka... 133 2.2.1. Moduł przerwań od klawiatury... 134 2.2.2. Zabezpieczanie wejść... 134 2.2.3. Praktyczne przykłady różnych obwodów wejściowych... 136 2.2.4. Przykłady programowania portów I/O... 137 2.3. Przetworniki A/C teoria i praktyka... 141 2.3.1. Rejestry sterujące przetwornika A/C... 143 2.3.2. Parametry elektryczne przetwornika A/C... 144 2.3.3. Praktyczne wskazówki stosowania przetworników A/C... 145 2.3.4. Przykład zastosowania przetwornika A/C czujnik temperatury... 145 2.3.5. Projektowanie układów wejściowych... 146 2.3.6. Zastosowanie przetwornika A/C jako wejściowego portu cyfrowego... 147 2.3.7. Przykład programu do uśredniania wyników przetwarzania A/C... 150 2.4. Szeregowy interfejs asynchroniczny (SCI)... 154 2.4.1. Bloki funkcjonalne modułu SCI... 154 2.4.2. Funkcja w języku C do transmisji i odbioru danych za pomocą SCI... 156 2.5. Szeregowy interfejs synchroniczny (SPI)... 160 2.5.1. Opis działania SPI... 160 2.5.2. Sterowanie rejestrami przesuwnymi... 165 2.5.3. Sterowanie silnikami krokowymi poprzez SPI... 168 2.6. Moduł mscan w mikrokontrolerach MC68HC08 i MC68HC12... 172 2.6.1. Moduł mscan08 mikrokontrolera 68HC08Azx i pochodnych... 172 3. Pamięci mikrokontrolerów 68HC08...177 3.1. Informacje ogólne... 178 3.2. Nieulotna pamięć programu... 179 3.3. Pamięć programu Flash... 181 3.4. Pamięć danych RAM... 183 3.5. Pamięć danych EEPROM... 184 3.6. Pamięć ROM monitora... 185 3.7. Programowanie w układzie... 185 3.7.1. Podstawy programowania w układzie poprzez łącze szeregowe... 185 3.7.2. Programowanie pamięci Flash w praktyce... 187 3.7.3. Programowanie z aplikacji... 189 3.7.4. Przykład programowania pamięci Flash mikrokontrolera MC68HC908GP32... 190 3.7.5. Programowanie pamięci Flash za pomocą funkcji wbudowanych w ROM... 193 4. Mikrokontrolery rodziny 68HC08...201 4.1. Seria J mikrokontrolery o niskiej cenie... 202 4.1.1. Charakterystyka serii J... 202 4.1.2. Rozkład wyprowadzeń układów serii J... 205 4.1.3. Pamięć ROM monitora... 205 4.1.4. Mapa pamięci mikrokontrolera... 207 4.1.5. Konfiguracja mikrokontrolerów 68HC908J... 207 4.1.6. Generator w mikrokontrolerach 68HRC908J... 209 4.1.6.1. Mikrokontrolery 68HC908J współpracujące z kwarcem... 209 4.1.6.2. Mikrokontrolery 68HRC908J współpracujące z obwodem RC...211 4.1.7. Moduł SIM mikrokontrolerów 68HC908J... 212 4.1.8. Porty wejściowe i wyjściowe mikrokontrolerów serii 68HC908J... 213

7 4.1.8.1. Port A mikrokontrolera 68HC908J... 213 4.1.8.2. Port B mikrokontrolera 68HC908J... 216 4.1.8.3. Port D mikrokontrolera 68HC908J... 218 4.1.9. Parametry elektryczne... 221 4.1.10. Wymiary obudów... 221 4.2. Mikrokontrolery do zastosowań standardowych serii 68HC908G... 221 4.2.1. Charakterystyka serii G... 222 4.2.2. Wyprowadzenia układów serii G... 223 4.2.3. Pamięć ROM monitora... 224 4.2.4. Mapa pamięci mikrokontrolerów 68HC908G... 227 4.2.5. Konfiguracja mikrokontrolerów 68HC908G... 228 4.2.6. Generator układów 68HC908G: moduł generacji zegara (CGM)... 230 4.2.7. Generator OSC... 231 4.2.8. Układ PLL... 233 4.2.9. Programowanie PLL... 234 4.2.10. Układ wyboru bazowego sygnału zegarowego... 240 4.2.11. Rejestry CGM... 240 4.2.12. Korzystanie z przerwań układu PLL... 243 4.2.13. Parametry elektryczne i czasowe układu PLL... 244 4.2.14. Dobór zewnętrznego filtra układu PLL... 245 4.2.15. Moduł SIM mikrokontrolerów 68HC908G-... 245 4.2.16. Porty wejściowe i wyjściowe mikrokontrolerów serii 68HC908G... 246 4.2.16.1. Port A mikrokontrolera 68HC908G... 246 4.2.16.2. Port B mikrokontrolera 68HC908G... 249 4.2.16.3. Port C mikrokontrolera 68HC908G... 251 4.2.16.4. Port D mikrokontrolera 68HC908G... 254 4.2.16.5. Port E mikrokontrolera 68HC908G... 256 4.2.17. Parametry elektryczne... 259 4.2.18. Wymiary obudów... 259 4.3. Seria KX mikrokontrolery dla małych aplikacji... 259 4.3.1. Charakterystyka serii KX... 259 4.3.2. Wyprowadzenia układów serii KX... 261 4.3.3. Pamięć ROM monitora... 261 4.3.3.1. Normalny tryb monitora... 262 4.3.3.2. Wymuszony tryb monitora... 262 4.3.4. Mapa pamięci mikrokontrolera 68HC908KX8... 264 4.3.5. Konfiguracja mikrokontrolera 68HC908KX8... 264 4.3.6. Generator mikrokontrolerów 68HC908KX: moduł ICG... 267 4.3.6.1. Wewnętrzny generator zegarowy (ICG)... 269 4.3.6.2. Programowanie i praktyczne wykorzystanie modułu ICG... 272 4.3.6.3. Rejestry modułu ICG... 280 4.3.6.4. Parametry elektryczne generatora wewnętrznego i zewnętrznego... 281 4.3.7. Moduł SIM mikrokontrolerów 68HC908KX... 281 4.3.8. Porty wejściowe i wyjściowe... 281 4.3.8.1. Port A... 282 4.3.8.2. Port B... 284 4.3.9. Parametry elektryczne... 287 4.3.10. Wymiary obudów... 287

8 Spis treści 4.4. Serie AZ, RK, JB i MR... 287 4.4.1. Mikrokontrolery MC68HC08AZ z modułem CAN... 287 4.4.2. Mikrokontroler MC68HC908RK2 do zdalnego sterowania... 288 4.4.3. Mikrokontroler MC68HC908JB8 z interfejsem USB... 289 4.4.4. Mikrokontroler MC68HC908MR32 do sterowania silników... 289 5. Wspomaganie projektowania...291 5.1. Narzędzia wspomagające Freescale... 292 5.1.1. Zestaw startowy low-cost... 292 5.1.2. Emulator sprzętowy... 295 5.2. Narzędzia firmy Metrowerks... 296 5.2.1. CodeWarrior Development Studio dla mikrokontrolerów rodziny HC08... 296 5.2.2. Kompilator C/C++ dla mikrokontrolerów 68HC08... 297 5.2.3. Linker... 297 5.2.4. Wersja demonstracyjna... 297 5.2.5. Instalacja CodeWarriora... 297 5.3. Narzędzia firm niezależnych: debuger dla 68HC08 firmy HITEX... 298 5.3.1. Symulator programowy... 298 5.3.2. Tryb monitora... 298 5.3.3. Emulator sprzętowy... 298 5.3.4. Wykorzystanie emulatora sprzętowego w trakcie projektowania... 299 5.3.4.1. Opracowanie i testowanie oprogramowania przed wyprodukowaniem sprzętu... 299 5.3.4.2. Inicjalizowanie sprzętu... 300 5.3.4.3. Integracja sprzętu i oprogramowania... 300 5.3.4.4. Optymalizacja aplikacji... 301 5.3.4.5. Automatyzacja testowania... 302 5.3.4.6. Debugowanie z narzędziami projektowymi i z systemem operacyjnym czasu rzeczywistego... 303 5.3.4.7. Podsumowanie... 304 6. Programowanie mikrokontrolerów 68HC08 w C i C++...305 6.1. Dlaczego warto programować mikrokontrolery 8-bitowe w języku wysokiego poziomu?... 306 6.1.1. Lepsza czytelność i łatwość modyfikacji... 306 6.1.2. Redukcja czasu opracowania i testowania... 306 6.1.3. Programowanie zespołowe... 306 6.1.4. Lepsza przenaszalność programów w C... 307 6.2. Typy danych... 307 6.3. Arytmetyka całkowita z liczbami całkowitymi 8-bitowymi... 308 6.3.1. Arytmetyka całkowita dużych liczb... 309 6.3.2. Korzystanie ze zmiennych 8-bitowych... 309 6.3.3. Operacyjny zakres zmiennych... 309 6.4. Dostęp do układów peryferyjnych i indywidualnych bitów...311 6.4.1. Dostęp do rejestrów sterujących mikrokontrolera...311 6.4.2. Dostęp do znaczników... 313 6.5. Struktury i unie... 314 6.5.1. Używanie struktur... 314 6.5.2. Używanie unii... 315

9 6.5.2.1. Łączenie programów asemblera i C... 315 6.6. Kompilatory C++ dla mikrokontrolerów 68HC08... 317 6.6.1. Klasy... 317 6.6.2. Dane i funkcje właściwe klasie: static... 318 6.6.3. Funkcje składowe i wskaźnik this... 318 6.6.4. Kontrola dostępu do składników... 319 6.6.5. Specjalne funkcje składowe: konstruktory i destruktory... 320 6.6.6. Funkcje generowane przez kompilator... 321 6.6.7. Funkcje wirtualne... 321 6.6.8. Dostęp do funkcji wirtualnych... 323 6.6.9. Szablony... 323 6.6.10. Statyczne składowe i zmienne... 324 6.6.11. Przeciążenie operatorów... 324 Literatura...325