Top Banner
Mikroprocesorová a řídicí technika Ing. Michal Prauzek, Ph.D. zimní semestr 2015/2016
214

Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Aug 31, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Mikroprocesorová a řídicí

technika

Ing. Michal Prauzek, Ph.D.zimní semestr 2015/2016

Page 2: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Organizační informace

Garant předmětu a přednášející: Ing. Michal Prauzek, Ph.D

Cvičení: Ing. Markéta Venclíková

Kontakt: [email protected], (59732) 5857, místnost EA340

Konzultace: Úterý 14-15h, EA340

Web: http://homel.vsb.cz/~pra132/

Zápočet:

Samostatný projekt (20b) – minimum 5b

Písemka (20b) – minimum 5b

Zkouška

Písemná (20b) – minimum 10b

Ústní (40b) – minimum 5b2 www.vsb.cz

Page 3: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Harmonogram semestru

15.9. – Úvodní přednáška

22.9. – Mikrokontrolér

29.9. – C pro mikrokontroléry I.

6.10. - C pro mikrokontroléry II.

13.10. –ARM Cortex M

20.10. – Digitální vstupy a výstupy

27.10. – Přerušení a časovače

3.11. –A/D, D/A převodníky

10.11. – Komunikační rozhraní

24.11. – Uživatelská rozhraní

1.12. – Příprava na samostatný projekt

8.12. – Zápočtový test

15.12. – První termín zkoušky

3 www.vsb.cz

Page 4: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Přednáška 1

4

Page 5: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Náplň přednášky 1

Úvod do mikroprocesorové a řídicí techniky

Typy řídicích systému a jejich realizace

Digitální technika

Číselné soustavy

Kódování

5 www.vsb.cz

Page 6: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Oblasti specializace elektroinženýra

6 www.vsb.cz

Page 7: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Zákon č. 96/2004 Sb.

§ 27

Odborná způsobilost k výkonu povolání biomedicínského inženýra

(1) Odborná způsobilost k výkonu povolání biomedicínského inženýra se získává

absolvováním

a) akreditovaného zdravotnického magisterského studijního oboru pro přípravu

biomedicínských inženýrů, nebo

b) akreditovaného magisterského studijního oboru elektrotechnického zaměření a

akreditovaného kvalifikačního kurzu biomedicínské inženýrství

(2) Do doby získání specializované způsobilosti biomedicínský inženýr pracuje ve

zdravotnickém zařízení pod odborným dohledem pracovníka způsobilého k výkonu povolání

bez odborného dohledu, z toho prvních 6 měsíců pod jeho přímým vedením.

(3) Za výkon povolání biomedicínského inženýra se považuje činnost v rámci

diagnostické a léčebné péče ve spolupráci s lékařem.

7 www.vsb.cz

Page 8: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Nutné znalosti pro tento předmět

Znalosti:

Ohmova zákona

Kirchhoffových zákonů

Pasivních součástek: rezistor, kondenzátor a cívka

Polovodičového přechodu, polovodičové diody

Funkce bipolárního a unipolárního transistoru

Měření s multimetrem a osciloskopem

Popisu signálu a jeho vlastností

10 www.vsb.cz

Page 9: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Co použít pro řízení?

11 www.vsb.cz

Page 10: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Osobní počítač (PC)

Výhody:

Vysoký výkon

Velká operační paměť

Velký úložný prostor

Nevýhody:

Vysoká spotřeba (běžně 200-600W)

Malá spolehlivost

Vysoká cena

Velké rozměry

Použití:

Běžná kancelářská činnost

Zábava, multimédia12 www.vsb.cz

Page 11: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Průmyslové počítače (Industrial PC)

Výhody:

Vysoký výkon a velká paměť

Odolnost vůči okolí a rušení

Vyšší spolehlivost

Nevýhody:

Obyčejný operační systém

Velmi vysoká cena

Použití:

Průmyslová automatice

Náročné prostředí

13 www.vsb.cz

Page 12: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

PLC (Programmable Logic Controller)

Automatizace procesů v reálném čase

Řízení strojů nebo výrobních linek v továrně.

Malý průmyslový počítač

Průmyslové provedení - odolné

Standardní HW

Velmi spolehlivé

Malá spotřeba

Program se vykonává v tzv. cyklech

Ustálené programovací jazyky

14 www.vsb.cz

Page 13: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Vestavěný řídicí systém

Anglicky: Embedded system Je jednoúčelový systém zcela zabudován do zařízení, které ovládá.

Je maximálně optimalizovaný pro danou aplikaci (výkon, spolehlivost …).

Většina aplikací kolem nás je vestavěných: bankomaty, kalkulátory, prodejní

automaty, palubní počítače, mobilní telefony …

I ve zdravotnictví je většina elektroniky realizována vestavěným řídicím

systémem: infuzní pumpy, EKG monitory, defibrilátory, dialýzy …

15 www.vsb.cz

Page 14: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Digitální technika

Pracuje se signály ve formě číslicových dat

16 www.vsb.cz

Page 15: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Logické operace

Základní logické operace:

NOT – negace

AND – logický součin

OR – logický součet

NAND – negovaný logický součin

NOR – negovaný logický součet

XOR – exkluzivní logický součet

XNOR – negovaný logický součet

17 www.vsb.cz

Page 16: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Logické obvody

Rozdělujeme na:

Kombinační: výstup závisí pouze na kombinací vstupů

Sekvenční: výstup závisí na kombinaci vstupů a předchozím

stavu

Dále rozdělujeme na:

Synchronní: obsahují synchronizační hodinový signál

Asynchronní: neobsahují synchronizační hodinový signál

18 www.vsb.cz

Page 17: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Klopné obvody

Klopné obvody kopírují základní logické funkce

19 www.vsb.cz

Page 18: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Sekvenční obvody

Základní sekvenční obvody:

RS obvod

JK obvod

D obvod

20 www.vsb.cz

Page 19: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Číselné soustavy

Číselná soustava je způsob reprezentace čísel

Poziční

Nepoziční

Poziční číselné soustavy

Jedničková (unární)

Dvojková (binární)

Osmičková (oktální)

Desítková (decimální)

Dvanáctková

Šestnáctková (hexadecimální)

Šedesátková21 www.vsb.cz

Page 20: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Binární soustava

Binární soustava používá pouze dva stavy, 0 a 1

Stavy v soustavě odpovídají stavům vypnuto a zapnuto

Kdy používáme:

Zápis konfigurace

Zápis binárních dat

22 www.vsb.cz

Page 21: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Decimální soustava

Nejběžnější používaná soustava

Pro zápis čísel používá symboly 0,1,2,3,4,5,6,7,8,9.

Kdy používáme:

Zápis běžných dat

Určení počtu

23 www.vsb.cz

Page 22: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Hexadecimální soustava

Hexadecimální čísla se zapisují pomocí číslic '0', '1', '2',

'3', '4', '5', '6', '7', '8' a '9' a písmen 'A', 'B', 'C', 'D', 'E' a 'F',

přičemž písmena 'A'–'F' reprezentují cifry s hodnotou

10–15)

Kdy používáme:

Výpis dat paměti

Konfigurační data

24 www.vsb.cz

Page 23: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Uložení dat

1 bit (1b) = jedna informace

8 bitů (8b) = 1 byte (1B)

16 bitů (16b) = word (2B) – slovo

32 bitů (32b) = double word (4B) – dvojnásobné slovo

1kB = 1024B

1MB = 1024kB = 1048576B

25 www.vsb.cz

Page 24: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Přímý kód

Zobrazení absolutní hodnoty čísla ve dvojkové

soustavě

Nejvyšší bit udává znaménko čísla

Číslo 0 má dva obrazy

Rozsah zobrazitelných číslic je symetrický

26 www.vsb.cz

Page 25: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Dvojkový doplněk

Postup kódování je ten, že

od absolutní hodnoty kódovaného

záporného čísla je odečtena

jednička, číslo je převedeno do

dvojkové soustavy a je provedena

jeho negace. (Stejného výsledku lze

dosáhnout, pokud je absolutní

hodnota nejprve převedena do

dvojkové soustavy, negována a

nakonec je ve dvojkové soustavě

přičtena jednička.)

27 www.vsb.cz

Dvojkový doplněk Desítkově

0111 7

0110 6

0101 5

0100 4

0011 3

0010 2

0001 1

0000 0

1111 −1

1110 −2

1101 −3

1100 −4

1011 −5

1010 −6

1001 −7

1000 −8

Page 26: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

ASCII tabulka

ASCII je anglická zkratka pro American Standard Code

for Information Interchange

28 www.vsb.cz

Page 27: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Děkuji za pozornost

30 www.vsb.cz

Page 28: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Přednáška 2

31

Page 29: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Náplň přednášky 3

Struktura a funkce výpočetního systému.

Základní jednotky počítače.

Operační paměť.

Vnitřní a vnější paměti.

Architektury, procesorů CISC a RISC.

Vnitřní stavba jednotek počítače, délka slova, instrukční

soubor.

32 www.vsb.cz

Page 30: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Procesor vs. Mikroprocesor

Procesor

Procesor = CPU Central Processing Unit je základní součástí počítače. (

"srdce" nebo "mozek" počítače)

Čte z paměti instrukce a na jejich základě vykonává program.

Každý procesor má svůj vlastní jazyk - tzv. strojový kód (skládá z

jednodušších nebo složitějších instrukcí)

Mikroprocesor

První procesory: množství diskrétních součástek (elektronek nebo tranzistorů,

rezistorů,…)

70 léta procesor složen z několika desítek nebo stovek integrovaných obvodů

Základní obvody procesoru integrovány do jednoho integrovaného obvodu ->

mikroprocesor

33 www.vsb.cz

Page 31: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Mikroprocesor vs. Mikrokontrolér

Mikroprocesor : Řadič + ALU (+ operační paměť)

Řadič nebo řídicí jednotka – jádro - řízení činnosti procesoru , Sada registrů (v

řadiči) k uchování operandů a mezivýsledků. ( čítač instrukcí, stavové registry,

registr vrcholu zásobníku, indexregistry

Jedna nebo více aritmeticko logických jednotek (ALU -Arithmetic-Logic Unit),

které provádí s daty příslušné aritmetické a logické operace.

Jedna nebo více FPU - jednotka plovoucí čárky

Mikrokontrolér (MCU, uC)

současně integrovány základní periferní obvody.

jádro mikroprocesoru, paměťi (RAM, ROM, EEPROM, FLASH, čítače a

časovače, ADC a podobně na jediném čipu

schopen samostatné funkce bez přídavných periférií - obsahuje kompletní

mikropočítač

34 www.vsb.cz

Page 32: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Historie mikroprocesorů

1971 -Intel 4004 -první mikroprocesor -4bitový

1972 -Intel 8008 -8bitový mikroprocesor

1974 -Intel 8080 -8bitový mikroprocesor, který se stal základem prvních 8bitových osobních počítačů

1975 -MOS Technology 6502 -8bitový mikroprocesor, montovaný do Apple II, Commodore64 a Atari

1975 -Motorola 6800 -první procesor firmy Motorola

1975 -AMD nastupuje na trh s řadou Am2900

1976 -TI TMS 9900 -16bitový mikroprocesor

1976 -ZilogZ80 -8bitový mikroprocesor, s rozšířenou instrukční sadou Intel 8080, frekvence až 10 MHz

1978 -Intel 8086 -16bitový mikroprocesor, první z architektury x86

1978 -Intel 8088 -16bitový mikroprocesor s 8bitovou sběrnicí, který byl použit v prvním IBM PC v roce 1981

1979 -Motorola 68000 -32/16bitový mikroprocesor

1979 -ZilogZ8000 -16bitový mikroprocesor

1980 -IBM 801 -24bitový experimentální procesor s revoluční RISC architekturou dosahující vynikajícího výkonu

1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií pro emebeddedsystémy

1982 -Intel 80286 -16bitový mikroprocesor

1983 -TMS32010 -první DSP firmy Texas Instruments

1985 -Intel 80386 -32bitový mikroprocesor (měl 275 000 tranzistorů)

1986 -AcornARM -32bitový RISC mikroprocesor, z AdvancedRISC Machine, původně AcornRISC Machine, použit i v domácích počítačích

1989 -Intel 80486 -32bitový mikroprocesor s integrovaným matematickým koprocesorem

1989 -Sun SPARC -32bitový RISC mikroprocesor, z Scalable(původně Sun ProcessorARChitecture)

1992 -DEC Alpha-64bitový RISC mikroprocesor

35 www.vsb.cz

Page 33: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Historie mikroprocesorů

1992 -Siemens 80C166 -16bitový mikroprocesor pro průmyslové embeddedsystémy s bohatou sadou periferií

1993 -Intel Pentium -32bitový mikroprocesor nové generace (3,3 milionu tranzistorů

1995 -Intel Pentium Pro -32bitový mikroprocesor nové generace pro servery a pracovní stanice (5,5 milionu tranzistorů)

1995 -Sun UltraSPARC-64bitový RISC mikroprocesor

1996 - Intel Pentium MMX 32bitový první se sadou instrukcí MMX pro podporu 2D grafiky

1997 -Intel Pentium II -32bitový mikroprocesor nové generace s novou sadou instrukcí MMX (7,5 milionu tranzistorů)

1997 -Sun picoJava-mikroprocesor pro zpracování Java bytekódu

1997 -AMD K6-2 -32bitový první se sadou instrukcí pro podporu 3D grafiky 3DNow!

1999 -AMD K6-III -32bitový poslední procesor do základní desky se super socket7. Od této chvíle již nemá Intel a AMD procesory do stejného socketu.

1999 -Intel Pentium III -32bitový mikroprocesor nové generace s novou sadou instrukcí SIMD známou jako SSE (9,5 milionu tranzistorů)

1999 -Intel Celeron-32bitový mikroprocesor odvozený původně od Intel Pentium II pro nejlevnější PC

2000 -AMD AthlonK75 První procesor s frekvencí 1GHz

2000 -Intel Pentium 4 -32bitový mikroprocesor s řadou technologií orientovaných na dosažení vysoké frekvence

2001 -Intel Itanium-64bitový mikroprocesor nové generace pro servery

2001 -AMD Opteron-64bitový mikroprocesor nové generace pro servery od AMD. Jedná se o historicky nejkvalitnější procesor, jaký kdy AMD vyrobilo.

2003 -AMD Athlon64 -64bitový mikroprocesor nové generace pro desktopy s instrukční sadou AMD64, zpětně kompatibilní s x86

2006 -Intel Core-64bitová architektura, na které jsou postaveny procesory CoreDuo, Core2 Duo, CoreSolo, Core2 Quad

2007 -Společnost AMD uvádí novou řadu procesorů Phenom

2008 -Intel Corei7 -nová řada CPU od Intelu pod názvem Nehalema AMD PhenomII, který staví na 45 nmvýrobě

2010 - Intel vydává slabší a ořezanější procesory Corei3 a Core i5 postavené na architektuře Nehalema AMD vydává svůj první šestijádrovýprocesor PhenomII X6

2011 - Intel vydává novou architekturu SandyBridgea AMD vydává první procesory s integrovanou grafikou

36 www.vsb.cz

Page 34: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Aritmeticko-logická jednotka

Aritmeticko-logická jednotka (ALU podle anglického arithmetic

logic unit) je jedna ze základních komponent počítačového

procesoru, ve které se provádějí všechny aritmetické (např.

sčítání, násobení, bitový posuv, …) a logické (logický součin,

negace, …) výpočty.

V mnoha dnešních procesorech je na jednom procesoru více než

jedna ALU, obvykle rozdělené na jednotky pro práci s

celočíselnými operandy a jednotky pro práci s operandy v

plovoucí řádové čárce (ty se někdy neoznačují jako ALU, ale jako

FPU, floating-point unit). Jednotlivé ALU pracují relativně

nezávisle, takže procesor může v jednom hodinovém taktu

provést více instrukcí ve více jednotkách současně.

37 www.vsb.cz

Page 35: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Aritmeticko-logická jednotka

38 www.vsb.cz

Page 36: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Sběrnice

Sběrnice (anglicky bus) je skupina signálových vodičů, kterou lze rozdělit na

skupiny řídicích, adresových a datových vodičů v případě paralelní sběrnice nebo

sdílení dat a řízení na společném vodiči (nebo vodičích) u sériových sběrnic.

Sběrnice má za účel zajistit přenos dat a řídicích povelů mezi dvěma a více

elektronickými zařízeními. Přenos dat na sběrnici se řídí stanoveným protokolem.

39 www.vsb.cz

Page 37: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Elektronická paměť

Elektronická paměť je součástka, zařízení nebo

materiál, který umožní uložit obsah informace (zápis do

paměti), uchovat ji po požadovanou dobu a znovu ji

získat pro další použití (čtení paměti).

40 www.vsb.cz

Page 38: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Typy paměti

Dle zápisu a čtení

Paměť pouze pro čtení (ROM – read only memory)

Programovatelné paměti (PROM, EPROM, EEPROM)

Paměť pro zápis a čtení (RWM – read write memory)

Dle přístupu

Paměť s náhodným přístupem (RAM – random access memory)

Paměť se sekvenčním přístupem (LIFO, FIFO, CD …)

Dle energetické závislosti

Paměti vyžadující pro zachování informace přísun energie

Paměti nevyžadující pro zachování informace přísun energie

41 www.vsb.cz

Page 39: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Operační paměť

Operační paměť je volatilní (nestálá) vnitřní elektronická

paměť číslicového počítače typu RWM-RAM, určená

pro dočasné uložení zpracovávaných dat a

spouštěného programového kódu. Tato paměť má

obvykle rychlejší přístup než vnější paměť (např. pevný

disk). Tuto paměť může procesor adresovat přímo,

pomocí podpory ve své instrukční síti

42 www.vsb.cz

Page 40: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Von Neumannova architektura

Von Neumannova architektura popisuje počítač se

společnou pamětí pro instrukce i data. To znamená, že

zpracování je sekvenční oproti například harvardské

architektuře, která je typickým představitelem

paralelního zpracování.

Procesor počítače se skládá z řídící a výkonné

(aritmeticko-logické) jednotky. Řídící jednotka

zpracovává jednotlivé instrukce uložené v paměti,

přičemž jejich vlastní provádění nad daty má na starosti

aritmeticko-logická jednotka. Vstup a výstup dat zajišťují

vstupní a výstupní jednotky.

43 www.vsb.cz

Page 41: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Hardward architektura

U harvardské architektury není potřeba mít paměť

stejných parametrů a vlastností pro data a pro program.

Paměti můžou být naprosto odlišné, mohou mít různou

délku slova, časování, technologii a způsob adresování.

V některých systémech se pro paměť programu

používá typ paměti ROM (read only memory), přičemž

paměť dat vyžaduje typ paměti RWM (Read-Write

Memory).

Dvojí paměť umožňuje paralelní přístup k oběma

pamětem, což zvyšuje rychlost zpracování. Umístění

programu v paměti ROM může významně přispět k

bezpečnosti systému (program nelze modifikovat).44 www.vsb.cz

Page 42: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Architektury počítačů

45 www.vsb.cz

Page 43: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Počítače CISC

CISC (anglicky Complex Instruction Set Computer)

označuje v informatice skupinu procesorů vyznačujících

se podobným návrhem sady strojových instrukcí.

Označení complex vyjadřuje skutečnost, že strojové

instrukce pokrývají velmi široký okruh funkcí, které by

jinak šly naprogramovat pomocí jednodušších již

obsažených strojových instrukcí (například násobení je

možné nahradit sčítáním a bitovými posuny).

46 www.vsb.cz

Page 44: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Počítače RISC

RISC (anglicky Reduced Instruction Set Computing,

výslovnost risk) označuje v informatice jednu z

architektur mikroprocesorů.

RISC označuje procesory s redukovanou instrukční

sadou, jejichž návrh je zaměřen na jednoduchou,

vysoce optimalizovanou sadu strojových instrukcí, která

je v protikladu s množstvím specializovaných instrukcí

ostatních architektur (například u RISC například

neexistuje instrukce pro násobení, které se realizuje

softwarově pomocí jednoduchých instrukcí sčítání a

bitových posunů).

47 www.vsb.cz

Page 45: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

RISC vs. CISC

48 www.vsb.cz

Page 46: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Programátorský model

Programátorský model

umožnuje popsat

hardware pro tvoření

programu

49 www.vsb.cz

Page 47: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Příklad architektury HCS08

40-MHz HCS08 CPU

BDM (Background debugging system)

Breakpointy

32 zdrojů přerušení interrupt/reset

Energetický úsporné režimy: waita 3x stop

Systemováochrana (reset) :

Hlídací pes (COP)

Ochrana proti podpětí

Rozpoznání nepovolené instrukce

Rozpoznání nepovolené adresy

FLASH paměť na čipu

RAM paměť na čipu

8-kanálový , 10-bit (ATD

2 x SCI (Serialcommunicationinterface)

1 x SPI (Serial peripheral interface module)

Zdroj hodinového signálu (vnitřní, krystal,

rezonatornebo vnější zdroj)

IIC sběrnice(Inter-integrated circuit bus) do

100 kbps

1x 3-kanálový a x1 5-kanálový 16-bit

časovač (IC, OC, PWM)

8-pin keyboard interrupt module (KBI)

16 vysoce-proudové výstupy

50 www.vsb.cz

Page 48: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Zpracování instrukcí

Jednoduché (klasické)

další instrukce je zpracovávána až po dokončení první

instrukce

Pipeline

zřetězené zpracování instrukcí

jednotlivé fáze jsou zpracovávány oddělenými jednotkami

po ukončení zpracování jednotka předá svůj výsledek

jednotce provádějící následující fázi zpracování

pokračuje ve své práci nad další instrukcí

při skoku – pipeline flush – vyprázdnění fronty

předzpracovaných instrukcí

51 www.vsb.cz

Page 49: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Pipelining

52 www.vsb.cz

Page 50: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Děkuji za pozornost

54 www.vsb.cz

Page 51: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Přednáška 3

55

Page 52: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Náplň přednášky 3

Kompilace

Proměnné

Výrazy

Operátory

Řídicí struktury

56 www.vsb.cz

Page 53: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Doporučená literatura

Učebnice jazyka C – Pavel Herout

Programovací jazyk C pro zelenáče – Petr Šaloun

57 www.vsb.cz

Page 54: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Programovací jazyk C

C je programovací jazyk, který počátkem 70. let 20. století vyvinuli

Ken Thompson a Dennis Ritchie pro potřeby operačního systému

Unix.

V roce 1983 se American National Standards Institute (ANSI)

dohodla na sestavení komise X3J11, aby vytvořila standardní

specifikaci C. Po dlouhém a pracném procesu byl standard

dokončen v roce 1989 a schválen jako ANSI X3.159-1989

„Programming Language C“. Tato verze jazyka je často stále

označována jako ANSI C. V roce 1990 byl standard ANSI C (s

drobnými změnami) adoptován institucí International Organization

for Standardization (ISO) jako „ISO 9899|ISO/IEC 9899:1990“.a

58 www.vsb.cz

Page 55: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Kompilační proces

Preprocesor – zpracovává

direktivy preprocesoru,

expanduje .h soubory

Kompilátor – generuje ze

zdrojového kódu strojové

instrukce

Assembler – generuje

objektový kód

Linker – generuje strojový kód

59 www.vsb.cz

Page 56: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Jednoduché datové typy

Jazyk C poskytuje tyto datové typy:

int

short int (short)

long int (long)

char

float

double

long double

60 www.vsb.cz

Page 57: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Jednoduché datové typy

Typy char, short int, int a long int mohou být buď typu

signed nebo unsigned.

Typ unsigned int se často zkracuje jen na unsigned

Pro typy short int, int a long int je implicitní typ signed

Rozdíl mezi signed a unsigned je v rozsahu čísla.

Proměnné typu unsigned mají rozsah od 0 do 2n-1.

Rozsah signed je od -2n-1 do 2n-1-1.

Jazyk C neposkytuje datový typ typu boolean.

Typ double má přesnost zhruba 20 desetinných míst

61 www.vsb.cz

Page 58: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Definice proměnných

Pod pojmem definice se míní příkaz, který přidělí

proměnné určitého typu jméno a paměť.

Naopak deklarace je příkaz, který pouze udává typ

proměnné a její jméno. Deklarace nepřiděluje žádnou

paměť!

Příklady definic v jazyce C:

int i;

char c, ch;

float f, g;

Každá proměnná by měla být definována samostatně a

okomentována.

62 www.vsb.cz

Page 59: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Celočíselné konstanty

C umožňuje použít tří typů celočíselných konstant

Desítkové – posloupnost číslic, z nichž první nesmí být 0.

Osmičkové – číslice 0 následovaná posloupností osmičkových

číslic (0-7).

Šestnáctkové – číslice 0 následovaná znakem x a

posloupností hexadecimálních číslic (0-F).

desítková 15, 0, 1

osmičková 065, 015, 01

hexadecimální 0x15, 0x3A

63 www.vsb.cz

Page 60: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Reálné konstanty

Tvoří se podle běžných zvyklostí, mohou začínat a

končit desetinou tečkou a jsou implicitně typu double.

Příklady:

15., 56.8, .84, 3.15, 5e6, 7E23

64 www.vsb.cz

Page 61: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Znakové konstanty

Jsou uzavřeny mezi apostrofy.

Hodnota znakových konstant je odvozena z

odpovídající kódové tabulky – nejčastěji ASCII.

Velikost znakové konstanty je int nikoliv char!

Znak „\“ zpětného lomítka se často nazývá escape

character.

Konstanty uvozené zpětným lomítkem se nazývají

escape sekvence.

65 www.vsb.cz

Page 62: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Globální a lokální proměnná

Definice proměnných se mohou vyskytovat buď vně

(globální proměnná) nebo uvnitř funkce (lokální

proměnná), např:

int i; /* globalni promenna */

int main ()

{

int j; /* lokalni promenna */

}

66 www.vsb.cz

Page 63: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Výraz, přiřazení a příkaz

Výraz má vždy hodnotu (číslo).

Přiřazení je výraz a jeho hodnotou je hodnota na pravé

straně.

Přiřazení se stává příkazem, je-li ukončeno středníkem.

67 www.vsb.cz

česky anglicky symbolicky prakticky

výraz expression výraz i * 2 + 3

přiřazení assigment l-hodnota=výraz j = i * 2 + 3

příkaz statement l-hodnota=výraz; j = i * 2 + 3;

Page 64: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Typy příkazů

j = 5;

d = ‘z’;

f = f + 3.13 * i;

Protože přiřazení je výraz, je možné několikanásobné

přiřazení:

k = j = i = 2;

68 www.vsb.cz

Page 65: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Hlavní program

Hlavní program v C se jmenuje vždy main a musí být v programu vždy uveden –

je to první funkce, která je volána po spuštění programu.

Funkce main je normální funkce v C, která se odlišuje od ostatních pouze tím, že

je vyvolána na začátku programu jako první.

int main () /* bez stredniku */

{

int i, j;

i = 5;

j = j + 2 * i;

return 0;

}69 www.vsb.cz

Page 66: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Složený příkaz

Složený příkaz je seznam příkazů:

{

i = 5;

j = 6;

}

70 www.vsb.cz

Page 67: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Aritmetické výrazy

Výraz ukončený středníkem se stává příkazem

i = 2

i = 2;

71 www.vsb.cz

Page 68: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Unární operátory

Jsou to unární mínus a unární plus. Oba se používají v

běžném významu.

Speciální unární operátory:

inkrement + +

dekrement - -

Oba operátory se dají použít jako prefix, tak jako sufix s

odlišným významem:

++vyraz – inkrementování před použitím

vyraz++ - inkrementování po použití

72 www.vsb.cz

Page 69: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Binární operátory

Sčítaní +

Odečítání -

Násobení *

Dělení /

Dělení modulo %

Typy dělení:

int/int celočíselné

int/float reálné

float/int reálné

float/float reálné73 www.vsb.cz

Page 70: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Příkaz if a if-else

if ( <podminka1> )

<prikaz>;

if ( <podminka2> )

<prikaz1>;

else <prikaz2>;

74 www.vsb.cz

podminka1 procesnenula

nula

podminka2 proces1nenula

nula proces2

Page 71: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Iterační příkazy - cykly

Jazyk C umožnuje použít tři příkazy pro iteraci:

while

for

do-while

Příkazy break a continue lze použít ve všechny typech

cyklů a oba nějakým způsobem mění provádění cyklů.

Break – ukončuje nejvnitřnější neuzavřenou smyčku –

opouští okamžitě cyklus.

Continue – skáče na konec nejvnitřnější neuzavřené

smyčky a tím vynutí další iteraci smyčky – cyklus

neopouští.

75 www.vsb.cz

Page 72: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Cykly

76 www.vsb.cz

podminkaprikaz nula

nenula

continue

break

podminka prikaznenula

nula

continue

break

podminkavyraz1 proces vyraz2nenula

nula

break

continue

FOR

WHILE

DO-WHILE

Page 73: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Syntaxe

// Cyklus do-while

do {

<prikaz>;

} while (<podminka>)

// Cyklus while

while (<podminka>) {

<prikaz>;

}

// Cyklus for

for (<vyraz1>; <podminka>; <vyraz2>) {

<prikaz>;

}

77 www.vsb.cz

Page 74: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Switch

switch (<vyraz>) {

case <case1> :

<prikaz1>;

break;

case <case2> :

<prikaz2>;

break;

case <case3> :

<prikaz3>;

break;

default :

<prikaz4>;

break;

78 www.vsb.cz

vyraz

prikaz1

prikaz2

prikaz3

prikaz4

case1

case2

case3

default

Page 75: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Příkaz goto

Příkaz goto se v dobře napsaných programech používá

málokdy, protože ve strukturovaném jazyku, se mu lze

vždy vyhnout.

Jedno z mála seriózních použití je výskok z vnořených

cyklů.

79 www.vsb.cz

Page 76: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Příkaz return

Narazí-li provádění programu na příkaz return, ukončí

se provádění funkce, která tento příkaz obsahuje.

Ve funkci main() ukončí příkaz return celý program.

Často se pomocí return vrací hodnota, jejíž typ záleží

na typu funkce.

80 www.vsb.cz

Page 77: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Děkuji za pozornost

81 www.vsb.cz

Page 78: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Přednáška 4

82

Page 79: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Náplň přednášky 4

Typová konverze

Preprocesor

Funkce

Pointery

Pole, struktury, uniony

83 www.vsb.cz

Page 80: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Typová konverze

Pod pojmem typová konverze se míní převod

proměnné určitého typu na typ jiný.

Jazyk C rozeznává dva druhy typové konverze

Implicitní – samovolná či automatická

Explicitní – vyžadovaná či požadovaná

84 www.vsb.cz

Page 81: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Implicitní typová konverze

Implicitní typová konverze má tyto základní pravidla:

Před vykonáním operace se samostatné operandy základních

datových typů konvertují takto:

Kdykoliv se objeví typ char nebo short int, konvertuje se na typ int. Totéž

platí pro typ float, který se konvertuje na typ double.

Všechny operandy unsigned char a unsigned short se konvertují na int

pouze tehdy, když typ int může reprezentovat jejich hodnotu. Jinak se

konvertují na unsigned int.

85 www.vsb.cz

Page 82: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Implicitní datová konverze

Mají-li dva operandy jedné operace různý typ, pak je typ

operandu s nižší prioritou konvertován na typ s prioritou vyšší,

podle následující hierarchie (kde int má nejnižší hodnotu).

int => unsigned int

unsigned int = > long

long = > unsigned long

unsigned long = > double

double => long double

V přiřazovacích výrazech je typ na pravé straně konvertován

na typ z levé strany.

86 www.vsb.cz

Page 83: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Explicitní datová konverze

Na rozdíl od implicitní konverze, kterou nejsme schopni

v podstatě ovlivnit, můžeme explicitní konverzi využívat

téměř dle libosti.

Explicitní konverze se též nazývá přetypování (casting

nebo typecasting) a má formu:

(typ) výraz

která znamená, že výraz (nebo proměnná) je v čase

překladu konvertován na požadovaný typ.

87 www.vsb.cz

Page 84: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Preprocesor jazyka C

Činnost preprocesoru se dá shrnout do několika

základních bodů:

Zpracovává text programu před použitím překladače.

Nekontroluje syntaktickou správnost programu.

Provádí pouze záměnu textů, např. identifikátorů konstant za

odpovídající číselné hodnoty.

Vypustí ze zdrojového textu všechny komentáře.

Připravuje podmíněný překlad.

Řádka, která je určena pro zpracování preprocesorem

musí začínat znakem „#“. Znak „#“ by měl být jako první

znak na řádce a za nám by neměla být mezera.88 www.vsb.cz

Page 85: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Konstrukce preprocesoru

Definování makra#define jmeno_makra libovolny text rozvoje

Zrušení definice makra#undef jmeno_makra

Podmíněný překlad v textu v závislosti na hodnotě#if konst_vyraz

#elif #else #endif

Vložení textu ze specifikovaného souboru v adresáři uživatele#include “filename”

Vložení textu ze specifikovaného souboru ze systémového adresáře#include <filename>

Podmíněný překlad textu v závislosti na tom, zda je makro definováno nebo nedefinováno#ifdef jmeno_makra

#elif #else #endif

Podmíněný překlad textu v závislosti na tom, zda je makro nedefinováno nebo definováno#ifndef jmeno_makra

#elif #else #endif

Výpis chybových zpráv během procesingu#error Chybova zprava

89 www.vsb.cz

Page 86: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Makra bez parametrů

Makra bez parametrů, známější pod názvem

symbolické konstanty, se využívají velmi často, protože

zbavují program magických čísel.

Většinou jsou konstanty definovány na začátku

programu (modulu). Jejich rozumné použití také

významně zvyšuje modularitu programu.

Náhrada konstanty skutečnou hodnotou se nazývá

rozvoje (expanzí) nebo též substitucí makra.

90 www.vsb.cz

Page 87: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Pravidla symbolických konstant

Pro psaní symbolických konstant platí následující pravidla:

Jména konstant jsou z konvence psána vždy VELKÝMI

PÍSMENY.

Jméno konstanty je od její hodnoty odděleno alespoň jednou

mezerou.

Za hodnotou může a měl by být komentář.

Nové konstanty mohou využívat již dříve definovaných

konstant.

Pokud je hodnota konstanty delší než řádka, musí být na konci

řádky znak „\“, který se do makra nerozvine.

91 www.vsb.cz

Page 88: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Makra s parametry

Při řešení programů se často vyskytne případ, kdy

mnohokrát používáme nějakou funkci, která je velmi

krátká.

Takovou funkci lze samozřejmě bez problému napsat,

ale pak nastává problém s efektivitou programu.

Je-li funkce velmi krátká, je někdy její režie (předání

parametrů, úschova návratové adresy, skok do funkce,

návrat z funkce do místa volání a výběr použitých

parametrů) delší než samostatný kód funkce.

Makra s parametry toto řeší za cenu delšího programu.

92 www.vsb.cz

Page 89: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Makra s parametry

Makra s parametry se též někdy nazývají vkládané

funkce (in-line functions), protože, na rozdíl od

skutečných funkcí, se makra s parametry nevolají, ale

před překladem nahradí preprocesor jméno makra

konkrétním textem.

Praktické využití je jen pro velmi krátké akce, kdy by

administrativa funkce trvala srovnatelnou dobu s

vlastním výpočtem funkce.

Syntaxe je následující:#define jmeno_makra(arg1, … , argN) hodnota_makra

Syntaxe volání je následující:jmeno_makra (par1, … , parN)

93 www.vsb.cz

Page 90: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Vkládání souborů – příkaz include

Vkládání souborů se používá v jazyce C velmi často – v

podstatě vždy.

Příkaz include způsobí, že obsah zdrojového souboru

bude „nakopírován“ do „volajícího“ souboru do místa,

kde se nachází příkaz include.

94 www.vsb.cz

Page 91: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Vkládané soubory

Soubory, které se dají vkládat pomocí příkazu include,

mohou být libovolné textové soubory.

Vkládání hlavičkových souborů je velmi užitečný

mechanismus, jak program sestávající se z více

souborů udržet čitelný.

Například všechny definice konstant využívané více

soubory s uvedou pouze jednou do souboru typu h,

který se pomocí #include připojí do všech souborů.

95 www.vsb.cz

Page 92: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Standardní hlavičkové soubory

Každá implementace překladače C má několik

standardních .h souborů a v každém z těchto souborů

je popsána část funkcí a konstant ze standardní

knihovny.

Soubor stdio.h obsahuje kromě definic základních

vstupních a výstupních funkcí také definice rozličných

konstant a typů.

V .h souborech nejsou uvedeny celé zdrojové texty

příslušných funkcí, ale pouze jejich hlavičky (funkční

prototypy).

96 www.vsb.cz

Page 93: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Oddělený překlad souborů

Vkládání souborů by nemělo být zaměňováno s

odděleným překladem souborů. Je-li program dělen do

více souborů, které se pomocí #include vloží do

jednoho souboru, vznikne po překladu pouze jeden

.OBJ soubor.

Oddělený překlad znamená, že se každý soubor přeloží

zvlášť – vznikne tedy několik .OBJ souborů, a ty se

spojí do jednoho souboru až pomocí linkeru.

97 www.vsb.cz

Page 94: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Funkce a práce s pamětí

Jazyk C je založených na funkcích.

Pro triviální programy stačí pouze jedna funkce main(),

ale takových programů je velmi málo.

Většina programů využívá větší či menší počet funkcí.

98 www.vsb.cz

Page 95: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Přehled základních pojmů

Deklarace identifikátoru – specifikace jména

identifikátoru a jeho typu. Žádná alokace paměti pro

příslušný typ se neprovádí.

Definice identifikátoru – kompletní specifikace

identifikátoru včetně typu. V tomto místě překladač

generuje požadavek na alokaci paměti pro příslušný

typ.

Pole působnosti identifikátoru – část programu, ve které

je identifikátor definován nebo deklarován.

Existence identifikátoru – časový interval, během

kterého pracuje v poli působnosti identifikátoru.

99 www.vsb.cz

Page 96: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Přehled základních pojmů

Statická globální proměnná – má stejný význam jako

globální proměnná, pouze má uvedeno klíčové slovo

static, které omezuje její viditelnost je na část programu.

Statická lokální proměnná – proměnná, jejíž existence

začíná při vstupu do funkce, v niž je definována, a končí

s ukončením programu, přičemž je dostupná pouze z

funkce, kde je definována. Překladač ji uloží do datové

oblasti paměti.

Lokální proměnná – překladač ji uloží do zásobníku.

100 www.vsb.cz

Page 97: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Alokace paměti

Každá proměnná musí mít během své existence

přidělen paměťový prostor, který odpovídá velikosti a

typu proměnné.

Jméno proměnné je vlastně symbolická adresa tohoto

paměťového prostoru.

Akce, která vyhrazuje paměťový prostor se nazývá

alokace, přičemž rozeznáváme dva typy alokací:

Statická a dynamická.

101 www.vsb.cz

Page 98: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Funkce

Program v C obsahuje jednu nebo více definic funkcí, z

nichž jedna se musí vždy jmenovat main().

Abychom odlišili jméno proměnné od jména funkce,

budeme důsledně uvádět za jménem funkce závorky.

Zpracování programu začíná voláním funkce main() a

končí opuštěním této funkce.

Všechny funkce v C jsou skutečné funkce, čili vrací

hodnotu. Dají se však použít i jako procedury.

102 www.vsb.cz

Page 99: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Definice funkce

Definice funkce určuje jak hlavičku funkce, tak i její tělo,

zatímco deklarace funkce specifikuje pouze hlavičku

funkce, tj. jméno funkce, typ návratové hodnoty a

případně i typ a počet jejích parametrů.

Hlavička funkce není ukončena středníkem.

Tělo funkce je uzavřeno do složených závorek naprosto

stejně jako u funkce main().

Funkce, která nemá žádné parametry, musí být

definována i volána včetně obou kulatých závorek.

103 www.vsb.cz

Page 100: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Procedury a datový typ void

Formálně sice v jazyce C procedury neexistují, ale jsou

dvě cesty jak to obejít.

Funkce návratovou hodnotu sice vrací, ale nikdo jí

nechce. Typický příklad je čekání na stisk klávesy

pomocí funkce getchar().

Funkce se definuje jako funkce vracející typ void. Příkaz

return poté není nutný a používá se pouze pro nucené

ukočení funkce před dosažením jejího konce.

104 www.vsb.cz

Page 101: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Parametry funkcí

Jazyk C umožňuje pouze jeden způsob předávání

parametrů a to hodnou.

To má výhodu, že skutečným parametrem může být i

výraz, ale nevýhodu, že skutečné parametry nemohou

být ve funkce změněny, ale pouze čteny.

Jakákoliv změna parametrů uvnitř funkce je pouze

dočasná, a po opuštění funkce se ztrácí.

Jazyk C umožňuje využít pointery, pomocí nichž se řeší

volání odkazem. Trvalá změna skutečných parametrů

uvnitř funkce je možná, ale není přímočará.

105 www.vsb.cz

Page 102: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Globální a lokání proměnné

Globální deklarace jsou deklarace proměnných, které

jsou definovány v jiných souborech.

Protože jsou tyto deklarace často specifikovány

použitím klíčového slova extern, nazývají se též často

externí deklarace.

Globální definice definují proměnné, jejichž rozsah

platnosti je od místa definice do konce souboru.

Lokální definice definují proměnné, jejichž rozsah

platnosti je od místa definice do konce funkce, ve které

jsou definovány.

106 www.vsb.cz

Page 103: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Inicializace proměnných

Lokální proměnné nejsou automaticky inicializovány –

jejich hodnota je vždy náhodná.

Globální proměnné jsou implicitně inicializovány na

nulu. Je však dobrým zvykem na toto nespoléhat a u

všech proměnných, které mají být inicializovány, tuto

inicializaci výslovně uvést.

107 www.vsb.cz

Page 104: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Paměťové třídy

Kromě rozličných typů, mohou být proměnné uvedeny i

v různých paměťových třídách.

Paměťové třídy určují, ve které části paměti bude

proměnná kompilátorem umístěna, a také, kde všude

bude viditelná.

Jazyk C rozeznává tyto paměťové třídy:

auto

extern

static

register

108 www.vsb.cz

Page 105: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Třída auto

O těchto proměnných se často hovoří jako o

automatických. Je to implicitní paměťová třída pro

lakální proměnné.

Je-li proměnná definovaná uvnitř funkce bez určení typu

paměťové tříd, je její implicitní typ právě auto a

proměnná je uložena v zásobníku.

Proměnná typu auto existuje od vstupu do funkce a

zaniká při výstupu.

Při každém vstupu do funkce má náhodnou hodnotu.

109 www.vsb.cz

Page 106: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Třída extern

Je to implicitní paměťová třída pro globální proměnné.

Tyto proměnné jsou uloženy v datové oblasti.

Klíčové slovo extern se používá při odděleném překladu

souborů, kdy je třeba, aby dva a více souborů sdílelo

tutéž proměnnou. Tato globální proměnná je v jednom

souboru definována bez klíčového slova extern a ve

všech ostatních musí být deklarována s použitím

extern.

110 www.vsb.cz

Page 107: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Třída static

Pro tuto třídu neexistuje žádná implicitní definice, čili

klíčové slovo static musí být při definici vždy uvedeno.

Proměnné této třídy jsou uloženy v datové oblasti.

Má dvě oblasti použití:

Pro globální proměnné nebo funkce, což má ten význam, že

jsou viditelné pouze v modulu, ve kterém jsou definovány.

Pro lokální proměnné, kdy paměťovou třídu static využívají

lokální proměnné, které si ponechávají svoji hodnotu i mezi

jednotlivými voláními této funkce.

111 www.vsb.cz

Page 108: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Třída register

Programátor může požadovat, aby některá proměnná

nebyla uložena v operační paměti, ale pouze v registru

procesoru.

To má výhodu mnohem rychlejšího přístupu k

proměnné.

112 www.vsb.cz

Page 109: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Typové modifikátory

Libovolná proměnná určitého datového typu může být

ještě modifikována typovým modifikátorem.

typové modifikátory rozeznává jazyk C dva:

const

volatile

113 www.vsb.cz

Page 110: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Modifikátor const

Jeho použití specifikuje, že definovanému objektu

nesmí být po jeho inicializaci již měněna hodnota.

Nejčastěji je const využíván při definici formálních

parametrů funkce.

114 www.vsb.cz

Page 111: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Modifikátor volatile

Modifikátor volatile upozorňuje kompilátor, že takto

definovaná proměnná může být modifikována nějakou

blíže nespecifikovanou asynchronní událostí.

Kompilátor tedy nemůže činit žádné závěry o možnosti

změny nebo konstantnosti této proměnné např. pro

účely optimalizace.

115 www.vsb.cz

Page 112: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Pointery

Pointer je proměnná jako každá jiná, pouze hodnota v

této proměnné uložená má odlišný význam od hodnot

proměnných, na které jsme byli dosud zvyklí.

Pointer představuje adresu v paměti a na této adrese se

teprve ukrývá příslušná hodnota.

Pointer je vždy svázán s datovým typem. Správně by se

mělo místo termínu „pointer“ vždy uvádět „pointer na typ

…“

116 www.vsb.cz

Page 113: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Dereferenční operátor

Pomocí operátoru * můžeme jednat získat obsah na na

adrese, na níž ukazuje pointer.

Je možná i opačná akce, tedy zapsání hodnoty na tuto

adresu.

117 www.vsb.cz

Page 114: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Referenční operátor

K práci s pointery musíme znát způsob získání adresy

již definované proměnné.

Adresa libovolné proměnné se dá získat pomocí

referenčního operátoru &.

int i, *p_i = &i;

p_i = &i;

118 www.vsb.cz

Page 115: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Jednorozměrná pole

Pole je datová struktura složená ze stejných prvků.

Pole v jazyce C nemají dolní volitelnou mez, tedy dolní

mez pole je vždy 0.

Jazyk C zásadně nekontroluje meze polí!

119 www.vsb.cz

Page 116: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Vícerozměrná pole

Jazyk C umožňuje, aby pole mělo více dimenzí než jen

jednu.

Nejčastěji se používají dvoudimenzionální pole

(tabulky), ale i troj a vícerozměrná pole jsou také

možná.

Pro vícerozměrná pole platí, že všechny indexy začínají

od nuly.

120 www.vsb.cz

Page 117: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Struktury

Zatímco pole je homogenní datový typ, je struktura

datový typ heterogenní.

Heterogenní znamená, že datový typ je složen z

datových prvků různých typů, což je ale jeho vnitřní

záležitost, protože navenek vystupuje jako jednolitý

objekt.

121 www.vsb.cz

Page 118: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Výčtový typ

Výčtový typ má sice podobnou konstrukci jako struktura, ale zcela jinou filosofii

práce.

Pomocí něho lze snadno definovat seznam symbolických konstant

Výčtový typ lze opět definovat různými způsoby, z nichž preferujeme vždy definici

pomocí typedef:

typedef enum {

MODRA, CERVENA, ZELENA, ZLUTA

} BARVY;

BARVY c, d;

c = MODRA;

d = CERVENA;

122 www.vsb.cz

Page 119: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Uniony

Datový typ union znamená, že se vyhradí paměť pro

největší položku ze všech položek v unionu

definovaných.

Všechny položky unionu se překrývají, což znamená,

že v unionu může být v jednom okamžiku pouze jedna

položka.

Uniony se v praxi používají málokdy a použijí-li se, měl

by pro to být skutečný důvod.

Jedním z důvodů může být potřeba šetřit paměť a union

se tedy používá hlavně ve velkých polích.

123 www.vsb.cz

Page 120: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Operace s jednotlivý bity

Pro účely manipulace s bity C poskytuje 6 operátorů:

& - bitový součin

| - bitový součet

^ - bitový exklusivní součet

<< - posun doleva

>> - posun doprava

~ - jedničkový doplněk

124 www.vsb.cz

Page 121: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Děkuji za pozornost

125 www.vsb.cz

Page 122: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Přednáška 5

126

Page 123: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Náplň přednášky 5

Konstrukce mikrokontroléru.

Vnitřní struktura procesoru, mapa paměti, zásobník,

adresní mody, konfigurační registry, generátor

systémových hodin, jednotky rozhraní, ochranné

obvody procesoru.

Mikroprocesorová rozhraní a jejich programování pro

řízení – číslicové vstupy a výstupy.

127 www.vsb.cz

Page 124: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Datasheet

Všechny důležité informace

lze nalézt v datasheetu

Každý mikrokontrolér má

unikátní konstrukci

Mezi jednotlivými řadami

existují společné prvky

128 www.vsb.cz

Page 125: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Mapa paměti

129 www.vsb.cz

Page 126: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Zásobník

Zásobník je v informatice obecná datová struktura (tzv.

abstraktní datový typ) používaná pro dočasné ukládání

dat. Také se používá anglický výraz stack.

Pro zásobník je charakteristický způsob manipulace s

daty - data uložena jako poslední budou čtena jako

první. Proto se používá také výraz LIFO z anglického

„Last In – First Out“.

Pro manipulaci s uloženými datovými položkami se

udržuje tzv. ukazatel zásobníku, který udává relativní

adresu poslední přidané položky, tzv. vrchol zásobníku.

130 www.vsb.cz

Page 127: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Princip zásobníku

131 www.vsb.cz

Page 128: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Generátor hodin

je řízen krystalovým oscilátorem umístěným na základní

desce

generuje hodinové impulzy pro CPU

generuje signál RESET

132 www.vsb.cz

Page 129: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Registry procesoru

133 www.vsb.cz

Page 130: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Watchdog timer

Watchdog nebo Watchdog timer, zkráceně WDT (z angličtiny –

„hlídací pes“) je počítačová periferie, která resetuje systém při jeho

zaseknutí (deadlocku). K zaseknutí systému může dojít v

důsledku chyby v hardware nebo software systému.

Program (většinou v hlavní smyčce) periodicky signalizuje

watchdogu svůj chod. To se může dít např. zápisem servisního

impulsu do watchdogu, v případě některých jednočipových

mikropočítačů také provedením speciální strojové instrukce.

Pokud systém určitý čas nesignalizuje chod (typicky milisekundy

až sekundy), pak watchdog způsobí reset systému.

134 www.vsb.cz

Page 131: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Elektrické vlastnosti

135 www.vsb.cz

Page 132: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Bitový a bajtový přístup

V CodeWarrior lze přistupovat k registrům buď bitově

nebo bajtově.

Příklady:

PTAD = 0b00001111;

PTAD_PTAD1 = 0;

136 www.vsb.cz

Page 133: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Napěťové úrovně digitálního portu

137 www.vsb.cz

Page 134: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

TTL

138 www.vsb.cz

LVstupy

Výstupy

0 1 2 3 4 5

H

L H

-0,5 0,8 2 5,5

0 0,4 2,4 5

[V]

[V]

[V]

Page 135: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Level shiffter

139 www.vsb.cz

PORT A

bit 0

MCU

Zařízení 1

Data

PORT A

bit 1

Data

Zařízení 2

Level

shifter

5 V

5 V

5 V

3.3 V

Page 136: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Zesilovač

140 www.vsb.cz

PORT A

bit 0

MCU

R

U

DUD

UCE

IB

RB

UCC

IC

PORT A

bit 0

MCU

R

U

DUD

UR

RD

UCC

Page 137: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Pull-up, Pull-down

Pull up rezistor. Na každém logickém vstupu musí být definovaná

log. úroveň. V případě nezapojeného vstupu nebo vstupu, ke

kterému je připojena vysoká impedance, může dojít k

neočekávaným stavům.

Pull up rezistor slouží k udržení logické hodnoty „1“

141 www.vsb.cz

Page 138: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Ošetření zákmitů

142 www.vsb.cz

PORT A

bit 0MCU

RP

U

UCC

RF

CFD

Page 139: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Děkuji za pozornost

143 www.vsb.cz

Page 140: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Přednáška 6

144

Page 141: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Náplň přednášky 5

Přerušovací systém – zdroje, způsob zpracování,

čítače, časovače, pulsně šířková modulace.

145 www.vsb.cz

Page 142: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Přerušení

Přerušení (anglicky interrupt) je v informatice metoda pro

asynchronní obsluhu událostí, kdy procesor přeruší vykonávání

sledu instrukcí, vykoná obsluhu přerušení a pak pokračuje v

předchozí činnosti.

Původně přerušení sloužilo k obsluze hardwarových zařízení,

které tak signalizovaly potřebu obsloužit (tj. odebrat z vyrovnávací

paměti data nebo naopak do ní další data nakopírovat, odtud

označení vnější přerušení).

Později byla přidána vnitřní přerušení, která vyvolává sám

procesor, který tak oznamuje chyby vzniklé při provádění

strojových instrukcí a synchronní softwarová přerušení vyvolávaná

speciální strojovou instrukcí, která se obvykle používají pro

vyvolání služeb operačního systému.

146 www.vsb.cz

Page 143: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Obsluha přerušení

Přijde-li do procesoru signalizace přerušení, je v případě, že obsluha přerušení je

povolena, nejprve dokončena právě rozpracovaná strojová instrukce.

Pak je na zásobník uložena adresa následující strojové instrukce, která by měla

být zpracována, kdyby k přerušení nedošlo.

Pak je podle tabulky přerušení vyvolána obsluha přerušení, která obslouží

událost, kterou přerušení vyvolalo.

Obsluha přerušení je zodpovědná za to, aby na jeho konci byl uveden stav

procesoru do stavu jako na jejím začátku, aby výpočet přerušené úlohy nebyl

ovlivněn, což se z důvodu vyšší rychlosti obvykle dělá softwarově (některé

procesory umožňují uložit svůj stav pomocí speciální strojové instrukce).

Na konci obsluhy přerušení je umístěna instrukce návratu (RET, někdy speciální

IRET), která vyzvedne ze zásobníku návratovou adresu a tak způsobí, že z této

adresy bude vyzvednuta následující strojová instrukce.

Přerušená úloha tak až na zpoždění nepozná, že proběhla obsluha přerušení.

147 www.vsb.cz

Page 144: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Vnitřní přerušení

Vnitřní přerušení vyvolává sám procesor, který tak

signalizuje problémy při zpracování strojových instrukcí

a umožňuje operačnímu systému na tyto události

nejvhodnějším způsobem zareagovat.

Jedná se například o pokus dělení nulou, porušení

ochrany paměti, nepřítomnost matematického

koprocesoru, výpadek stránky a podobně.

148 www.vsb.cz

Page 145: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Vnější přerušení

Vnější přerušení (též hardwarové přerušení) je označováno

podle toho, že přichází ze vstupně-výstupních zařízení (tj. z

pohledu procesoru přicházejí z vnějšku).

Vstupně-výstupní zařízení tak má možnost si asynchronně

vyžádat pozornost procesoru a zajistit tak svoji obsluhu ve

chvíli, kdy to právě potřebuje bez ohledu na právě

zpracovávanou úlohu.

Vnější přerušení jsou do procesoru doručována

prostřednictvím řadiče přerušení, což je specializovaný

obvod, který umožňuje stanovit prioritu jednotlivým

přerušením, rozdělovat je mezi různé procesory a další

související akce.

149 www.vsb.cz

Page 146: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Softwarové přerušení

Softwarové přerušení je speciální strojová instrukce.

Tento typ přerušení je na rozdíl od druhých dvou typů synchronní,

je tedy vyvoláno zcela záměrně umístěním příslušné strojové

instrukce přímo do prováděného programu.

Jedná se o podobný způsob, jako vyvolání klasickému

podprogramu, avšak procesor se může zachovat jinak.

Instrukce softwarového přerušení se proto využívá pro vyvolání

služeb operačního systému z běžícího procesu (tzv. systémové

volání).

150 www.vsb.cz

Page 147: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Vektor přerušení

Vektor přerušení je adresa paměti handleru přerušení

nebo index pole tabulky vektorů přerušení, která

obsahuje paměťové adresy přerušení.

151 www.vsb.cz

Page 148: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Obsluha přerušení

Obsluha přerušení Uložení registrů CPU do zásobníku

(CCR, SP, PC, A, Index)

Nastavení bitu I v CCR pro

zamaskování dalších přerušení

Vyvolat vektor přerušení s nejvyšší

prioritou

Naplnit frontu instrukcí prvními třemi

byte dle informace z vektoru

přerušení

Provedení přerušení Instrukce obslužné rutiny

Konec přerušení instrukce return-from-interrupt (RTI)

obnovení obsahu

152 www.vsb.cz

Page 149: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Čítač/časovač

Je základní periferií mikrokontrolérů.

Umožňuje základní módy

Input capture

Output compare

PWM

153 www.vsb.cz

Page 150: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Input capture

Je vstupním režimem časovače.

Umožňuje měření délky impulsu dle příslušného

nastavení

154 www.vsb.cz

Page 151: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Output compare

Je výstupní režimem časovače.

155 www.vsb.cz

Page 152: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Časovače

156 www.vsb.cz

Page 153: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Pulsně šířková modulace

Pulsně šířková modulace, neboli PWM (Pulse Width Modulation)

je diskrétní modulace pro přenos analogového signálu pomocí

dvouhodnotového signálu.

Jako dvouhodnotová veličina může být použito například napětí,

proud, nebo světelný tok.

Signál je přenášen pomocí střídy. Pro demodulaci takového

signálu pak stačí dolnofrekvenční propust.

Vzhledem ke svým vlastnostem je pulsně šířková modulace často

využívána ve výkonové elektronice pro řízení velikosti napětí nebo

proudu.

Kombinace PWM modulátoru a dolnofrekvenční propusti bývá

rovněž využívána jako levná náhrada D/A převodníku.

157 www.vsb.cz

Page 154: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Perioda a střída

Perioda je doba opakování

U periodických signálů, které

během jedné periody přecházejí

z jedné úrovně do druhé a naopak,

znamená střída poměr časů,

ve kterých je signál v jednotlivých

úrovních

158 www.vsb.cz

Page 155: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Edge aligned vs. Centred aligned

159 www.vsb.cz

Page 156: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Děkuji za pozornost

160 www.vsb.cz

Page 157: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Přednáška 7

161

Page 158: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Náplň přednášky 7

Mikroprocesorová rozhraní a jejich programování pro

řízení - Analogové vstupy a výstupy.

162 www.vsb.cz

Page 159: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Analogový signál

Analogový signál je dán spojitou (nebo po částech

spojitou) funkcí spojitého času. Tím se liší od signálu

diskrétního, který je dán funkcí definovanou pouze v

diskrétních časových okamžicích (a tvoří tak

posloupnosti funkčních hodnot).

Analogové signály můžeme rozdělovat podle média,

kterým jsou přenášeny. Mluvíme tak například o

akustických signálech, elektrických signálech, optických

signálech apod.

163 www.vsb.cz

Page 160: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Digitalizace

Digitalizace signálu (z angl. digital, číslicový) obecně je převod analogového

(spojitého) signálu (např. hlasový projev) do nespojité posloupnosti digitálních

(číselných) údajů, obvykle kódovaných v binární soustavě.

Digitalizací sice vždy dochází ke ztrátě informace, ta však může být téměř

libovolně malá. Záleží jen na hustotě vzorkování a na zvoleném počtu bitů pro

zobrazení jednotlivých vzorků.

Digitalizovaný signál je naproti tomu velmi odolný proti šumu a dalším

nežádoucím změnám a dá se dobře přenášet, uchovávat a neomezeně

reprodukovat bez ztráty informace.

Ve stejném digitálním formátu lze také zobrazovat informace znakové (text), zvuk

i obraz a různě je kombinovat.

Problémem zůstává trvanlivost datových nosičů a rychlé změny datových

formátů.

164 www.vsb.cz

Page 161: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Shannonův teorém

Shannonův teorém (Nyquistův teorém, Kotělnikovův

teorém, Nyquistův-Shannonův teorém, Shannonův-

Nyquistův-Kotělnikovův teorém, apod.)

„Přesná rekonstrukce spojitého, frekvenčně omezeného,

signálu z jeho vzorků je možná tehdy, pokud byl

vzorkován frekvencí alespoň dvakrát vyšší, než je

maximální frekvence rekonstruovaného signálu.“

165 www.vsb.cz

Page 162: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Praktické použití

V praxi se tedy vzorkovací frekvence volí dvakrát větší

plus ještě malá rezerva než je maximální požadovaná

přenášená frekvence.

V telekomunikacích je to např. 8 kHz neboť je třeba

přenášet pouze signály ve standardním telefonním

pásmu (od 0,3 do 3,4 kHz zaokrouhleno směrem

nahoru 4 kHz).

Například u záznamu na CD je to 44,1 kHz neboť

průměrné zdravé lidské ucho slyší maximálně cca do

20 kHz a tudíž vzorkovací frekvence 44,1 kHz byla

zvolena s určitou rezervou.

166 www.vsb.cz

Page 163: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Aliasing

Aliasing je jev, ke kterému může docházet v situacích, kdy se

spojitá informace převádí na diskrétní (nespojitou).

Takový převod se nazývá vzorkování, a aby nedocházelo k

aliasingu, musí být vzorkovací frekvence větší než dvojnásobek

nejvyšší frekvence harmonických složek obsažených ve

vzorkovaném signálu . Pokud tuto podmínku nesplňuje, dochází k

překrytí frekvenčních spekter vzorkovaného signálu a tedy ke

ztrátě informace.

Slovo aliasing znamenající v češtině falšování přesně vystihuje

jev, ke kterému dojde při nedodržení podmínky Shannonova

teorému. Původní frekvence spojité informace je totiž vzorkováním

zcela zfalšována. Známou ukázkou aliasingu je například filmový

záznam nějakého rychle se otáčejícího předmětu (například vrtule

letadla).167 www.vsb.cz

Page 164: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Vzorkování 10 vs 50 minut

168 www.vsb.cz

Page 165: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Výsledek po vzorkování

169 www.vsb.cz

Page 166: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Vzorkování

Vzorkování signálu je proces jeho diskretizace v časové

oblasti.

Vzorkování se provede tím způsobem, že rozdělíme

vodorovnou osu signálu (v našem příkladu je na této

ose čas) na rovnoměrné úseky a z každého úseku

odebereme jeden vzorek (na obrázku jsou tyto vzorky

znázorněny červenými kolečky).

Je přitom zřejmé, že tak z původního signálu ztratíme

mnoho detailů, protože namísto spojité čáry, kterou lze

donekonečna zvětšovat dostáváme pouze množinu

diskrétních bodů s intervalem odpovídajícím použité

vzorkovací frekvenci.170 www.vsb.cz

Page 167: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Kvantování

Kvantování je diskretizace oboru hodnot signálu. Vždy

je to proces ztrátový a nevratný.

Pokud kvantování není dostatečně jemné, vznikají

falešné kvantizační hrany (false contour effect).

Kvantizační šum je typický i pro veškeré digitální

záznamy a přenosy zvuku.

171 www.vsb.cz

Page 168: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Kvantizační šum

Pokud bychom vynesli velikosti chyb od jednotlivých

vzorků do grafu, získali bychom náhodný signál,

kterému se říká kvantizační šum.

Velikost šumu je zvykem vyjadřovat jako poměrné číslo

v decibelech, a sice jako poměr užitečného signálu ku

šumu.

Protože číslo ve jmenovateli zlomku - kvantizační chyba

je u všech lineárních převodníků stejná (interval +1/2 až

-1/2 kvantizační úrovně), závisí velikost kvantizačního

šumu jen na čitateli zlomku, tedy na velikosti užitečného

signálu, což je maximální počet kvantizačních úrovní

daného převodníku.172 www.vsb.cz

Page 169: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Druhy A/D převodníků

Komparační

Aproximační

Integrační

Sigma Delta

173 www.vsb.cz

Page 170: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Komparační A/D převodník

Paralelní A/D převodník je nejrychlejším typem A/D převodníku,

protože převod probíhá v jednom časovém okamžiku.

Kvantování vstupního signálu se vyjadřuje v komparátorech, které

porovnávají vstupní napětí s odstupňovaným referenčním

napětím (vytváří se v odporové síti).

Převodník s rozlišitelností n-bitů obsahuje 2n-1 komparátorů.

Vzorkování vstupního signálu se uskutečňuje zápisem stavu

výstupů komparátorů do klopných obvodů (příchodem

hodinového impulsu).

Dekodér je kombinační obvod, který převádí informaci o

výstupech komparátorů na určitý kód.

174 www.vsb.cz

Page 171: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Komparační A/D převodník

175 www.vsb.cz

Page 172: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Aproximační A/D převodník

Při použití postupné aproximace se zkusmo nastaví jednotlivé váhové bity.

Začíná se bitem MSB a končí bitem LSB.

Na začátku cyklu převodu se nastaví hodnota převodu výstupu

aproximačního registru na 10000000, čemuž odpovídá výstup

zpětnovazebního D/A převodníku UREF/2.

Toto napětí se porovnává v komparátoru s vstupním napětím. Je-li UVST vetší

než UREF/2, ponechá se MSB nastaven na 1, v opačném případě se vrátí na 0.

V druhém kroku se zkusmo nastaví na 1 další váhový bit.

Na výstupu tedy bude 11000000 nebo 01000000, podle výsledku předchozího

kroku.

Opět se porovná zpětnovazební a vstupní napětí a aktuální bit se nastaví na 1

nebo se vrátí na 0, takto se postupuje až k LSB. U tohoto převodníku je doba

převodu nižší než u čítacího převodníku a je nezávislá na vstupním napětí.

Změna vstupního napětí během převodu způsobí chybu, a proto na rozdíl od

čítacího převodníku musí být vstup opatřen vzorkovacím obvodem.

176 www.vsb.cz

Page 173: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Aproximační A/D převodník

177 www.vsb.cz

Page 174: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Integrační převodník

Základem těchto převodníků je integrátor, tzn. výstupem

převodníku je číslo odpovídající průměrné hodnotě

vstupního napětí za určitou dobu.

Vliv průměrování vyžaduje zapojit na vstup vzorkovací

obvod.

Použití integrátoru také potlačuje šumová napětí

vyšších kmitočtů.

Podle funkce rozlišujeme integrační A/D převodníky s

mezipřevodem na kmitočet a s mezipřevodem na

časový interval.

178 www.vsb.cz

Page 175: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Integrační převodník

179 www.vsb.cz

Page 176: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Sigma-Delta převodník

Převodník se skládá ze sigma-delta modulátoru a číslicového filtru.

Základními obvody modulátoru jsou dolní propust (integrátor), napěťový

komparátor a klopný obvod typu D, překlápěný hodinovým signálem

s kmitočtem f0.

Dále je zde zpětnovazební větev s jednobitovým D/A převodníkem, což je vlastně

přepínač dvouhodnotového signálu UREF.

Tento signál se odečítá od vstupního napětí v rozdílovémzesilovači. U

převodníku vzniká kvantizační šum, který je rovnoměrně rozložen v pásmu

spektra kmitočtů od 0 do f0/2, jestliže u číslicového filtru vzorkujeme kmitočtem

f0/K, kde K se nazývá koeficient nevzorkování (bývá 10 - 104), sníží se

efektivní výkon kvantizačního šumu a dojde ke zvýšení efektivního počtu

převodníku.

Sigma-delta převodníky se hodí pro měření stejnosměrných nebo pomalu se

měnících napětí.

180 www.vsb.cz

Page 177: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Sigma-Delta převodník

181 www.vsb.cz

Page 178: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

A/D převodníky v mikrokontrolérech

Nejčastěji aproximační AD převodníky

Běžně 8-10bitů

Doba převodu x10us až x1us

Reference L a H

Vstupy dle napájení uC – 3.3V nebo 5V.

Některé 3.3V mají 5V tolerantAD převodník závisí na referenčních

úrovních

Většina obsahuje multiplexer pro 8 vstupů, které jsou sdílena s IO

bránou a S-H obvod

Integrovány 1-2 AD převodníky

U některých čipů mohou sousední vstupy pracovat v diferenčním

režimu.

182 www.vsb.cz

Page 179: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

D/A převodníky

Digitálně-analogové převodníky s váhovými rezistory

Digitálně-analogové převodníky se žebříčkovou sítí

rezistorů R-2R

183 www.vsb.cz

Page 180: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Analogové výstupy

Klasický DA převodník výjimečně (Freescale HCS08

nebo 12 pouze jedna rodina - MC9S12E)

Využívá se především PWM signál – Využíváme

střední hodnoty PWM signálu

184 www.vsb.cz

Page 181: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Děkuji za pozornost

185 www.vsb.cz

Page 182: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Přednáška 8

186

Page 183: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Náplň přednášky 8

Komunikace v řídicích systémech. Paralelní a sériové

rozhraní. Průmyslové komunikační sítě. RS232, SPI,

I2C, USB, CAN, LIN, Ethernet.

187 www.vsb.cz

Page 184: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Komunikační rozhraní

Dělíme na:

Sériové

Paralelní

Dělíme na:

Drátové

Bezdrátové

188 www.vsb.cz

Page 185: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Duplexní spojení

Duplexní spojení (duplex, obecně duplexní systém) je

taková komunikace (popř. přenos dat) mezi dvěma

subjekty, při které mohou data putovat oběma směry

současně.

Lze rozlišit dva druhy duplexního spojení:

poloviční duplex

plný duplex.

189 www.vsb.cz

Page 186: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

USART (UART)

Synchronní / asynchronní sériové rozhraní USART

(Universal Synchronous / Asynchronous Receiver and

Transmitter).

Jde o zařízení pro sériovou komunikaci, které lze

nastavit buď pro asynchronní režim (SCI - např. pro

linky RS232 resp. RS485), anebo pro synchronní režim

(běžně označovaný jako SPI).

190 www.vsb.cz

Page 187: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Vyslání bajtu

Jakmile jsou data zapsána do registru TXREG, všechny

bity jsou přepsány do registru pro vysílání (Transmit

Shift Register).

A odtud jsou dále přeposlány na TX pin, přičemž je jim

přiřazen na začátek start a na konec stop bit.

Použití speciálního registru pro vysílání umožňuje

načítání nových dat do registru TXREG už během

vysílání dat předchozích. To maximálně zefektivňuje

komunikaci.

191 www.vsb.cz

Page 188: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Příjem bajtu

Po detekci start bitu na pinu RX, se další data bit po bitu přesunou

do registru pro příjem (receive shift register).

Po přesunutí posledního bitu se zkontroluje stop bit a data se

pošlou do bufferu, který je předá registru RCREG, pokud je

prázdný.

Tento buffer a registr RCREG jsou dva elementy FIFO. Separátní

použití registru pro příjem a FIFO bufferu poskytuje softwaru k

přečtení doručených dat bez rizika přepsání těchto dat dalšími

doručenými. Je tedy možné obdržet první dva byty a dále přijímat

třetí byte ještě předtím, než jsou data „vytažena“ z registru

RCREG.

192 www.vsb.cz

Page 189: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

RS-232

Standard RS-232, resp. jeho poslední varianta RS-

232C z roku 1969, (také sériový port nebo sériová linka)

se používá jako komunikační rozhraní osobních

počítačů a další elektroniky.

RS-232 umožňuje propojení a vzájemnou sériovou

komunikaci dvou zařízení, tzn. že jednotlivé bity

přenášených dat jsou vysílány postupně za sebou (v

sérii) po jednom páru vodičů v každém směru.

193 www.vsb.cz

Page 190: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Technický popis RS-232

Standard definuje asynchronní sériovou komunikaci pro přenos dat. Pořadí

přenosu datových bitů je od nejméně významného bitu (LSB) po bit

nejvýznamnější (MSB).

Počet datových bitů je volitelný, obvykle se používá 8 bitů, lze se také setkat se 7

nebo 9 bity.

Logický stav „0“/„1“ přenášených dat je reprezentován pomocí dvou možných

úrovní napětí, které jsou bipolární a dle zařízení mohou nabývat hodnot ±5 V,

±10 V, ±12 V nebo ±15 V.

Nejčastěji se používá varianta při které logické hodnotě 1 odpovídá napětí −12 V

a logické hodnotě 0 pak +12 V. Základní tři vodiče rozhraní (příjem RxD, vysílání

TxD a společná zem GND) jsou doplněny ještě dalšími vodiči sloužícími k řízení

přenosu (vstupy DCD, DSR, CTS, RI, výstupy DTR, RTS).

Ty mohou a nemusí být používány (zapojeny), nebo mohou být použity pro

napájení elektronických obvodů v zařízení, jako je například počítačová myš.

Výstupní elektronika je vybavena ochranou proti zkratu, kdy po překročení

proudu 20 mA proud již dále neroste.

194 www.vsb.cz

Page 191: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Logické úrovně RS-232

pro datové signály (tj. RXD a TXD): logická 0 je +3 V až

+15 V, logická 1 je -3 V až -15 V

pro řídící signály (tj. RTS, CTS, DTR, DSR, ...): logická 0

je -3 V až -15 V, logická 1 je +3 V až +15 V

Řídící signály mají tedy opačnou logiku než signály

přenášející data.

195 www.vsb.cz

Page 192: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

MAX232

MAX232 je levný a velmi používaný převodník úrovní

RS-232 (sériová linka) na TTL úrovně.

Jeho nespornou výhodou je, že potřebuje pouze jeden

zdroj napětí a to +5 V, nikoliv +15, -15 a +5 V jako

některé jiné převodníky.

Obsahuje 2 převodníky TTL → RS232 a 2 převodníky

RS232 → TTL.

196 www.vsb.cz

Page 193: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

SPI

SPI (Serial Peripheral Interface) je sériové periferní rozhraní.

Používá se pro komunikaci mezi řídícími mikroprocesory a

ostatními integrovanými obvody (EEPROM, A/D převodníky,

displeje…).

Komunikace je realizována pomocí společné sběrnice. Adresace

se provádí pomocí zvláštních vodičů, které při logické nule aktivují

příjem a vysílání zvoleného zařízení (piny SS nebo CS).

Master - řídí komunikaci pomocí hodinového signálu

určuje, se kterým zařízením na sběrnici bude komunikovat pomocí SS -

Slave Select (někdy CS - Chip Select)

Slave - vysílá podle hodinového signálu, pokud je aktivován

pomocí SS/CS

197 www.vsb.cz

Page 194: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Průběh komunikace

Pro komunikaci Master nastaví log. 0 na SS

zařízení, se kterým chce komunikovat.

Pak začne generovat hodinový signál na SCLK

a v té chvíli vyšlou obě zařízení svoje data,

přičemž MOSI (Master Out, Slave In) je vždy

Master výstup, Slave vstup a MISO (Master In,

Slave Out) je Master Vstup, Slave výstup.

Jakmile jsou data vyslána, může komunikace

dále pokračovat:

Master dále dodává hodinový signál, hodnota SS

se nemění

nebo může být ukončena: Master přestane vysílat

hodinový signál a nastaví SS do log. 1.

Délka vyslaných dat je buď 8bit (Byte) a nebo

16bit (Word).

198 www.vsb.cz

Page 195: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

I2C

I²C (anglicky Inter-Integrated Circuit, čteme I-squared-C,

nesprávně I-two-C) je multi-masterová počítačová

sériová sběrnice vyvinutá firmou Philips, která je

používána k připojování nízkorychlostních periferií k

základní desce, vestavěnému systému nebo mobilnímu

telefonu.

199 www.vsb.cz

Page 196: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Charakteristika I2C

Sběrnice rozděluje připojená zařízení na řídící (master – zahajuje a ukončuje

komunikaci; generuje hodinový signál SCL) a řízené (slave – zařízení adresované

masterem) Sběrnice I²C se hojně používá v různých zařízeních včetně IBM PC

kompatibilních počítačů:

čtení konfiguračních dat z SPD EEPROM v paměťových DIMM modulech (SDR SDRAM, DDR

SDRAM, DDR2)

správa PCI karet pomocí spojení SMBus 2.0

přístup k NVRAM čipům obsahujících uživatelská nastavení (na síťové kartě, řadiči)

přístup k nízkorychlostním D/A aA/D převodníkům

změna kontrastu, teploty barev, vyvážení barev v monitorech (DDC)

změna hlasitosti inteligentních reproduktorů

řízení OLED a LCD displejů mobilních telefonů

čtení údajů o monitorovaných zařízeních (teplota procesoru, rychlost větráčků)

čtení hodin reálného času

zapínání a vypínání napájení systémových komponent

200 www.vsb.cz

Page 197: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

USB

USB (Universal Serial Bus) je univerzální sériová

sběrnice, moderní způsob připojení periferií k počítači.

Nahrazuje dříve používané způsoby připojení (sériový a

paralelní port, PS/2, Gameport apod.) pro běžné druhy

periférií – tiskárny, myši, klávesnice, joysticky,

fotoaparáty, modemy atd., ale i pro přenos dat z

videokamer, čteček paměťových karet, MP3

přehrávačů, externích pevných disků a externích

optických mechanik.

201 www.vsb.cz

Page 198: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Specifikace USB

Maximální délka kabelu mezi sousedními zařízeními je 5 m, jedná se o délku,

která je garantovaná. Delší kabel může být, ale nemusí už správně fungovat

přenos dat. Kabel obsahuje 4 vodiče. Dva jsou pro napájení (5 V a zemnění).

Druhý pár je kroucený a slouží pro přenos dat.

I ta nejnižší přenosová rychlost mnohonásobně překračuje možnosti sériového

portu. (Při porovnání obou portů je však třeba brát v úvahu i to, že jedno

zařízení si nikdy nemůže nárokovat celou šířku pásma.)

Sběrnice USB přináší tu výhodu, že při připojení přídavného rozdělovače

sběrnice (hub) jsou k dispozici tři nové porty.

Celkem je možno na USB připojit až 127 zařízení.

Nevýhodou pro amatérského vývojáře je velká složitost USB. Na straně

přístroje je třeba použít buďto převodník na USB nebo softwarovou knihovnu.

Knihovna komunikuje obvykle jako HID zařízení, která zabere část výpočetního

výkonu a řádově 2 kB programové paměti; dále komunikace vyžaduje

poměrně rychlé taktování mikrokontroleru. Na straně PC je nutný ovladač. Pro

zprovoznění byť jednoduché komunikace je tedy třeba využívat USB knihovny

na obou stranách.

Kdo se chce vážně zabývat vývojem, stojí ještě před další překážkou: každé

zařízení USB má interní číslo dodavatele (vendorlD), které je oficiálně

udělováno organizací USB. Zařízení je možno dodávat na trh jen s platným

VID.202 www.vsb.cz

Page 199: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

CAN-BUS

CAN (Controller Area Network) je sběrnice využívaná

nejčastěji pro vnitřní komunikační síť senzorů a

funkčních jednotek v automobilu, z čehož plyne také

použití pro automobilovou diagnostiku.

Z této aplikační oblasti se CAN rychle rozšířil také do

sféry průmyslové automatizace. Jedná se o sériovou

datovou sběrnici vyvinutou firmou Robert Bosch GmbH.

Elektrické parametry fyzického přenosu jsou

specifikované normou ISO 11898. Maximální teoretická

rychlost přenosu na sběrnici je 1 Mb/s. CAN patří k

průmyslovým komunikačním sítím označovaným jako

provozní sběrnice, fieldbus.203 www.vsb.cz

Page 200: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Protokol CAN-BUS

Síťový protokol detekuje a opravuje přenosové chyby

vzniklé od okolních elektromagnetických polí.

Data se odesílají v rámcích, každý rámec může

obsahovat až 8 datových bajtů.

Každý rámec obsahuje identifikátor, u sběrnice CAN

neexistuje žádná adresa.

Obsah zprávy je dán pouze identifikátorem. Tento

identifikátor definuje obsah přenášené zprávy a zároveň

i prioritu zprávy při pokusu o její odeslání na sběrnici.

Vyšší prioritu mají zprávy s nižší hodnotou identifikátoru.

Jedna zpráva může být přijata několika zařízeními.

204 www.vsb.cz

Page 201: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

LIN

Sběrnice LIN je sériová asynchronní sběrnice používající ke

komunikaci jednovodičové spojení připojených zařízení.

Je navržena pro použití v automobilové technice s ohledem na

minimální cenové náklady spojené s její aplikací.

Nemá za cíl nahradit v automobilech dnes hojně používanou

spolehlivou, robustní a rychlou sběrnicí CAN, ale má pokrýt

množinu aplikací, pro které je použití sběrnice CAN přílišným

luxusem, nebo zatím nebyly z cenových důvodů napojeny na

elektronický řídící systém automobilu.

Cena vynaložená na propojení s lokální sítí automobilu má být 2

až 3 nižší ve prospěch LINu.

205 www.vsb.cz

Page 202: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Vlastnosti LIN

Jedná se o sběrnici typu single-master/multiple-slave, kde jedno řídící zařízení

kontroluje komunikaci s jedním nebo více podřízenými zařízeními. Jednotlivá

napojení na jednovodičovou sběrnici tvoří drátový AND a komunikace probíhá

maximální přenosovou rychlostí až 20 kbit/s.

Ke generování komunikace lze použít hardwarových a softwarových prostředků

běžného UART/SCI interface, přičemž podřízené jednotky (slave) nepotřebují k

činnosti přesný krystalový generátor hodin, ale vystačí např. s RC oscilátorem.

Synchronizaci pro komunikaci totiž provádí řídící zařízení (master) na začátku

každé komunikace.

Výše zmiňované vlastnosti mají příznivý vliv na cenu komunikačních komponent

a umožňují tak snížit cenu i celých jednotlivých zařízení.

Koncepce budičů sběrnice vychází ze standardu ISO 9141 s vylepšeními v

oblasti EMC. Data jsou zabezpečena kontrolním součtem. Hlavička je

zabezpečena dvojicí paritních bitů.

206 www.vsb.cz

Page 203: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Ethernet

Ethernet je v informatice souhrnný název pro v

současné době nejrozšířenější technologie pro

budování počítačových sítí typu LAN.

V současné době se používá zejména verze Ethernetu,

která používá kroucenou dvojlinku (běžná přenosová

rychlost 100 nebo 1000 Mbps), avšak dříve byla velmi

rozšířená též varianta používající koaxiální kabel (10

Mbps). Pomocí kroucené dvojlinky jsou počítače

propojeny do hvězdy, přičemž se jako rozbočovací

prvek používá switch (dříve i hub).

Využívá se TCP/IP protokolu

207 www.vsb.cz

Page 204: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Bezdrátové standardy

Wi-Fi je v informatice označení pro několik standardů IEEE 802.11 popisujících bezdrátovou komunikaci

v počítačových sítích (též WirelessLAN, WLAN). Samotný název WiFi vytvořilo Wireless Ethernet

CompatibilityAliance. Tato technologie využívá bezlicenčního frekvenčního pásma, proto je ideální pro

budování levné, ale výkonné sítě bez nutnosti pokládky kabelů.

Bluetooth je v informatice proprietární otevřený standard pro bezdrátovou komunikaci propojující dvě a

více elektronických zařízení, jako například mobilní telefon, PDA, osobní počítač nebo bezdrátová

sluchátka. Vytvořen byl v roce 1994 firmou Ericsson a míněn jako bezdrátová náhrada za sériové

drátové rozhraní RS-232.

ZigBee je bezdrátová komunikační technologie vystavěná na standardu IEEE 802.15.4. Zigbee je

poměrně novým standardem platným od listopadu 2004. Podobně jako Bluetooth je určena pro spojení

nízkovýkonovýchzařízení v sítích PAN na malé vzdálenosti do 75 metrů. Díky použití multiskokového

ad-hoc směrování umožňuje komunikaci i na větší vzdálenosti bez přímé radiové viditelnosti jednotlivých

zařízení. Primární určení směřuje do aplikací v průmyslu a senzorových sítích.

GSM (Globální Systém pro Mobilní komunikaci, původně však francouzsky „Groupe SpécialMobile“) je

nejpopulárnější standard pro mobilní telefony na světě.

208 www.vsb.cz

Page 205: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Děkuji za pozornost

209 www.vsb.cz

Page 206: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Přednáška 9

210

Page 207: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Náplň přednášky 9

Mikroprocesorová rozhraní a jejich programování pro

řízení - uživatelské rozhraní - displej, klávesnice.

211 www.vsb.cz

Page 208: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Řadič

Řadič je elektronická řídicí jednotka, realizovaná

sekvenčním obvodem, která řídí činnost složitých

periferií

Periferie lze zapojit

Zapojení bez řadiče

Zapojení s řadičem

212 www.vsb.cz

Page 209: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Klávesnice

Maticová klávesnice 4x4

213 www.vsb.cz

Page 210: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Displej

Displej (anglicky display) je zařízení pro zobrazování

informací jako je text nebo obraz v různé podobě. V

elektronických přístrojích slouží k zobrazování různých

údajů

Vyroben:

LCD

LED

CRT

Electronic paper

Plasma (PDP)

OLED

A další …214 www.vsb.cz

Page 211: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Displej bez řadiče

Například sedmi segmentový displej

215 www.vsb.cz

Page 212: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Displej s řadičem

Displej MC1604

216 www.vsb.cz

Page 213: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Rozložení pinů

1. GND (zem)

2. VDDnapájení 5V

3. V0 napětí pro nastavení kontrastu

4. RS výběr přenosu dat nebo příkazu (příkaz=0, data=1)

5. R/W nastavení četní/zápis (čtení=1, zápis=0)

6. E vstup povolení

7. - 14. data/příkaz (dolní bit- 7., horní bit – 14.)

15. anoda podsvícení 5V(+)

16. katoda podsvícení

217 www.vsb.cz

Page 214: Mikroprocesorová a řídicí technika - homel.vsb.czhomel.vsb.cz/~pra132/files/MRT_prednasky_2015_2016.pdf · 1980 -Intel 8051 -8bitový mikroprocesor se základní sadou periferií

Děkuji za pozornost

218 www.vsb.cz